def main(): # create a game board - with randomized colors (rgby) gb = GameBoard(NUM_OF_ROWS_COLUMNS, GAME_COLORS, COLORS_COLOR) steps_played = 0 print("Welcome to the Coloring Game!") print( f"Please enter one of the possible colors to play this game: {GAME_COLORS}" ) gb.print_board() # start listening on inputs from the user (the actual game) print(f"Available game colors: {GAME_COLORS}") print(f"Please select a color:") for line in sys.stdin: # game over if played too many steps if steps_played == ALLOWED_STEPS: print( f'Game over! Unfortunately you ran out of steps. (Allowed steps: {ALLOWED_STEPS})' ) break steps_played += 1 # remove the newline char from the input line line = line[:-1] # when quit/q - exit game if line in ["quit", "q"]: print("Exiting game!") return # when input is a color - paint the board accordingly if line in GAME_COLORS: # color with the selected color gb.color(line) if gb.is_game_finished(): print("Congratulations! you finished the game") break # TODO: add an option to retry print("Current game board:") gb.print_board() print( f"Please select the next color: (Remaining steps: {ALLOWED_STEPS - steps_played})" ) print("Goodbye! Hope to see you back soon!")