Kali ini saya menggunakan button create on the fly
Berikut Codingannya :
Public Class Form1
'true -> giliran player 1 X
'false -> giliran player 2 O
Dim flag As Boolean = True
Function cekbutton(btna As Button, btnb As Button, btnc As Button) As Integer
Dim menang As Integer = 0
If (btna.Text = btnb.Text) And (btnb.Text = btnc.Text) Then
If btna.Text = "X" Then
menang = 1
ElseIf btna.Text = "O" Then
menang = 2
End If
End If
Return menang
End Function
Sub cekmenang()
'0 -> blm ad yang menang
'1 -> player 1 yg menang
'2 -> player 2 yang menang
Dim menang As Integer = 0
Dim temp As Integer
'Horizontal
'temp = cekbutton(Button1, Button2, Button3)
'If temp = 1 Then
' menang = 1
'ElseIf temp = 2 Then
' menang = 2
'End If
If (Button1.Text = Button2.Text) And (Button2.Text = Button3.Text) Then
If Button1.Text = "X" Then
menang = 1
ElseIf Button1.Text = "O" Then
menang = 2
End If
End If
If (Button4.Text = Button5.Text) And (Button5.Text = Button6.Text) Then
If Button4.Text = "X" Then
menang = 1
ElseIf Button4.Text = "O" Then
menang = 2
End If
End If
If (Button7.Text = Button8.Text) And (Button8.Text = Button9.Text) Then
If Button7.Text = "X" Then
menang = 1
ElseIf Button7.Text = "O" Then
menang = 2
End If
End If
'Vertikal
If (Button1.Text = Button4.Text) And (Button4.Text = Button7.Text) Then
If Button1.Text = "X" Then
menang = 1
ElseIf Button1.Text = "O" Then
menang = 2
End If
End If
If (Button2.Text = Button5.Text) And (Button5.Text = Button8.Text) Then
If Button2.Text = "X" Then
menang = 1
ElseIf Button2.Text = "O" Then
menang = 2
End If
End If
If (Button3.Text = Button6.Text) And (Button6.Text = Button9.Text) Then
If Button3.Text = "X" Then
menang = 1
ElseIf Button3.Text = "O" Then
menang = 2
End If
End If
'Diagonal
If (Button1.Text = Button5.Text) And (Button5.Text = Button9.Text) Then
If Button1.Text = "X" Then
menang = 1
ElseIf Button1.Text = "O" Then
menang = 2
End If
End If
If (Button3.Text = Button5.Text) And (Button5.Text = Button7.Text) Then
If Button3.Text = "X" Then
menang = 1
ElseIf Button3.Text = "O" Then
menang = 2
End If
End If
If menang = 1 Then
Label1.Text = "Player 1 Menang"
ElseIf menang = 2 Then
Label1.Text = "Player 2 Menang"
End If
End Sub
Sub cekdraw()
'memeriksa apakah draw/stalemate
Dim temp As Boolean = True 'draw
If Button1.Text = "" Then
temp = False
End If
If Button2.Text = "" Then
temp = False
End If
If Button3.Text = "" Then
temp = False
End If
If Button4.Text = "" Then
temp = False
End If
If Button5.Text = "" Then
temp = False
End If
If Button6.Text = "" Then
temp = False
End If
If Button7.Text = "" Then
temp = False
End If
If Button8.Text = "" Then
temp = False
End If
If Button9.Text = "" Then
temp = False
End If
If temp Then
Label1.Text = "Game Over"
End If
End Sub
Private Sub Cekflag()
If flag = True Then
Label1.Text = "Player 1 Turn"
Else
Label1.Text = "Player 2 Turn"
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
flag = True
Call Cekflag()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button9.Click, Button8.Click, Button7.Click, Button6.Click, Button5.Click, Button4.Click, Button3.Click, Button2.Click
Dim a As Button = CType(sender, Button)
If a.Text = "" Then
'masih kosong
'if flag = true then
If flag Then 'artinya turn player 1
a.Text = "X"
Else 'artinya turn player 2
a.Text = "O"
End If
flag = Not flag
Call Cekflag()
Call cekdraw()
Call cekmenang()
Else
MsgBox("Kotak Sdh Ad Isinya !!!")
End If
End Sub
End Class
Screenshot :
3 komentar:
Lumayan untuk waktu luang..
keren2,thx min
Tnx Source Codenya, cuman kalau bisa agar admin blog mengubah tampilan blog agar lebih mudah untuk di comment secara lansung tanpa harus dibawah ke page lain
Posting Komentar