Skip to content

Tic-tac-toe / noughts and crosses with minimax done in Pharo Smalltalk

License

Notifications You must be signed in to change notification settings

matijakljajic/oxo-pharo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

showcase

Xs&Os / Tic-Tac-Toe / Noughts & Crosses

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.

First steps

How to load the project?

Load it into your image with:

Metacello new
        baseline: 'OXO';
        repository: 'github://matijakljajic/oxo-pharo:main/src';
        load

How to start the game?

Executing:

  • OXO playVsPlayer will start a 2-player game.
  • OXO playVsComputer will start a 1-player game.

References

Sidenote: Always check out the Pharo books webpage for possible newer versions of some of the references mentioned below.

Get started with Pharo

  • Learning Object-Oriented Programming, Design and TDD with Pharo | [PDF^]
  • Pharo By Example 9 | [PDF^]
  • Pharo with Style | [PDF^]

Get started with Bloc

  • A memory game: A simple tutorial with Bloc | [PDF^]

An interesting read

  • How many Tic-Tac-Toe (noughts and crosses) games? — se16.info | [Webpage^]
  • Object-Oriented Design with Smalltalk (Dr. Stéphane Ducasse — Bern Lectures) | [PDF^]

License

Code found in this repository is licensed under MIT.

About

Tic-tac-toe / noughts and crosses with minimax done in Pharo Smalltalk

Topics

Resources

License

Stars

Watchers

Forks