Uniandes-ISIS1204-OOP

Collection of three Object-Oriented Programming course projects built with Java Swing and HTML in the Cupi2 context: Sudoku, GuessTheCode, and LightsOut.

View on GitHub

What it does

Sudoku

Desktop Swing application that loads Sudoku boards from properties files and lets users validate, restart, and solve boards.

GuessTheCode

Java client/server game with a server GUI, client GUIs, socket-based matches, and Apache Derby-backed player statistics.

LightsOut

Static HTML game page with a 7x7 window-button grid and image assets under LightsOut/img.

Games

Sudoku gameplay screenshot

Sudoku

Desktop Java Swing application with configurable boards loaded from .properties files. The interface includes movement controls, detailed game information, and actions to load, validate, restart, and solve Sudoku puzzles from Sudoku/data, with the full board visible at once.

GuessTheCode gameplay screenshot

GuessTheCode

Java Swing client-server game where players connect to a central server to play code-guessing rounds. The server coordinates matches over sockets, drives turn-based gameplay, and stores player statistics with embedded Apache Derby.

LightsOut gameplay screenshot

LightsOut

Static HTML puzzle page with a 7x7 button grid and Cupi2-style assets from LightsOut/img. It can be opened directly in the browser with no build step required, showcasing the full game panel and visual style.

Tech stack

Java Swing HTML5 Apache Derby

Getting started

Sudoku

cd Sudoku
javac -encoding UTF-8 -d bin $(find source -name "*.java")
java -cp bin uniandes.cupi2.sudoku.interfaz.InterfazSudoku

GuessTheCode

cd GuessTheCode
javac -encoding UTF-8 -d bin $(find source -name "*.java")
java -cp "bin:lib/derby.jar" uniandes.cupi2.cupiCode.servidor.interfaz.InterfazCupiCode
cd GuessTheCode
java -cp bin uniandes.cupi2.cupiCode.cliente.interfaz.InterfazJugador

LightsOut

cd LightsOut
# Open lucesapagadas.html in your web browser

Project structure

. ├── GuessTheCode/ │ ├── source/ │ │ └── uniandes/cupi2/cupiCode/ │ │ ├── servidor/ (InterfazCupiCode, CupiCode, Encuentro, etc.) │ │ └── cliente/ (InterfazJugador, Codigo, Jugador, threading classes) │ ├── test/source/ (CodigoTest.java) │ ├── data/servidor.properties │ └── lib/derby.jar ├── Sudoku/ │ ├── source/uniandes/cupi2/sudoku/ (InterfazSudoku, Sudoku, Casilla, panels) │ └── data/ (sudoku*.properties + images) ├── LightsOut/ │ ├── lucesapagadas.html │ └── img/ └── LICENSE

License

MIT License (see LICENSE).