This is a simulation of the Xs & Os / Tic-Tac-Toe / Noughts & Crosses game with the respective Minimax algorithm implementation, showcased in the Pharo environment using Bloc, Pharo's low-level UI framework. The goal of this work is to representatively show the power of TDD and pure object-oriented programming, with the ability to interact with objects live for an easier debugging experience.
- Note #1: This project was done for a seminar paper. You can download and read the paper over this link (in Serbian). The seminar paper follows the project up until this commit, and from that point onwards documentation found in the codebase supersedes the seminar paper.
- Note #2: Pharo MOOC served as a sort of prerequisite before I started working on the seminar paper. Some info about my progress regarding the MOOC can be found here.
Load it into your image with:
Metacello new
baseline: 'OXO';
repository: 'github://matijakljajic/oxo-pharo:main/src';
load
Executing:
OXO playVsPlayer
will start a 2-player game.OXO playVsComputer
will start a 1-player game.
Sidenote: Always check out the Pharo books webpage for possible newer versions of some of the references mentioned below.
- Learning Object-Oriented Programming, Design and TDD with Pharo | [PDF^]
- Pharo By Example 9 | [PDF^]
- Pharo with Style | [PDF^]
- A memory game: A simple tutorial with Bloc | [PDF^]
- How many Tic-Tac-Toe (noughts and crosses) games? — se16.info | [Webpage^]
- Object-Oriented Design with Smalltalk (Dr. Stéphane Ducasse — Bern Lectures) | [PDF^]
Code found in this repository is licensed under MIT.