1
0
Fork 0
Commit graph

43 commits

Author SHA1 Message Date
eb7486f57c feat(menu): play "menu enter" sound when button action is triggered 2025-10-28 09:52:58 +01:00
ef798896c3 feat(menu): use list.SetSelected() on Enter() so that no audio is played. 2025-10-28 09:47:50 +01:00
f3d7995bc2 feat(ui): add ListBox.SetSelected()
this function will set the selected widget without triggering a onSelect event.
2025-10-28 09:47:19 +01:00
8a02249845 feat: implement persistant configuration 2025-10-28 06:38:56 +01:00
30b194619f feat(ui): add options menu 2025-10-28 06:38:56 +01:00
6cf0e4abb4 feat(ui): implement new ui system 2025-10-28 06:38:56 +01:00
0bc5863284 feat(ui): call onSelect in Select() function and make Next()/Previous() use that function 2025-10-28 06:38:55 +01:00
a1756549f9 feat(ui): menu should not call audio module directly, make it more modular with and onSelect event callback 2025-10-28 06:38:55 +01:00
bcd6025aa3 refactor: move ui code from game/state/handlers/menu.go to its own package in game/ui 2025-10-28 06:38:55 +01:00
190c6ad914 chore: rename Rows to Lines in Grid as Lines are more common in tetris. 2025-10-28 06:38:55 +01:00
db9ec53d35 feat: add line clear animation 2025-10-28 06:38:55 +01:00
ca481ad7c7 feat(menu): put entries rendering into its own function 2025-10-07 18:19:35 +02:00
9b11f3b220 feat(menu): draw logo 2025-10-06 18:51:15 +02:00
4319ec55e5 feat(gameover): make gameover state abit more interesting. 2025-10-06 18:15:40 +02:00
53ac3840ba feat(gameover): only allow the user to switch state after the gameover sound has been played. 2025-09-26 12:10:54 +02:00
8f8be3d6f7 feat(gameover): center text 2025-09-24 19:48:57 +02:00
dcad4ad0a5 feat(gameover): play gameover sound 2025-09-24 19:48:57 +02:00
68b67e4585 feat(menu): play sound effects. 2025-09-24 19:48:57 +02:00
288e710b9f feat: improve menu 2025-09-24 19:48:34 +02:00
35e73f2b37 feat(fsm): make the special state "quit" exit the fsm. 2025-09-24 18:32:50 +02:00
cd750a5508 fix: reset state on Enter() 2025-09-24 18:03:28 +02:00
54a7821df0 feat: detect game over condition and switch state. 2025-09-24 18:02:07 +02:00
6d15a806f6 feat: add basic game over state 2025-09-21 12:18:02 +02:00
53a31ea8ad feat: add basic menu state 2025-09-21 12:17:53 +02:00
29225b7007 feat: refactor gameplay logic from main.go to a state machine handler. 2025-09-21 12:16:42 +02:00
75b4981566 feat: add basic state machine implementation 2025-09-21 12:15:17 +02:00
5c4503268f feat: add game/shape_queue.go 2025-09-17 06:38:37 +02:00
14520e047c feat: add score type 2025-09-15 08:50:52 +02:00
2a7f394b7f feat(grid): add ClearFullRows() 2025-09-15 08:06:39 +02:00
1d7423d886 feat(grid): add MoveRowDown() 2025-09-15 08:06:02 +02:00
890331991f feat(grid): add ClearRow() 2025-09-15 08:05:39 +02:00
eb31bdf50c feat(grid): add IsRowFull() 2025-09-15 08:05:02 +02:00
6131b751e5 feat(shape): add RotateCW() and RotateCCW() 2025-09-15 06:54:20 +02:00
aeaf6cb5c4 feat(collision): check grid bounds in x axis. 2025-09-15 06:47:48 +02:00
dab2570b76 feat(collision): check for collision against blocks in the grid. 2025-09-14 22:38:10 +02:00
27c10af424 feat: add CheckShapeCollision() 2025-09-14 22:16:30 +02:00
02157a12ea feat(draw): add DrawShape() 2025-09-14 22:16:29 +02:00
4dd6d93653 feat(draw): add grid.DrawBlock() 2025-09-14 22:16:29 +02:00
656487903e feat: add shape struct 2025-09-14 22:16:29 +02:00
1b9ba081e2 feat: make rendering work with the grid struct. 2025-09-14 22:16:29 +02:00
2a84c7bf6a feat: add game/grid.go 2025-09-14 22:16:29 +02:00
6e21b1fcb2 feat: add game/block.go
This type represents a single block in a grid.
2025-09-14 22:16:29 +02:00
0245a5cb43 Initial commit 2025-09-14 22:16:29 +02:00