A Tic‐tac‐toe game
Go to file
Christophe Parent b0e5be5c21 Merge branch 'hotfix-0.1.1' into develop 2023-11-20 21:47:53 -08:00
src Add license notice at top of the file 2023-11-20 21:35:15 -08:00
.gitignore Play in Terminal 2023-10-27 22:41:25 -07:00
Cargo.lock Add license notice at top of the file 2023-11-20 21:35:15 -08:00
Cargo.toml Add license notice at top of the file 2023-11-20 21:35:15 -08:00
LICENSE Initial commit 2023-10-27 06:35:40 +00:00
README.md Clean Readme file 2023-10-27 23:07:17 -07:00
demo.png Play in Terminal 2023-10-27 22:41:25 -07:00

README.md

OOX

The name ”OOX” is a mutually recursive acronym: “OOX” stands for “OOX Or XOO”, while “XOO” stands for “XOO Or OOX”. Other than that this is your typical Tictactoe game, used as a training ground to explore the development of games in Rust.

OOX in action

Usage

Requirements

Rust must be installed on your system; the oldest supported version is 1.63.0. No other dependencies are required.

Installing

Clone this repository locally:

$ git clone https://forge.thatspaceandtime.org/ooxie/oox.git
$ cd oox

Building

To build the binary, execute:

$ cargo build --release

Running

To run the game, either execute (this will also build if need be):

$ cargo run --release

or:

$ ./target/release/oox

Playing

SETUP: This game is for two players. Player 1 plays with marks noted ”X” and Player 2 with marks noted ”O”. The board consists of 3 rows and 3 columns, and is empty at the start of the game.

GOAL: Each player tries to align three of their marks on the board.

GAMEPLAY: Each player takes their turn alternatively, starting with Player 1. Each turn a player must place one mark on one of the free spaces of the board; they do this by entering the coordinates of the desired space (for example ”a1”).

END OF GAME: If one player succeeds in aligning three of their marks, either horizontally, vertically, or diagonally, they win the game. If no player is able to do so by the time the board is full, the game is declared a draw.

License

The source code of this project is licensed under a GNU General Public License v3.0.