📄 main.bas
字号:
Attribute VB_Name = "MainCode"
'MainCode.bas
'主程序
'- - - - - - - - - - - - - - - - - - - - - - - - - -
Option Explicit
'程序入口
'Entrance of GoRobotVB
Sub Main()
Have_Init_All = False
Initialize_All
GRVBMain.Show
DrawBoard
End Sub
'开始新游戏
Public Sub StartNewGame()
Dim i, j As Integer
'Initialize Rndomize Number
Randomize
'Get Rndomize Number
optRndNumber = Int(Rnd(1) * 10000)
'Start A New Game by GNUGOEngAPI
Call GNUGO_StartNewGame(BSize, optRndNumber, optKomi)
For i = 0 To 12
For j = 0 To 12
LastBoard.b(i, j) = NONE
State(i + 1, j + 1) = NONE
Next
Next
'Clear ListBox
GRVBMain.List.Clear
GRSpeak "游戏开始了"
DrawBoard
End Sub
'机器人VS机器人
Public Sub Play_RvsR()
Dim X, Y As Long
Dim sx, sy As Integer
nowColour = BLACK
Call StartNewGame
Call GNUGO_GenMove(X, Y, nowColour)
Call IsLegal(X, Y, nowColour)
Call PlayMove(X + 1, Y + 1, nowColour)
Call DrawBoard
RCXStoneNum = 0
'Long -> Integer
sx = X + 1: sy = Y + 1
Call SendPosToRCX(sx, sy, nowColour)
nowColour = 3 - nowColour
End Sub
'人VS机器人
Public Sub Play_MvsR()
Dim X, Y As Long
Dim sx, sy As Integer
Call StartNewGame
RCXStoneNum = 0
nowPlayer = ROBOT_PLAY
nowColour = BLACK
If (optBlackPlayer = PLAYER_ROBOT) Then
Call GNUGO_GenMove(X, Y, nowColour)
Call IsLegal(X, Y, nowColour)
Call PlayMove(X + 1, Y + 1, nowColour)
Call DrawBoard
'Long -> Integer
sx = X + 1: sy = Y + 1
'to debug
Call SendPosToRCX(sx, sy, nowColour)
'to debug
nowColour = 3 - nowColour
End If
End Sub
'询问是否保存
Public Sub AskForSave()
'TODO
End Sub
'询问是否点目
Public Sub AskForCalc()
'TODO
End Sub
'某一位置是否合法
Public Sub IsLegal(ByVal ggx As Long, ByVal ggy As Long, ByVal isColor)
If GNUGO_IsLegal(ggx, ggy, isColor) = 0 Then
GRSpeak "ERROR in " & str$(ggx) & " " & str$(ggy)
Over
End If
End Sub
'Sub Over, End 的替代函数,可以做一些手脚.
Public Sub Over()
If (MsgBox("确实要退出吗?", vbOKCancel, "退出!") = vbOK) Then
RobbyBye
'Close Camera
If CamClosed = True Then
GRVBMain.VideoBOX.Stop
GRVBMain.VideoBOX.Close
End If
End
Else
Exit Sub
End If
End Sub
'- - - - - - - - - - - - - - - - - - - - - - - - - -
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -