Hallo Zusammen,
ich hab mir ein Tic Tac Toe gepastelt in dem es zwei schwierigkeitsgrade gibt im ersten Setzt der NPC per zufall, im zweiten soll er verhindern das ich eine Reihe bekomme was auch ein zwei mal funktioniert.
Dann aber bricht er ab und gibt mir eine Stack overflow Meldung heraus.
Ich hoffe mir kann wer sagen woran das liegt
ich hab mir ein Tic Tac Toe gepastelt in dem es zwei schwierigkeitsgrade gibt im ersten Setzt der NPC per zufall, im zweiten soll er verhindern das ich eine Reihe bekomme was auch ein zwei mal funktioniert.
Dann aber bricht er ab und gibt mir eine Stack overflow Meldung heraus.
Ich hoffe mir kann wer sagen woran das liegt
VB.NET-Quellcode
- Public Sub KI()
- If Spieler = 1 And Spielende = 0 Then
- Dim Spielzahl As Integer
- Dim x, y As Integer
- x = 0
- y = 0
- If Schwierigkeit = 0 Then
- Spielzahl = Zufall.Next(1, 10)
- ElseIf Schwierigkeit = 1 Then
- If Spielfeld(1, 1) = 1 And Spielfeld(1, 2) = 1 Or Spielfeld(3, 3) = 1 And Spielfeld(2, 3) = 1 Then
- Spielzahl = 3
- ElseIf Spielfeld(1, 2) = 1 And Spielfeld(1, 3) = 1 Or Spielfeld(3, 1) = 1 And Spielfeld(2, 1) = 1 Then
- Spielzahl = 1
- ElseIf Spielfeld(1, 1) = 1 And Spielfeld(1, 3) = 1 Or Spielfeld(2, 2) = 1 And Spielfeld(3, 2) = 1 Then
- Spielzahl = 2
- ElseIf Spielfeld(2, 1) = 1 And Spielfeld(2, 2) = 1 Or Spielfeld(1, 3) = 1 And Spielfeld(3, 3) = 1 Then
- Spielzahl = 6
- ElseIf Spielfeld(2, 2) = 1 And Spielfeld(2, 3) = 1 Or Spielfeld(1, 1) = 1 And Spielfeld(3, 1) = 1 Then
- Spielzahl = 4
- ElseIf Spielfeld(2, 1) = 1 And Spielfeld(2, 3) = 1 Or Spielfeld(1, 2) = 1 And Spielfeld(3, 2) = 1 Then
- Spielzahl = 5
- ElseIf Spielfeld(3, 1) = 1 And Spielfeld(3, 2) = 1 Or Spielfeld(1, 3) = 1 And Spielfeld(2, 3) = 1 Then
- Spielzahl = 9
- ElseIf Spielfeld(3, 1) = 1 And Spielfeld(3, 3) = 1 Or Spielfeld(2, 2) = 1 And Spielfeld(1, 2) = 1 Then
- Spielzahl = 8
- ElseIf Spielfeld(3, 2) = 1 And Spielfeld(3, 3) = 1 Or Spielfeld(1, 1) = 1 And Spielfeld(2, 1) = 1 Then
- Spielzahl = 7
- ElseIf Spielfeld(1, 1) = 1 And Spielfeld(3, 3) = 1 Or Spielfeld(1, 3) = 1 And Spielfeld(3, 1) = 1 Then
- Spielzahl = 5
- ElseIf Spielfeld(1, 1) = 1 And Spielfeld(2, 2) = 1 Then
- Spielzahl = 9
- ElseIf Spielfeld(3, 3) = 1 And Spielfeld(2, 2) = 1 Then
- Spielzahl = 1
- ElseIf Spielfeld(1, 3) = 1 And Spielfeld(2, 2) = 1 Then
- Spielzahl = 7
- ElseIf Spielfeld(3, 1) = 1 And Spielfeld(2, 2) = 1 Then
- Spielzahl = 3
- Else : Spielzahl = Zufall.Next(1, 10)
- End If
- ElseIf Schwierigkeit = 2 Then
- End If
- Select Case Spielzahl
- Case 1
- If Spielfeld(1, 1) = 0 Then
- x = 80
- y = 80
- SpielfigurSetzen(x, y, 2)
- Spieler = 2
- SpielAuswertung()
- Else : KI()
- End If
- Case 2
- If Spielfeld(1, 2) = 0 Then
- x = 160
- y = 80
- SpielfigurSetzen(x, y, 2)
- Spieler = 2
- SpielAuswertung()
- Else : KI()
- End If
- Case 3
- If Spielfeld(1, 3) = 0 Then
- x = 240
- y = 80
- SpielfigurSetzen(x, y, 2)
- Spieler = 2
- SpielAuswertung()
- Else : KI()
- End If
- Case 4
- If Spielfeld(2, 1) = 0 Then
- x = 80
- y = 160
- SpielfigurSetzen(x, y, 2)
- Spieler = 2
- SpielAuswertung()
- Else : KI()
- End If
- Case 5
- If Spielfeld(2, 2) = 0 Then
- x = 160
- y = 160
- SpielfigurSetzen(x, y, 2)
- Spieler = 2
- SpielAuswertung()
- Else : KI()
- End If
- Case 6
- If Spielfeld(2, 3) = 0 Then
- x = 240
- y = 160
- SpielfigurSetzen(x, y, 2)
- Spieler = 2
- SpielAuswertung()
- Else : KI()
- End If
- Case 7
- If Spielfeld(3, 1) = 0 Then
- x = 80
- y = 240
- SpielfigurSetzen(x, y, 2)
- Spieler = 2
- SpielAuswertung()
- Else : KI()
- End If
- Case 8
- If Spielfeld(3, 2) = 0 Then
- x = 160
- y = 240
- SpielfigurSetzen(x, y, 2)
- Spieler = 2
- SpielAuswertung()
- Else : KI()
- End If
- Case 9
- If Spielfeld(3, 3) = 0 Then
- x = 240
- y = 240
- SpielfigurSetzen(x, y, 2)
- Spieler = 2
- SpielAuswertung()
- Else : KI()
- End If
- End Select
- End If
- End Sub