私はチックタックつま先のプログラムを持っていると私はそれがあるべきそのように働いて、すべてを持っています。しかし、私がこのコーディングで持っている最終的な問題の1つは、コード化する方法がいつ結びつくのか分かりません。ここに私がこれまで持っていたものがあります。それはあなたがネクタイを持っていたと言うでしょうどこでMe.close()
を持って
Public Class Form1
Private turn As Integer = 1
Private play() As String = {"O", "X"}
Private board(2, 2) As String
Private Structure arrayIndex
Dim x As Integer
Dim y As Integer
End Structure
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For x As Integer = 1 To 9
Dim b As New Button With { _
.Width = 80, _
.Height = 80, _
.Text = "", _
.Location = New Point(60 + (((x - 1) Mod 3) * 80), 60 + (((x - 1) \ 3) * 80)), _
.Tag = New arrayIndex With {.x = (x - 1) Mod 3, .y = (x - 1) \ 3}}
Me.Controls.Add(b)
AddHandler b.Click, AddressOf buttons_click
Next
Me.SetClientSizeCore(360, 360)
End Sub
Private Sub buttons_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If DirectCast(sender, Button).Text <> "" Then Return
DirectCast(sender, Button).Text = play(turn Mod 2)
Dim index As arrayIndex = DirectCast(DirectCast(sender, Button).Tag, arrayIndex)
board(index.x, index.y) = play(turn Mod 2)
turn += 1
winner()
End Sub
Private Sub winner()
Dim rows(7) As String
rows(0) = board(0, 0) & board(1, 0) & board(2, 0)
rows(1) = board(0, 1) & board(1, 1) & board(2, 1)
rows(2) = board(0, 2) & board(1, 2) & board(2, 2)
rows(3) = board(0, 0) & board(0, 1) & board(0, 2)
rows(4) = board(1, 0) & board(1, 1) & board(1, 2)
rows(5) = board(2, 0) & board(2, 1) & board(2, 2)
rows(6) = board(0, 0) & board(1, 1) & board(2, 2)
rows(7) = board(2, 0) & board(1, 1) & board(0, 2)
For x As Integer = 0 To 7
If rows(x).Length = 3 AndAlso (rows(x)(0) = rows(x)(1) AndAlso rows(x)(0) = rows(x)(2)) Then
If MessageBox.Show(rows(x)(0) & "'s winsssss!", "We have a winner!", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) = DialogResult.OK Then
turn = 1
ReDim board(2, 2)
For Each ctrl As Control In Controls
ctrl.Text = ""
Next
Return
Else
Me.Close()
End If
End If
Next
End Sub
End Class
私は知っています。再転記が質問をリストの一番上に置くと考えている。しかし、私はこれに取り組もうとしてきましたが、それを理解できないように見えています。 – beginnerprogrammer
-1、あなたがすでに聞いた質問を再投稿することは容認できません。代替案のFAQの[このエントリ](http://meta.stackexchange.com/questions/7046/how-do-i-get-attention-for-my-old-unanswered-questions)を参照してください。 –