原始碼:http://down.gogobox.com.tw/t2329175/pq2m2
程式碼:
'假裝有宣告
Dim MyX As Integer, MyY As Integer, Host As Boolean, Num As Integer
Dim Game(3, 3) As Integer, MDown As Boolean
Private Sub Form_Activate() '傳說中的主程式拜託不要看不懂!
MsgBox "玩家是O,電腦是X", 15, ""
Fline 900, 900, 1100, 350, RGB(255, 0, 0), 0
FPrint 900, 900, 18, RGB(0, 0, 0), "玩家先"
Fline 1900, 1900, 1100, 350, RGB(0, 0, 255), 0
FPrint 1900, 1900, 18, RGB(255, 255, 255), "電腦先"
Do Until MyX > 900 And MyX < 2000 And MyY > 900 And MyY < 1250 Or MyX > 1900 And MyX < 3000 And MyY > 1900 And MyY < 2250
DoEvents
If MyX > 900 And MyX < 2000 And MyY > 900 And MyY < 1250 Then
Host = True
ElseIf MyX > 1900 And MyX < 3000 And MyY > 1900 And MyY < 2250 Then
Host = False
End If
Loop
For i = 1 To 3
For j = 1 To 3
Game(i, j) = 0
Next j, i
ShowNow
Do While Win = 0 And Num < 9
MDown = False
If Host = True Then
Do Until MDown = True
DoEvents
Loop
Host = False
MDown = False
Form1.CurrentX = 100
Form1.CurrentY = 100
If Game(MyX \ 1000 + 1, MyY \ 1000 + 1) = 0 Then
Game(MyX \ 1000 + 1, MyY \ 1000 + 1) = 1
Else
Host = True
End If
Else
For i = 1 To 3
For j = 1 To 3
If Game(i, j) = 0 And Host = False Then
Game(i, j) = -1
Host = True
End If
Next j, i
End If
ShowNow
Num = Num + 1
Loop
If Win = -1 Then MsgBox "電腦贏了!玩家保證腦殘了。", 15, ""
If Win = 1 Then MsgBox "玩家贏,正常的。", 15, ""
If Win = 0 Then MsgBox "沒輸沒贏!你真厲害!", 15, ""
End
End Sub
Public Function Win() As Integer '判斷輸贏
Win = 0
For i = 1 To 3
If Game(1, i) = Game(2, i) And Game(1, i) = Game(3, i) Then
Win = Game(1, i)
ElseIf Game(i, 1) = Game(i, 2) And Game(i, 1) = Game(i, 3) Then
Win = Game(i, 1)
End If
Next
If Game(1, 1) = Game(2, 2) And Game(1, 1) = Game(3, 3) Then
Win = Game(1, 1)
ElseIf Game(1, 3) = Game(2, 2) And Game(1, 3) = Game(3, 1) Then
Win = Game(1, 3)
End If
End Function
Public Sub Fline(Fx, Fy, W, H, Fcolor, Style) '畫長方形
Form1.FillColor = Fcolor
Form1.FillStyle = Style
Form1.Line (Fx, Fy)-(Fx + W, Fy + H), Fcolor, B
End Sub
Public Sub FPrint(CX, CY, FSize, Fcolor, StrName) '印字
Form1.FontSize = FSize
Form1.CurrentX = CX
Form1.CurrentY = CY
Form1.ForeColor = Fcolor
Form1.Print StrName
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) '滑鼠好好按
MyX = X
MyY = Y
MDown = True
End Sub
Public Sub ShowNow() '顯示目前狀態
Cls
Form1.ForeColor = RGB(0, 0, 0)
Form1.FillColor = RGB(0, 0, 0)
Form1.Line (0, 1000)-(10000, 1000), RGB(0, 0, 0)
Form1.Line (0, 2000)-(10000, 2000), RGB(0, 0, 0)
Form1.Line (1000, 0)-(1000, 10000), RGB(0, 0, 0)
Form1.Line (2000, 0)-(2000, 10000), RGB(0, 0, 0)
For i = 1 To 3
For j = 1 To 3
If Game(i, j) = 1 Then
Form1.CurrentX = 400 + (i - 1) * 1000
Form1.CurrentY = 400 + (j - 1) * 1000
Form1.Print "O"
ElseIf Game(i, j) = -1 Then
Form1.CurrentX = 400 + (i - 1) * 1000
Form1.CurrentY = 400 + (j - 1) * 1000
Form1.Print "X"
End If
Next j, i
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) '你可結束的!
End
End Sub
留言列表