Wordlcom
Wordlcom is a project developed during the LC course, inspired by the popular game Wordle. The game was recreated in Minix.
Structure & Objective
The game’s objective is to guess a target five-letter word (in English) within seven attempts. After each guess, the game provides feedback on each letter’s correctness using color codes:
- Gray: The letter is not in the target word.
- Yellow: The letter is in the target word but in a different position.
- Green: The letter is in the correct position.
The target word list can be customized by passing it as an argument when running the game, allowing for changes in language and word count.
Implemented Features
- Timer: Manages game time and handles screen drawing at 20fps using interrupts.
- Keyboard: Enables the player to input letters and interact with the game. Handles keyboard interrupts and converts makecodes to readable characters.
- Mouse: Allows the player to select game board squares and menu options using the mouse. Custom handlers manage mouse movement and clicks.
- VBE (Video BIOS Extension): Handles drawing the game’s graphical elements, utilizing double buffering to reduce drawing lag. The display runs at 1280x1024 resolution in 5:6:5 color mode.
Code Organization
- devices/: Contains implementations for handling peripherals (keyboard, mouse, timer, serial port, and video card).
- game/: Manages game logic, word validation, and player actions. It follows an MVC structure.
- events/: Manages the creation, dispatch, and handling of game events.
- graphics/: Manages drawing all graphical elements on the screen.
- queue/: Implements a queue data structure, primarily for the serial port.
- scheduler/: Manages scheduled tasks within the game.
- vector/: Implements a vector data structure, used throughout the project.
- protocol/: Provides the framework for multiplayer gaming between two virtual machines.
Want to know more? Click here
Team:
- André Lima (Programmer)
- Guilherme Almeida (Programmer)
- Jorge Sousa (Programmer)
- Mariana Lobão (Programmer)