Overview
This is a local, same-screen Java recreation of the tile-placement board game Azul for a configurable number of players. It implements the game’s factory-offer drafting, pattern-line placement, wall-tiling, and scoring rules.
Features
- Title and setup screens to choose the number of players
- Factories arranged in a circle, each holding drafted tiles plus a shared center pile
- Pattern-line and wall grid placement with validation of legal moves
- Tile trashing when a drafted color can’t be placed
- End-of-round detection and scoring, including penalties
- End-of-game scoring and a game-over screen
- Custom tile/array/grid model classes (
TileArray,TileList,TileGrid) backing the board state
How it works
The game is modeled around a Game state machine (TITLE, SETUP, CHOOSING, PLACING, ROUNDSCORING, ENDSCORING, GAMEOVER) that drives which screen and interactions are active. Player boards, factories, and the center pool are built from custom tile-container classes that handle positioning and rendering of individual tiles, and a Swing-based Screen/JPanel layer handles drawing and mouse input for drafting and placing tiles.
