DEV Community

Ioan Papuc
Ioan Papuc

Posted on

1

Tic Tac Toe Terminal Game

This is a Python Terminal Game that was part of a Portfolio Project for the Computer Science Codecademy course.

The source code can be found on Github using the following link: https://github.com/IoanPapuc/tic_tac_toe_terminal_game-.git

Image description

Description and Functionalities

The presented program, written in Python, generates a terminal version of the Tic Tac Toe game, also known as Xs and Os, which can be played by two users.

The players are asked successively to input the location, consisting of row and column, where they want their specific character to be inserted. Every time a user enters a new symbol, the grid is updated and displayed into the terminal.

Errors generated by the introduction of non-valid inputs are identified and treated accordingly: the user is asked to re-enter a row and a column if the entered values are integers different from 1, 2 or 3 or if the respective location has been previously filled. The same thing happens if non-integer data types are entered instead of a row or column. The only exception to the last rule is made for the character 'Q' which can be entered by any player to quit the current game.

The game ends when a player first satisfies one of the three winning conditions, when a draw is reached or when one of the player uses the 'Q' option.

Users have the possibility to play multiple games in a row without running the source code from the file each time, due to a menu-managed game framework that has been set. The menu provides two options: 'S' to start a game and 'E' to exit the program.

Short Overview of the functions

  • new_board() - creates a new empty grid

  • print_board() - displays the grid in a suitable manner

  • insert_symbol(board, symbol) - asks the users to input the row and column of their own character and updates the grid accordingly before printing it; also checks and ensures the accuracy in data entry

  • full_row(board, symbol), full_column(board, symbol), full_diag(board, symbol) - return 'True' if a sequence of three identical symbols are placed in a row, column or diagonal

  • winning_verification(board, symbol) - returns 'True' if one of the three winning criteria from above is satisfied

  • play_game() - the main function in the program; includes all of the previously mentioned function and establishes the conditions for stopping the game

  • game_menu() - very simple menu-driven interface created to make multi-game sessions easier to play

Obviously, this is just a basic version of the classic Tic Tac Toe game. It can be improved and completed in countless ways such that, with enough imagination, can lead to a sufficiently complex and challenging game.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs