Untitled
unknown
python
11 days ago
2.8 kB
3
Indexable
Never
➜ ~ ollama run codegemma >>> Write tic-tac-toe for linux console. You can use curses ```python import curses import time # Initialize the screen stdscr = curses.initscr() curses.start_color() curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK) curses.init_pair(2, curses.COLOR_GREEN, curses.COLOR_BLACK) # Define the game board board = [" "] * 9 # Define the player symbols player1 = "X" player2 = "O" # Define the current player current_player = player1 # Function to draw the game board def draw_board(): stdscr.clear() stdscr.addstr(0, 0, "Tic-Tac-Toe") stdscr.addstr(2, 0, f"Player 1 ({player1}): ") stdscr.addstr(3, 0, f"Player 2 ({player2}): ") stdscr.addstr(5, 0, " | | ") stdscr.addstr(6, 0, " | | ") stdscr.addstr(7, 0, " | | ") for i, square in enumerate(board): if square == player1: stdscr.addstr(i // 3 + 5, (i % 3) * 4, player1, curses.color_pair(1)) elif square == player2: stdscr.addstr(i // 3 + 5, (i % 3) * 4, player2, curses.color_pair(2)) # Function to get the player's move def get_move(): while True: stdscr.addstr(10, 0, "Enter a number between 1 and 9:") stdscr.refresh() move = stdscr.getch() try: move = int(move) if move >= 1 and move <= 9 and board[move - 1] == " ": return move - 1 else: stdscr.addstr(12, 0, "Invalid move. Try again.") except ValueError: stdscr.addstr(12, 0, "Invalid input. Try again.") # Function to check if there is a winner def check_winner(): for i in range(0, 9, 3): if board[i] == board[i + 1] == board[i + 2] != " ": return board[i] for i in range(3): if board[i] == board[i + 3] == board[i + 6] != " ": return board[i] if board[0] == board[4] == board[8] != " ": return board[0] if board[2] == board[4] == board[6] != " ": return board[2] return None # Game loop while True: draw_board() stdscr.refresh() # Get the player's move move = get_move() # Update the game board board[move] = current_player # Check for a winner winner = check_winner() if winner: stdscr.clear() stdscr.addstr(0, 0, f"Player {winner} wins!") stdscr.refresh() time.sleep(3) break # Switch the current player current_player = player2 if current_player == player1 else player1 # End the game curses.endwin() ``` **Instructions:** * Run the script in a Linux terminal. * Use the arrow keys to navigate the game board. * Enter a number between 1 and 9 to make your move. * The game ends when there is a winner or all squares are filled. >>> Use Ctrl + d or /bye to exit. >>> Send a message (/? for help)
Leave a Comment