Dim i As Integer, j As Integer, num As Integer, c As Integer, f As Boolean, err As Integer
Const val = 3
Dim m(0 To val - 1, 0 To val - 1) As Integer, pc As Integer, r As Integer
Private Sub cmddel_Click()
For i = 0 To 8
If i <> pc Then
Text1(i).Text = ""
End If
Next i
Text1(0).SetFocus
End Sub
Private Sub Cmdver_Click()
For i = 0 To 8
If Text1(i).Text = "" Then
f = True
Exit For
Else
f = False
End If
Next i
If f Then
MsgBox "Il sudoku non è completo!!!", vbCritical, "Non completo"
Text1(0).SetFocus
Exit Sub
End If
For i = 0 To 8
row = Int(i / val)
col = i Mod val
m(row, col) = Text1(i).Text
Next i
For i = 0 To val - 1
For j = 1 To val - 2
If m(i, j) = m(i, j + 1) Then
f = False
err = err + 1
End If
Next j
Next i
f = True
For j = 1 To val - 1
For i = 0 To val - 2
If m(i, j) = m(i + 1, j) Then
f = False
err = err + 1
End If
Next i
Next j
If f Then
MsgBox "Complimenti hai risolto correttamente il sudoku!!!", vbInformation, "Corretto"
r = MsgBox("Vuoi giocare ancora?", vbQuestion + vbYesNoCancel, "Vuoi giocare?")
If r = vbYes Then
pc = 10
Call cmddel_Click
Call Form_Load
Else
End
End If
Else
MsgBox "Il sudoku non è risolto correttamente hai commesso " & err & " errori!!!", vbInformation, "Errato"
End If
f = False
err = 0
End Sub
Private Sub Form_Load()
f = False
err = 0
Randomize
num = Int((Rnd * val) + 1)
num2 = Int((Rnd * 8) + 1)
Text1(num2).Text = num
pc = num2
End Sub
Private Sub Form_Unload(Cancel As Integer)
Frmmain.WindowState = 0
End Sub
Private Sub Text1_Change(Index As Integer)
Dim n As Integer
If Text1(Index).Text <> "" Then
If Not IsNumeric(Text1(Index).Text) Then
Text1(Index).Text = ""
Else
n = Int(Text1(Index).Text)
End If
If n > val Then
Text1(Index).Text = ""
End If
End If
End Sub