leo/examples/tictactoe/README.md
Pranav Gaddamadugu 975677f832 WIP docs
2022-09-20 19:20:22 -07:00

40 lines
1.0 KiB
Markdown

# Tic Tac Toe
A simple Tic Tac Toe game written in Leo.
## Representing State
Leo allows users to define composite data types with the `circuit` keyword.
The game board is represented by a circuit called `Board`, which contains three `Row`s.
An alternative representation would be to use an array, however, these are not yet supported in Leo.
## Language Features
- `circuit` declarations
- conditional statements
- early termination. Leo allows users to return from a function early using the `return` keyword.
## Running the Program
Leo provides users with a command line interface for compiling and running Leo programs.
Users may either specify input values via the command line or provide an input file in `inputs/`.
### Providing inputs via the command line.
1. Run
```bash
leo run <function_name> <input_1> <input_2> ...
```
See `./run.sh` for an example.
### Using an input file.
1. Modify `inputs/tictactoe.in` with the desired inputs.
2. Run
```bash
leo run <function_name>
```
For example,
```bash
leo run new
leo run make_move
```