How to make a tick Tack Toe game in python

How to make a tick Tack Toe game in python


Introduction

Tic-tac-toe is a classic game that is simple to understand and easy to code. In this article, we will walk through the steps of creating a Tic-tac-toe game using the Python programming language. Whether you are a beginner or an experienced programmer, this tutorial will provide you with the knowledge and tools you need to build your own Tic-tac-toe game.

Setting up the Game Board

The first step in creating our Tic-tac-toe game is to set up the game board. We will use a 2-dimensional list to represent the game board, with each element in the list representing a space on the board. We will use the characters "X" and "O" to represent the two players, and we will use the character "-" to represent an empty space on the board.

To set up the game board, we will create a function called "init_board()". This function will create an empty 3x3 game board and return it as a 2-dimensional list. Here is the code for the "init_board()" function:

def init_board():
    board = [["-" for i in range(3)] for j in range(3)]
    return board
How to make a tick Tack Toe game in python

Displaying the Game Board

Once we have set up the game board, we need a way to display it on the screen. We will create a function called "display_board()" that takes a game board as a parameter and prints it to the screen. Here is the code for the "display_board()" function:

def display_board(board):
    for row in board:
        print(" ".join(row))

Checking for a Winner

To determine if a player has won the game, we need to check if they have placed three of their symbols in a row, column, or diagonal. We will create a function called "check_win()" that takes a game board as a parameter and returns "X" if player X has won, "O" if player O has won, and "-" if the game is a tie or if no one has won yet.

def check_win(board):
    # check rows
    for row in board:
        if row[0] == row[1] == row[2]:
            return row[0]
	# check columns
    for col in range(3):
        if board[0][col] == board[1][col] == board[2][col]:
        return board[0][col]

    # check diagonals
    if board[0][0] == board[1][1] == board[2][2]:
        return board[0][0]
    if board[0][2] == board[1][1] == board[2][0]:
        return board[0][2]

    # check for tie
    if "-" not in [cell for row in board for cell in row]:
        return "-"
    return None

Handling Player Input

To allow the players to make their moves, we will create a function called "get_player_input()" that takes the current player's symbol as a parameter and prompts them to enter the row and column where they would like to place their symbol. We will then update the game board with the player's symbol.

def get_player_input(player_symbol):
    row = int(input("Enter row (0-2): "))
    col = int(input("Enter column (0-2): "))
    if board[row][col] == "-":
        board[row][col] = player_symbol
        return True
    else:
        print("That space is already occupied. Please choose another.")
        return False

Putting it all together

Now that we have all of the functions in place, we can put them together to create the complete Tic-tac-toe game. We will create a main function called "play_game()" that will call all of the other functions in the correct order to run the game. Here is the complete code for the "play_game()" function:

def play_game():
    board = init_board()
    current_player = "X"
    while True:
        display_board(board)
        if not get_player_input(current_player):
            continue
        winner = check_win(board)
        if winner:
            display_board(board)
            print(f"{winner} wins!")
            break
        current_player = "O" if current_player == "X" else "X"

Conclusion

In this tutorial, we have covered the steps for creating a Tic-tac-toe game using the Python programming language. By following the instructions and using the provided code, you should now be able to create your own Tic-tac-toe game and customize it to your liking. Whether you are just learning to code or are an experienced programmer, this tutorial is a great way to practice your skills and create a fun and engaging game.

0 Comments