filippofinke / tictactoe

πŸ•Ή TicTacToe game implemented in Java and JavaFX

Home Page:https://github.com/filippofinke/tictactoe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome to TicTacToe πŸ‘‹

The TicTacToe game implemented in Java and JavaFX was a requirement for the Software Engineering class at SUPSI (University of Applied Sciences and Arts of Southern Switzerland). This project aimed to provide students with practical experience in utilizing design patterns and applying software engineering principles.

🏠 Homepage

Screenshots

Click me

Game Feedback Symbols about

Motivation

Click me The motivation behind developing the TicTacToe game implemented in Java and JavaFX was to provide students with practical experience in various aspects of software engineering. The project was undertaken as a requirement for the Software Engineering class at SUPSI (University of Applied Sciences and Arts of Southern Switzerland).

The primary goal of the project was to familiarize students with working in a collaborative environment. By working together on this project, the students gained valuable experience in coordinating their efforts, dividing tasks, and integrating their individual contributions into a cohesive whole.

Another important aspect of the project was to apply an engineering approach to software development. This involved following best practices, such as using design patterns to design and implement the game. By utilizing design patterns, the students were able to create a well-structured and maintainable codebase.

The project also emphasized the use of versioning platforms, with Git being the chosen tool. Students learned how to effectively use Git for version control, enabling them to collaborate efficiently, track changes, and manage code versions throughout the development process.

The focus on user interface (UI) and user experience (UX) was another key aspect of the project. The students aimed to create an intuitive and visually appealing interface for the TicTacToe game. By considering UI/UX principles, they aimed to provide a seamless and enjoyable experience for the users.

Integration with the operating system (OS) was another important goal. The students worked on ensuring that the game seamlessly integrated with various operating systems, including Windows, Linux, and macOS. This involved addressing OS-specific considerations and leveraging platform-specific features when appropriate.

Overall, the TicTacToe project provided students with a comprehensive experience in developing software. It allowed them to apply engineering principles, utilize design patterns, collaborate effectively, use versioning platforms, focus on UI/UX, and integrate the application with the OS. Through this project, the students gained valuable insights and practical skills that will benefit them in their future software engineering endeavors.

Features

  • Save and load games
  • Change symbols
  • Change colors
  • Change language
  • Change save location
  • Shortcuts for all actions
  • Integration with the OS (Windows, Linux, macOS)
  • Play against the computer
  • Feedback for the user
  • Persistent settings

Prerequisites

  • Java 17
  • JavaFX 17
  • Maven
  • Git

Clone

git clone https://github.com/filippofinke/tictactoe

Install

Install the backend library

cd backed && mvn clean install

Create the jar file

cd frontend && mvn clean package

Usage

java -jar target/frontend-*-jar-with-dependencies.jar

Authors

πŸ‘€ Filippo Finke

πŸ‘€ Matteo Forni

Show your support

Give a ⭐️ if this project helped you!

Buy Me A McFlurry

πŸ“ License

Copyright Β© 2023 Filippo Finke.
Copyright Β© 2023 Matteo Forni.

About

πŸ•Ή TicTacToe game implemented in Java and JavaFX

https://github.com/filippofinke/tictactoe


Languages

Language:Java 100.0%