play_now add ai to play
This commit is contained in:
parent
58db15fcd3
commit
74f67da9b2
64
main.py
64
main.py
@ -1,5 +1,6 @@
|
|||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
from os import system
|
from os import system
|
||||||
|
import random
|
||||||
|
|
||||||
# Das ist die Liste in der die Felder für die ausgabe auf der Konsole. Die einzelnen Felder werden durch X oder O
|
# Das ist die Liste in der die Felder für die ausgabe auf der Konsole. Die einzelnen Felder werden durch X oder O
|
||||||
# beim Spiel ersetzt
|
# beim Spiel ersetzt
|
||||||
@ -8,8 +9,9 @@ field = ["",
|
|||||||
"4", "5", "6",
|
"4", "5", "6",
|
||||||
"7", "8", "9"]
|
"7", "8", "9"]
|
||||||
|
|
||||||
player = '\x1b[1;34m' "X" '\x1b[1;0m' # Die Zeichen X und O werden so farbig ausgegeben.
|
#player = '\x1b[1;34m' "X" '\x1b[1;0m' # Die Zeichen X und O werden so farbig ausgegeben.
|
||||||
# Achtung! O hat eine andere Farbe
|
# Achtung! O hat eine andere Farbe
|
||||||
|
player = 'X'
|
||||||
run = True # Variable, die auf Wahr gesetzt ist, damit das Programm sauber beendet wird.
|
run = True # Variable, die auf Wahr gesetzt ist, damit das Programm sauber beendet wird.
|
||||||
|
|
||||||
|
|
||||||
@ -57,7 +59,7 @@ def gamers():
|
|||||||
continue
|
continue
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Bitte nur 1 oder 2 wählen!")
|
print("Bitte nur 1 oder 2 wählen!")
|
||||||
gamers() # Hier steht nachher main() drin!
|
main() # Hier steht nachher main() drin!
|
||||||
|
|
||||||
|
|
||||||
one_two = gamers()
|
one_two = gamers()
|
||||||
@ -76,36 +78,48 @@ def p_field(): # p_ = print. Damit wird das Spielfeld aus der Liste field auf d
|
|||||||
|
|
||||||
def play_now():
|
def play_now():
|
||||||
global run
|
global run
|
||||||
while True:
|
if player == 'O' and name_player2 == 'Computer':
|
||||||
try: # Try eingebaut damit auch alle anderen Zeichen und Buchstaben abgefangen werden.
|
field_ai = []
|
||||||
sel_field = input("Bitte ein Feld auswählen:\nZum beenden des Spiels q drücken.\n")
|
for i in field:
|
||||||
if sel_field == "q":
|
if i != 'X' and i != 'O' and i != '':
|
||||||
run = False
|
# hier wird geprüft, ob das element dem entspricht, was hier angegeben wurde.
|
||||||
return 1
|
# ist das momentane element ungleich X und ungleich O und ungleich '' also ein anderes element,
|
||||||
if sel_field == "":
|
# dann wird es in die liste field_ai hinzugefügt. Info! In der Liste field sind nur Strings!
|
||||||
print("Ohne eingabe kein gewinn!!!")
|
field_ai += i
|
||||||
continue
|
sel_field = int(random.choice(field_ai))
|
||||||
sel_field = int(sel_field)
|
# hier wird ein zufälliges element, aus der neu erzeugten liste
|
||||||
if sel_field >= 1 and sel_field <= 9:
|
# ausgewählt dieser wird auch gleich in ein integer gecastet und der Variable sel_field zugewiesen
|
||||||
if field[sel_field] == '\x1b[1;34m' "X" '\x1b[1;0m' or field[sel_field] == '\x1b[1;31m' "O" '\x1b[1;0m':
|
return sel_field
|
||||||
print("Spielfeld wurde schon ausgewählt!\n")
|
else:
|
||||||
|
while True:
|
||||||
|
try: # Try eingebaut damit auch alle anderen Zeichen und Buchstaben abgefangen werden.
|
||||||
|
sel_field = input("Bitte ein Feld auswählen:\nZum beenden des Spiels q drücken.\n")
|
||||||
|
if sel_field == "q":
|
||||||
|
run = False
|
||||||
|
return 1
|
||||||
|
if sel_field == "":
|
||||||
|
print("Ohne eingabe kein gewinn!!!")
|
||||||
|
continue
|
||||||
|
sel_field = int(sel_field)
|
||||||
|
if sel_field >= 1 and sel_field <= 9:
|
||||||
|
if field[sel_field] == 'X' or field[sel_field] == 'O':
|
||||||
|
print("Spielfeld wurde schon ausgewählt!\n")
|
||||||
|
else:
|
||||||
|
return sel_field
|
||||||
else:
|
else:
|
||||||
return sel_field
|
print("Bitte nur Ziffern von 1 - 9 wählen!\n")
|
||||||
else:
|
except ValueError:
|
||||||
print("Bitte nur Ziffern von 1 - 9 wählen!\n")
|
print("Bitte nur Ziffern von 1 - 9 wählen!\n")
|
||||||
except ValueError:
|
|
||||||
print("Bitte nur Ziffern von 1 - 9 wählen!\n")
|
|
||||||
|
|
||||||
|
|
||||||
def change_player(): # Prüfung welcher Spieler dran ist. (Funktion Spielerwechsel)
|
def change_player(): # Prüfung welcher Spieler dran ist. (Funktion Spielerwechsel)
|
||||||
global player
|
global player
|
||||||
if run:
|
if run:
|
||||||
if player == '\x1b[1;34m' "X" '\x1b[1;0m':
|
if player == 'X':
|
||||||
player = '\x1b[1;31m' "0" '\x1b[1;0m'
|
player = 'O'
|
||||||
print("Spieler " + name_player2 + " ist dran.")
|
print("Spieler " + name_player2 + " ist dran.")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
player = '\x1b[1;34m' "X" '\x1b[1;0m'
|
player = 'X'
|
||||||
print("Spieler " + name_player1 + " ist dran.")
|
print("Spieler " + name_player1 + " ist dran.")
|
||||||
|
|
||||||
|
|
||||||
@ -155,10 +169,10 @@ def main():
|
|||||||
field[sel_field] = player
|
field[sel_field] = player
|
||||||
winner = check_win()
|
winner = check_win()
|
||||||
if winner:
|
if winner:
|
||||||
if winner == '\x1b[1;34m' "X" '\x1b[1;0m':
|
if winner == 'X':
|
||||||
print("Spieler " + name_player1 + " hat gewonnen.")
|
print("Spieler " + name_player1 + " hat gewonnen.")
|
||||||
run = False
|
run = False
|
||||||
if winner == '\x1b[1;31m' "0" '\x1b[1;0m':
|
if winner == 'O':
|
||||||
print("Spieler " + name_player2 + " hat gewonnen.")
|
print("Spieler " + name_player2 + " hat gewonnen.")
|
||||||
run = False
|
run = False
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user