add entry names with while loop

This commit is contained in:
Désiré Werner Menrath 2024-07-15 17:39:11 +02:00
parent fb15ab05c9
commit 38962a1a31

77
main.py
View File

@ -8,14 +8,39 @@ field = ["",
"4", "5", "6", "4", "5", "6",
"7", "8", "9"] "7", "8", "9"]
name_player1 = input("Spieler 1 gib deinen Spielernamen ein.\n")
name_player2 = input("Spieler 2 gib deinen Spielernamen ein.\n")
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
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.
def player_names1():
pl_names = True
while pl_names:
name_player1 = input("Spieler 1 gib deinen Spielernamen ein.\n")
if name_player1 == "":
print("Ups keine gültige eingabe...")
continue
else:
return name_player1
pl_names = False
def player_names2():
pl_names = True
while pl_names:
name_player2 = input("Spieler 2 gib deinen Spielernamen ein.\n")
if name_player2 == "":
print("Ups keine gültige eingabe...")
continue
else:
return name_player2
pl_names = False
name_player1 = player_names1()
name_player2 = player_names2()
def p_field(): # p_ = print. Damit wird das Spielfeld aus der Liste field auf der Konsole ausgegeben def p_field(): # p_ = print. Damit wird das Spielfeld aus der Liste field auf der Konsole ausgegeben
print("") print("")
print(" " + field[1] + "|" + field[2] + "|" + field[3]) print(" " + field[1] + "|" + field[2] + "|" + field[3])
@ -94,25 +119,29 @@ def draw_game(): # Diese funktion prüft das Spielfeld auf X oder O also, ob ke
return True return True
while run: # Das ist die Gameloop. Die Schleife wurde hier mit run auf True gesetzt, damit das Spiel sauber def main():
# beendet wird. global run
p_field() while run: # Das ist die Gameloop. Die Schleife wurde hier mit run auf True gesetzt, damit das Spiel sauber
sel_field = play_now() # beendet wird.
system('clear') # Hiermit wird das Spielfeld immer wieder an der gleichen Position angezeigt, ohne dies würde p_field()
# das Feld bei jedem Zug nach unten rutschen. sel_field = play_now()
field[sel_field] = player system('clear') # Hiermit wird das Spielfeld immer wieder an der gleichen Position angezeigt, ohne dies würde
winner = check_win() # das Feld bei jedem Zug nach unten rutschen.
if winner: field[sel_field] = player
if winner == '\x1b[1;34m' "X" '\x1b[1;0m': winner = check_win()
print("Spieler " + name_player1 + " hat gewonnen.") if winner:
run = False if winner == '\x1b[1;34m' "X" '\x1b[1;0m':
if winner == '\x1b[1;31m' "0" '\x1b[1;0m': print("Spieler " + name_player1 + " hat gewonnen.")
print("Spieler " + name_player2 + " hat gewonnen.") run = False
run = False if winner == '\x1b[1;31m' "0" '\x1b[1;0m':
else: print("Spieler " + name_player2 + " hat gewonnen.")
if draw_game(): run = False
print("Spiel ist unentschieden...") else:
run = False if draw_game():
change_player() print("Spiel ist unentschieden...")
run = False
change_player()
system('./main.py')
if __name__ == '__main__':
main()