oxo-pharo

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

https://github.com/matijakljajic/oxo-pharo

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.8%) to scientific vocabulary

Keywords

bloc game pharo seminar-paper
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: matijakljajic
  • License: mit
  • Language: Smalltalk
  • Default Branch: main
  • Homepage:
  • Size: 581 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • Open Issues: 5
  • Releases: 0
Topics
bloc game pharo seminar-paper
Created over 1 year ago · Last pushed 12 months ago
Metadata Files
Readme License Citation

README.md

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: Smalltalk 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.

Owner

  • Name: Matija Kljajić
  • Login: matijakljajic
  • Kind: user
  • Location: Serbia

Aspiring Software Developer | Student

Citation (CITATION.cff)

cff-version: 1.2.0
title: Xs&Os and its Minimax implementation in Pharo
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Matija
    family-names: Kljajić
    email: contact@matijakljajic.com
    orcid: 'https://orcid.org/0009-0007-9039-147X'
repository-code: 'https://github.com/matijakljajic/oxo-pharo'
keywords:
  - Pharo
  - Smalltalk
  - Bloc
  - Object-Oriented Programming
  - Minimax
  - Artificial Intelligence in Games
  - Testing
  - Video Game Development
license: MIT

GitHub Events

Total
  • Push event: 2
Last Year
  • Push event: 2

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 12
  • Total pull requests: 10
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 40 minutes
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.08
  • Average comments per pull request: 0.0
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 12
  • Pull requests: 10
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 40 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.08
  • Average comments per pull request: 0.0
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • matijakljajic (2)
Pull Request Authors
  • matijakljajic (9)
Top Labels
Issue Labels
Pull Request Labels