Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Simple sudoku - Frm5.frm

Frm5.frm

Caricato da: Albertking82
Scarica il programma completo

  1. Dim i As Integer, j As Integer, num As Integer, c As Integer, f As Boolean, err As Integer
  2. Const val = 5
  3. Dim pc2 As Integer, num3 As Integer
  4. Dim m(0 To val - 1, 0 To val - 1) As Integer, pc As Integer, r As Integer
  5. Private Sub cmddel_Click()
  6. For i = 0 To 24
  7. If i <> pc And i <> pc2 Then
  8. Text1(i).Text = ""
  9. End If
  10. Next i
  11. Text1(0).SetFocus
  12. End Sub
  13.  
  14. Private Sub Cmdver_Click()
  15. For i = 0 To (val ^ 2) - 1
  16.  If Text1(i).Text = "" Then
  17.     f = True
  18.     Exit For
  19.     Else
  20.     f = False
  21.  End If
  22. Next i
  23.  If f Then
  24.   MsgBox "Il sudoku non è completo!!!", vbCritical, "Non completo"
  25.   Text1(0).SetFocus
  26.   Exit Sub
  27.  End If
  28. For i = 0 To (val ^ 2) - 1
  29.   row = Int(i / val)
  30.   col = i Mod val
  31.   m(row, col) = Text1(i).Text
  32.  Next i
  33.  For i = 0 To val - 1
  34.   For j = 1 To val - 2
  35.    If m(i, j) = m(i, j + 1) Then
  36.     f = False
  37.     err = err + 1
  38.     End If
  39.   Next j
  40. Next i
  41.  f = True
  42.  For j = 1 To val - 1
  43.   For i = 0 To val - 2
  44.    If m(i, j) = m(i + 1, j) Then
  45.     f = False
  46.     err = err + 1
  47.     End If
  48.   Next i
  49. Next j
  50. If f Then
  51.  MsgBox "Complimenti hai risolto correttamente il sudoku!!!", vbInformation, "Corretto"
  52.  r = MsgBox("Vuoi giocare ancora?", vbQuestion + vbYesNoCancel, "Vuoi giocare?")
  53.  If r = vbYes Then
  54.  pc = 10
  55.  pc2 = 10
  56.  Call cmddel_Click
  57.  Call Form_Load
  58.  Else
  59.  If r = vbNo Then
  60.  End
  61.  End If
  62.  End If
  63.  Else
  64.  MsgBox "Il sudoku non è risolto correttamente hai commesso " & err & " errori!!!", vbInformation, "Errato"
  65. End If
  66. f = False
  67. err = 0
  68. End Sub
  69.  
  70. Private Sub Form_Load()
  71. f = False
  72. err = 0
  73. Randomize
  74.  num = Int((Rnd * val) + 1)
  75.  num2 = Int((Rnd * 8) + 1)
  76. Text1(num2).Text = num
  77.  num = Int((Rnd * val) + 1)
  78.  num3 = Int((Rnd * 8) + 1)
  79. Text1(num3).Text = num
  80. pc = num2
  81. pc2 = num3
  82. End Sub
  83.  
  84. Private Sub Form_Unload(Cancel As Integer)
  85. Frmmain.WindowState = 0
  86. End Sub
  87.  
  88. Private Sub Text1_Change(Index As Integer)
  89. Dim n As Integer
  90. If Text1(Index).Text <> "" Then
  91. If Not IsNumeric(Text1(Index).Text) Then
  92.  Text1(Index).Text = ""
  93. Else
  94.  n = Int(Text1(Index).Text)
  95.  End If
  96.  If n > val Then
  97.   Text1(Index).Text = ""
  98.  End If
  99. End If
  100.  
  101. End Sub