Sample code - set a bid, get a bid, get longers and probable levels

'---VB.Net code example:


Imports EPBot86.EPBot

Module Program

    Public Const C_PASS As Integer = 0

    Public Const C_CLUBS As Integer = 0

    Public Const C_DIAMONDS As Integer = 1

    Public Const C_HEARTS As Integer = 2

    Public Const C_SPADES As Integer = 3

    Public Const C_NT As Integer = 4

    Public Const C_NORTH As Integer = 0

    Public Const C_EAST As Integer = 1

    Public Const C_SOUTH As Integer = 2

    Public Const C_WEST As Integer = 3

    Public Const C_NONE As Integer = 0

    Public Const C_NS As Integer = 2

    Public Const C_WE As Integer = 1

    Public Const C_BOTH As Integer = 3

    Public Const C_FIVE As Integer = 5

    Public Const C_LONGER As String = "AKQJT98765432"

    Public Const F_MIN_HCP As Integer = 102

    Public Const F_MAX_HCP As Integer = 103

    Public Const F_MIN_PKT As Integer = 104

    Public Const F_MAX_PKT As Integer = 105

    Public board(0 To 3, 0 To 3) As Integer

    Public dealers(0 To 15) As Integer

    Public vulnerability(15) As Integer

    Public strain_mark(5) As String

    Private Structure TYPE_HAND

        Dim suit() As String

    End Structure

    Private Sub set_board()

        '---standard number of a board

        board(C_NORTH, C_NONE) = 1

        board(C_EAST, C_NS) = 2

        board(C_SOUTH, C_WE) = 3

        board(C_WEST, C_BOTH) = 4

        board(C_NORTH, C_NS) = 5

        board(C_EAST, C_WE) = 6

        board(C_SOUTH, C_BOTH) = 7

        board(C_WEST, C_NONE) = 8

        board(C_NORTH, C_WE) = 9

        board(C_EAST, C_BOTH) = 10

        board(C_SOUTH, C_NONE) = 11

        board(C_WEST, C_NS) = 12

        board(C_NORTH, C_BOTH) = 13

        board(C_EAST, C_NONE) = 14

        board(C_SOUTH, C_NS) = 15

        board(C_WEST, C_WE) = 16

    End Sub

    Private Sub set_dealers()

        Dim k As Integer

        For k = 0 To 12 Step 4

            dealers(0 + k) = C_NORTH

            dealers(1 + k) = C_EAST

            dealers(2 + k) = C_SOUTH

            dealers(3 + k) = C_WEST

        Next k

    End Sub

    Private Sub set_vulnerability()

        vulnerability(0) = C_NONE

        vulnerability(1) = C_NS

        vulnerability(2) = C_WE

        vulnerability(3) = C_BOTH

        vulnerability(4) = C_NS

        vulnerability(5) = C_WE

        vulnerability(6) = C_BOTH

        vulnerability(7) = C_NONE

        vulnerability(8) = C_WE

        vulnerability(9) = C_BOTH

        vulnerability(10) = C_NONE

        vulnerability(11) = C_NS

        vulnerability(12) = C_BOTH

        vulnerability(13) = C_NONE

        vulnerability(14) = C_NS

        vulnerability(15) = C_WE

    End Sub

    Private Sub set_strain_mark()

        strain_mark(C_CLUBS) = "C"

        strain_mark(C_DIAMONDS) = "D"

        strain_mark(C_HEARTS) = "H"

        strain_mark(C_SPADES) = "S"

        strain_mark(C_NT) = "N"

        strain_mark(5) = ""

    End Sub

    Sub Main(args As String())

        Dim j As Integer, k As Integer, position As Integer, partner_position As Integer, dealer As Integer, vulnerability As Integer, new_bid As Integer

        Dim meaning As String, str_hand As String

        Dim blocks() As String

        Dim subblocks() As String

        Dim suits()() As String

        Dim hand() As TYPE_HAND

        Dim Player(3) As EPBot86.EPBot

        Dim info() As Integer

        Dim probable_levels() As Integer

        ReDim hand(3)

        ReDim suits(3)

        For k = 0 To 3

            ReDim hand(k).suit(3)

        Next


        '---example deal

        str_hand = "Q.K6.AQT6.KQT852 T642.Q982.842.73 AK85.T5.J975.AJ6 J973.AJ743.K3.94"

        blocks = Split(str_hand, " ")

        For k = 0 To 3

            subblocks = Split(blocks(k), ".")

            For i = 0 To 3

                hand(k).suit(i) = subblocks(3 - i)

            Next i

        Next k


        Console.WriteLine("")

        Console.WriteLine("Entered hands:")

        Console.WriteLine("")


        For i = C_SPADES To C_CLUBS Step -1

            Console.WriteLine(vbTab + hand(0).suit(i))

        Next i

        Console.WriteLine("")

        For i = C_SPADES To C_CLUBS Step -1

            Console.WriteLine(hand(3).suit(i) + vbTab + vbTab + hand(1).suit(i))

        Next i

        Console.WriteLine("")

        For i = C_SPADES To C_CLUBS Step -1

            Console.WriteLine(vbTab + hand(2).suit(i))

        Next i

        Console.WriteLine("")




        set_board()

        set_dealers()

        set_vulnerability()

        set_strain_mark()


        '---example

        position = C_NORTH

        dealer = C_EAST

        vulnerability = 1

        meaning = vbNullString


        For k = 0 To 3

            Player(k) = New EPBot86.EPBot

            'Player(k) = New EPBot64.EPBot

        Next k


        With Player(position)

            .new_hand(position, hand(position).suit, dealer, vulnerability)

            .scoring = 0

            meaning = vbNullString


            Console.WriteLine(vbTab & vbTab & "P" & vbTab & "1D")

            Console.WriteLine("1H" & vbTab & "3C" & vbTab & "P" & vbTab & "3H")

            Console.WriteLine("P" & vbTab & "4N" & vbTab & "P" & vbTab & "5H")

            Console.WriteLine("P" & vbTab & "?")


            new_bid = C_PASS

            position = dealer

            .set_bid(position, new_bid)


            new_bid = 1 * C_FIVE + C_DIAMONDS

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)


            new_bid = 1 * C_FIVE + C_HEARTS

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)


            new_bid = 3 * C_FIVE + C_CLUBS

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)


            new_bid = C_PASS

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)


            new_bid = 3 * C_FIVE + C_HEARTS

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)


            new_bid = C_PASS

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)


            new_bid = 4 * C_FIVE + C_NT

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)


            new_bid = C_PASS

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)


            new_bid = 5 * C_FIVE + C_HEARTS

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)


            new_bid = C_PASS

            position = (position + 1) Mod 4

            .set_bid(position, new_bid)



            new_bid = .get_bid


            For k = 0 To 3

                suits(k) = .get_hand(k)

            Next k


            probable_levels = .get_probable_levels()

            Console.WriteLine("")

            Console.WriteLine("Probable hands")

            Console.WriteLine("")


            For i = C_SPADES To C_CLUBS Step -1

                Console.WriteLine(vbTab + suits(0)(i))

            Next i

            Console.WriteLine("")

            For i = C_SPADES To C_CLUBS Step -1

                Console.WriteLine(suits(3)(i) + vbTab + vbTab + suits(1)(i))

            Next i

            Console.WriteLine("")

            For i = C_SPADES To C_CLUBS Step -1

                Console.WriteLine(vbTab + suits(2)(i))

            Next i

            Console.WriteLine("")

            Console.WriteLine("Probable_levels:")

            For k = 4 To 0 Step -1

                Console.WriteLine(CStr(probable_levels(k)) & strain_mark(k))

            Next k

            Console.WriteLine("")


            Console.WriteLine("get_bid = " & CStr(new_bid \ C_FIVE) & strain_mark(new_bid Mod C_FIVE))

            Console.ReadKey()

        End With

    End Sub

End Module