An interactive browser-based dice game built for BCIT's COMP 2132 course. Developed to apply core JavaScript concepts — DOM manipulation, event-driven logic, and real-time UI updates — in a hands-on project format.
- Dice randomization with probability-based roll outcomes
- Real-time DOM updates reflecting each roll without page reload
- Score tracking and round management logic
- Game reset and win condition detection
Problem Solving & Lessons Learned
Problem Solving
The initial challenge was managing game state across multiple rolls without losing track of scores. I resolved this by centralizing state in a single JavaScript object and updating the UI from that source of truth — avoiding inconsistencies from scattered variable updates.
Lessons Learned
Gained a solid understanding of event-driven programming and how the DOM responds to state changes. Learned to separate game logic from display logic, making the code easier to debug and extend.
Future Improvements
- Add multiplayer support with turn-based flow
- Animate dice rolls with CSS transitions
- Persist high scores using localStorage
Python
JavaScript
HTML
CSS
Flask
Django
React
Node.js
SQL
MySQL
PostgreSQL
Linux
AWS
Docker
Git
Cloud Computing
Networking
Bash scripting