2023-07-24 20:33:41 +03:00
|
|
|
#!/bin/bash
|
|
|
|
# First check that Leo is installed.
|
|
|
|
if ! command -v leo &> /dev/null
|
|
|
|
then
|
|
|
|
echo "leo is not installed."
|
|
|
|
exit
|
|
|
|
fi
|
2022-09-20 05:30:11 +03:00
|
|
|
# Create a new game.
|
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 0: Creating a new game of Tic-Tac-Toe ########
|
|
|
|
######## ########
|
|
|
|
######## | | | | ########
|
|
|
|
######## | | | | ########
|
|
|
|
######## | | | | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
leo run new || exit
|
2022-09-20 05:30:11 +03:00
|
|
|
|
2022-09-22 01:59:33 +03:00
|
|
|
# Have the Player 1 make a move.
|
2022-09-20 05:30:11 +03:00
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 1: Player 1 makes the 1st move. ########
|
|
|
|
######## ########
|
|
|
|
######## | x | | | ########
|
|
|
|
######## | | | | ########
|
|
|
|
######## | | | | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
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 } }" || exit
|
2022-09-20 05:30:11 +03:00
|
|
|
|
2022-09-22 01:59:33 +03:00
|
|
|
# Have the Player 2 make a move.
|
2022-09-20 05:30:11 +03:00
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 2: Player 2 makes the 2nd move. ########
|
|
|
|
######## ########
|
|
|
|
######## | x | | | ########
|
|
|
|
######## | | o | | ########
|
|
|
|
######## | | | | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
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 } }" || exit
|
2022-09-20 05:30:11 +03:00
|
|
|
|
2022-09-22 01:59:33 +03:00
|
|
|
# Have the Player 1 make a move.
|
2022-09-20 05:30:11 +03:00
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 3: Player 1 makes the 3rd move. ########
|
|
|
|
######## ########
|
|
|
|
######## | x | | | ########
|
|
|
|
######## | | o | | ########
|
|
|
|
######## | x | | | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
leo run make_move 1u8 3u8 1u8 "{ r1: { c1: 1u8, c2: 0u8, c3: 0u8 }, r2: { c1: 0u8, c2: 2u8, c3: 0u8 }, r3: { c1: 0u8, c2: 0u8, c3: 0u8 } }" || exit
|
2022-09-20 05:30:11 +03:00
|
|
|
|
2022-09-22 01:59:33 +03:00
|
|
|
# Have the Player 2 make a move.
|
2022-09-20 05:30:11 +03:00
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 4: Player 2 makes the 4th move. ########
|
|
|
|
######## ########
|
|
|
|
######## | x | | | ########
|
|
|
|
######## | o | o | | ########
|
|
|
|
######## | x | | | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
leo run make_move 2u8 2u8 1u8 "{ r1: { c1: 1u8, c2: 0u8, c3: 0u8 }, r2: { c1: 0u8, c2: 2u8, c3: 0u8 }, r3: { c1: 1u8, c2: 0u8, c3: 0u8 } }" || exit
|
2022-09-20 05:30:11 +03:00
|
|
|
|
2022-09-22 01:59:33 +03:00
|
|
|
# Have the Player 1 make a move.
|
2022-09-20 05:30:11 +03:00
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 5: Player 1 makes the 5th move. ########
|
|
|
|
######## ########
|
|
|
|
######## | x | | | ########
|
|
|
|
######## | o | o | x | ########
|
|
|
|
######## | x | | | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
leo run make_move 1u8 2u8 3u8 "{ r1: { c1: 1u8, c2: 0u8, c3: 0u8 }, r2: { c1: 2u8, c2: 2u8, c3: 0u8 }, r3: { c1: 1u8, c2: 0u8, c3: 0u8 } }" || exit
|
2022-09-20 05:30:11 +03:00
|
|
|
|
2022-09-22 01:59:33 +03:00
|
|
|
# Have the Player 2 make a move.
|
2022-09-20 05:30:11 +03:00
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 6: Player 2 makes the 6th move. ########
|
|
|
|
######## ########
|
|
|
|
######## | x | o | | ########
|
|
|
|
######## | o | o | x | ########
|
|
|
|
######## | x | | | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
leo run make_move 2u8 1u8 2u8 "{ r1: { c1: 1u8, c2: 0u8, c3: 0u8 }, r2: { c1: 2u8, c2: 2u8, c3: 1u8 }, r3: { c1: 1u8, c2: 0u8, c3: 0u8 } }" || exit
|
2022-09-20 05:30:11 +03:00
|
|
|
|
2022-09-22 01:59:33 +03:00
|
|
|
# Have the Player 1 make a move.
|
2022-09-20 05:30:11 +03:00
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 7: Player 1 makes the 7th move. ########
|
|
|
|
######## ########
|
|
|
|
######## | x | o | | ########
|
|
|
|
######## | o | o | x | ########
|
|
|
|
######## | x | x | | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
leo run make_move 1u8 3u8 2u8 "{ r1: { c1: 1u8, c2: 2u8, c3: 0u8 }, r2: { c1: 2u8, c2: 2u8, c3: 1u8 }, r3: { c1: 1u8, c2: 0u8, c3: 0u8 } }" || exit
|
2022-09-20 05:30:11 +03:00
|
|
|
|
2022-09-22 01:59:33 +03:00
|
|
|
# Have the Player 2 make a move.
|
2022-09-20 05:30:11 +03:00
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 8: Player 2 makes the 8th move. ########
|
|
|
|
######## ########
|
|
|
|
######## | x | o | | ########
|
|
|
|
######## | o | o | x | ########
|
|
|
|
######## | x | x | o | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
leo run make_move 2u8 3u8 3u8 "{ r1: { c1: 1u8, c2: 2u8, c3: 0u8 }, r2: { c1: 2u8, c2: 2u8, c3: 1u8 }, r3: { c1: 1u8, c2: 1u8, c3: 0u8 } }" || exit
|
2022-09-20 05:30:11 +03:00
|
|
|
|
|
|
|
echo "
|
2022-09-22 01:59:33 +03:00
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## STEP 9: Player 1 makes the 9th move. ########
|
|
|
|
######## ########
|
|
|
|
######## | x | o | x | ########
|
|
|
|
######## | o | o | x | ########
|
|
|
|
######## | x | x | o | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|
2023-02-16 20:25:20 +03:00
|
|
|
leo run make_move 1u8 1u8 3u8 "{ r1: { c1: 1u8, c2: 2u8, c3: 0u8 }, r2: { c1: 2u8, c2: 2u8, c3: 1u8 }, r3: { c1: 1u8, c2: 1u8, c3: 2u8 } }" || exit
|
2022-09-22 01:59:33 +03:00
|
|
|
|
|
|
|
echo "
|
|
|
|
###############################################################################
|
|
|
|
######## ########
|
|
|
|
######## Game Complete! Players 1 & 2 Tied ########
|
|
|
|
######## ########
|
|
|
|
######## | x | o | x | ########
|
|
|
|
######## | o | o | x | ########
|
|
|
|
######## | x | x | o | ########
|
|
|
|
######## ########
|
|
|
|
###############################################################################
|
|
|
|
"
|