Giter Site home page Giter Site logo

ultimatetictactoe's Introduction


🕹️

❌ Ultimate Tic Tac Toe

CREDITS

Game description

Ultimate tic tac toe, is an extension of the taxing game of tic tac toe. Rules:

  • The game board consists of 9 game boards
  • Each game board has 9 tiles for placing a symbol.
  • Placing a token on the X (e.g. #4) requires the player to make the next move on the X (e.g. #4).
  • Players put circles or crosses in the boxes until one of them wins or there is a draw on the board.
  • The player who wins on a particular board places his symbol there.
  • Play continues until someone wins most of the boards, or there is a tie.
  • If the game on the selected board is over, the player chooses any field, on any board

Source: https://en.wikipedia.org/wiki/Ultimate_tic-tac-toe

(back to top)

Built With

This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.

(back to top)

Installation

Since I had a lot of problems to fire it up in my configuration (WSL2 Ubuntu 20.04) here is how I managed to fire the project in JetBrains IntelliJ

sudo apt install openjdk-17-jre-headless
sudo apt install libgtk-3-0

I also downloaded JavaFX library version openjfx-18.0.1_linux-x64_bin-jmods (JMODS - this is very important, because we work with modular Java) and put it in the lib/ directory somewhere on my desktop.

Because of its size (about 100 MB) I did not put the library in the repository

Open the project

git clone https://github.com/Ultimate-TicTacToe-Java/UltimateTicTacToe

Open UltimateTicTacToe in IntelliJ using File -> Open.

Add the configuration Add configuration -> Application.

  • Choose openjdk-18 as the environment.

  • Select Game from the Chose main class field.

Close the configuration window. 3.

  1. add the JavaFX library

File -> Project Structure... -> Libraries -> + -> Java

In the path field, paste

<root path to project>/UltimateTicTacToe/lib/openjfx-18.0.1_linux-x64_bin-jmods/lib

Build the project

(back to top)

Backlog

  • create a smaller tic-tac-toe game board
  • add UML diagram
  • create main game board consisting of 9 smaller fields
  • handling the OnClick event when the player presses the mouse button on a given field
  • check if the player has won the game in a given field
  • check if the player has won the game on the main board
  • add new design
  • reset button
  • exit button
  • adding appropriate notifications during the game and in case of a player victory
  • notifications in console are done
  • add design using SceneBuilder
  • testing the game
  • network implementation of the game (optional)

Class diagram

(back to top)

ultimatetictactoe's People

Contributors

ad-jusk avatar lucasbywalec avatar maciejiwan avatar matiduda avatar

Stargazers

 avatar

Forkers

maciejiwan

ultimatetictactoe's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.