diff --git a/main.py b/main.py index 20d90aa..ca82d92 100755 --- a/main.py +++ b/main.py @@ -8,14 +8,39 @@ field = ["", "4", "5", "6", "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. # Achtung! O hat eine andere Farbe 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 print("") 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 -while run: # Das ist die Gameloop. Die Schleife wurde hier mit run auf True gesetzt, damit das Spiel sauber - # beendet wird. - p_field() - sel_field = play_now() - system('clear') # Hiermit wird das Spielfeld immer wieder an der gleichen Position angezeigt, ohne dies würde - # das Feld bei jedem Zug nach unten rutschen. - field[sel_field] = player - winner = check_win() - if winner: - if winner == '\x1b[1;34m' "X" '\x1b[1;0m': - print("Spieler " + name_player1 + " hat gewonnen.") - run = False - if winner == '\x1b[1;31m' "0" '\x1b[1;0m': - print("Spieler " + name_player2 + " hat gewonnen.") - run = False - else: - if draw_game(): - print("Spiel ist unentschieden...") - run = False - change_player() +def main(): + global run + while run: # Das ist die Gameloop. Die Schleife wurde hier mit run auf True gesetzt, damit das Spiel sauber + # beendet wird. + p_field() + sel_field = play_now() + system('clear') # Hiermit wird das Spielfeld immer wieder an der gleichen Position angezeigt, ohne dies würde + # das Feld bei jedem Zug nach unten rutschen. + field[sel_field] = player + winner = check_win() + if winner: + if winner == '\x1b[1;34m' "X" '\x1b[1;0m': + print("Spieler " + name_player1 + " hat gewonnen.") + run = False + if winner == '\x1b[1;31m' "0" '\x1b[1;0m': + print("Spieler " + name_player2 + " hat gewonnen.") + run = False + else: + if draw_game(): + print("Spiel ist unentschieden...") + run = False + change_player() -system('./main.py') + +if __name__ == '__main__': + main()