Here you can find documentation that I wrote about the project, I tried to cover subject like architecture and algorithm.
If you don't use Vagrant you will also need to install pip the Python's package manager and the package enum34.
$ sudo easy_install pip
$ pip install enum34$ sudo apt-get install python-pip
$ pip install enum34You have to add the pip.exe which is install into you python/scripts folder to your environment variable
$ pip install enum34$ git clone https://github.com/fabientownsend/tictactoe$ cd /tictactoe
$ vagrant up
$ vagrant sshRunning all tests:
$ python -m unittest discoverRunning a single test class:
$ python -m unittest tests.test_computerRunning a single test method:
$ python -m unittest tests.test_comuter.test_computer.test_set_mark_with_crossRunn the game
$ cd /src
$ python python main.py- First menu you can choose the language 1 and 2
- First menu you can choose the game mode between 1, 2 and 3
- You have to pick up which player start between 1 and 2
- You can put a mark on the board between 0 and 8
$ python main.py # launch the game
$ 1 # English language
$ 1 # Human v. Human game
$ 1 # Player1 will start
$ 4 # You will put your mark at the position 4$ python main.py
$ 1 # English language
$ 2 # Human v. Computer game
$ 2 # Player2 (the computer) will start, you can't beat him$ python main.py
$ 2 # French language
$ 2 # Computer v. Computer game
$ 2 # Player2 will start- add French language
- implement language selction
- implement factory method for players creation
- improve performance with alpha-beta algorithm - branch
- record performence about minimax vs alpha-beta [cProfile minimax] (https://docs.google.com/spreadsheets/d/142hNoJTuchdR1oXtfKp71UrI2NxouC0Ekcp1wtYfZY0/edit?usp=sharing) - cProfile alphabeta minimax: 25.34sec / alpha-beta: 1.47 sec
- Choose the library for the GUI interface https://pythonspot.com/gui/
- implement GUI
