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