Attempt to make a high-performance simulation of tic-tac-toe using relatively low-level technology (C language was chosen π)!
Here we have two different ways to use this, project:
- Using Docker and GNU Make (Extremely Recommended)
- Using your own computer where can result in compilation/execution bugs
There's a different requirement list and steps for each one of the
ways that you can use the project, use the following <details>
tag to get more info!
Docker π³ + Make π
- Clone the repository + remove git folder:
git clone https://github.com/nasccped/tic-tac-low
cd tic-tac-low
rm -rf .git # use `Remove-Item -Recurse -Force .git` if you're at Windows PowerShell
- Within the cloned repo, build the image using the make command:
make buildimage
# if you don't have make, try using: `docker build -t tic-tac-low .`
- Run the container from the build image:
make runimage
# if you don't have make, try using: `docker run -it --name tic-tac-low-container tic-tac-low`
- Have fun! If you also want to remove the created image/container, use:
make cleanimage
# if you don't have make, try using:
# `docker rm tic-tac-low-container to remove the container`
# `docker rmi tic-tac-low to remove the image`
On your computer π¨βπ»π©βπ»
The dependencies instalation can difer from OS to OS, so I won't specify how to get it. Use your package manager, winget, ...
- Clone the repository + remove git folder:
git clone https://github.com/nasccped/tic-tac-low
cd tic-tac-low
rm -rf .git # use `Remove-Item -Recurse -Force .git` if you're at Windows PowerShell
- Within the cloned repo, compile the program using the make command:
make build
- Run the compiled program:
make run
- Have fun! If you also want to remove the created binaires, use:
make clean
Caution
Using Docker is Highly recommended. It's the only way I can guarantee it will work on your machine the same way it works on mine.
Also, Windows OS is having trouble with the make clean
command +
program control flux during runtime! Basically, Running the program
on Windows can differ from running it on a UNIX like OS, even if
there's no errors durring compilations. I don't know how to fix it
and I don't intend. Just learn Docker π«‘