Skip to content

guisalmeida/8puzzle-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

8 Puzzle Game in Java

main screen

Introduction

This project was a case study to apply object-oriented methodologies to architect the software in an organized and reusable manner.
Using technologies and libraries such as Junit, Mockito, JDBC, PostgreSQL and Swing to create serialization of game state and the graphical interface.

About the Game

main screen

The 8 Puzzle Game, also known as the sliding puzzle, is a classic puzzle game consisting of a 3×3 grid with eight numbered tiles and one space (0). Players solve the puzzle by sliding tiles into the space (0) to arrange them in numerical order from 1 to 8. This project implements a complete solution with a user-friendly graphical interface, persistent storage capabilities, and multiplayer support through player profiles and saved game states.

Objectives

  • Apply object-oriented concepts to build software, such as:

    • Abstraction
    • Encapsulation
    • Composition
    • Inheritance
    • Polymorphism
  • Create a test-driven development (TDD) oriented project.

  • Keep the code clean without bad smells, with semantic naming of classes, methods, and attributes.

  • Implement independent MVC layers.

  • Use design patterns.

  • Persist the game state in a PostgreSQL database.

Technologies

  • Java: the primary programming language for the application.
  • JDBC: for database connectivity and executing SQL queries.
  • PostgreSQL: relational database for storing game states and player profiles.
  • Maven: project build and dependency management.
  • JUnit: testing frameworks for unit and integration tests.
  • Swing: for building the graphical user interface.

About

A puzzle game created to learn and pratice Object Oriented Programming in Java.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages