A standard game of Tic-Tac-Toe in Leo.
⭕ ❕ ⭕ ❕ ❌
➖ ➕ ➖ ➕ ➖
⭕ ❕ ❌ ❕ ⭕
➖ ➕ ➖ ➕ ➖
❌ ❕ ❌ ❕ ⭕
Leo allows users to define composite data types with the struct
keyword.
The game board is represented by a struct called Board
, which contains three Row
s.
An alternative representation would be to use an array, however, these are not yet supported in Leo.
struct
declarations- conditional statements
- early termination. Leo allows users to return from a function early using the
return
keyword.
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/
.
- Run
leo run <function_name> <input_1> <input_2> ...
See ./run.sh
for an example.
- Modify
inputs/tictactoe.in
with the desired inputs. - Run
leo run <function_name>
leo execute <function_name> <input_1> <input_2> ...
leo run new
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
leo run make_move 1u8 1u8 1u8 "{ r1: { c1: 0u8, c2: 0u8, c3: 0u8 }, r2: { c1: 0u8, c2: 0u8, c3: 0u8 }, r3: { c1: 0u8, c2: 0u8, c3: 0u8 } }"
1 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
leo run make_move 2u8 2u8 2u8 "{ r1: { c1: 1u8, c2: 0u8, c3: 0u8 }, r2: { c1: 0u8, c2: 0u8, c3: 0u8 }, r3: { c1: 0u8, c2: 0u8, c3: 0u8 } }"
1 | 0 | 0 |
0 | 2 | 0 |
0 | 0 | 0 |
#2
Updated on 2024-06-13
Updated on 2024-06-19
Updated on 2024-06-24
Updated on 2024-06-28
Updated on 2024-07-01
Updated on 2024-07-06
Updated on 2024-07-07
Updated on 2024-07-08
Updated on 2024-07-14
Updated on 2024-07-17
Updated on 2024-07-23
Updated on 2024-07-25
Updated on 2024-08-13
Updated on 2024-08-18
Updated on 2024-08-23
Updated on 2024-08-29
Updated on 2024-09-29
Updated on 2024-10-17
Updated on 2024-10-24
Updated on 2024-12-06
Updated on 2025-07-05