Thursday, November 04, 2021

Glimmer DSL for LibUI Tetris Example

I recently got an issue request to build games in Glimmer DSL for LibUI, so I went ahead and built Glimmer Tetris.

Of course, I followed the Glimmer Process in building it, so I released the following version changes of Glimmer DSL for LibUI along the way:

0.2.20:

  • Improve examples/tetris.rb with menus, high score dialog, and options
  • Prevent examples/tetris.rb `window` from being resized
  • Support `window` `resizable` property (`resizable false` means one cannot resize `window`)
  • Support calling `window.content_size = [x, y]` as an alternative to `window.set_content_size(x, y)`
  • Fix issue with hooking `on_content_size_changed` listener to `window`
  • Fix issue with using `window` `content_size` property getter

0.2.19:

  • Improve examples/tetris.rb with a score board (indicating next Tetromino, score, level, and lines)
  • Add instant down action to examples/tetris.rb upon hitting the space button

0.2.18:

  • Support `polygon` (closed figure of lines), `polyline` (open figure of lines), and `polybezier` (open figure of beziers) shape keywords to use under `path`
  • Improve examples/tetris.rb with bevel block 3D look and restarting upon game over
  • Update examples/area_gallery.rb to add uses of `polygon`, `polyline`, and `polybezier`
  • Refactor examples/histogram.rb to utilize new `polygon` and `polyline` keywords
  • Support `area` `request_auto_redraw`, `pause_auto_redraw`, and `resume_auto_redraw`, operations, and `auto_redraw_enabled` property.

0.2.17:

  • Tetris example - basic version with simple color squares 

Screenshots:









Code:

Happy Glimmering!

No comments: