|
|
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 |
|