-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: implement ultra game mode #10
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I was using uint to enforce values being positive, but this is not a good use case for the type. It also overcomplicates things due to so much casting between uint and int. Instead I will validate the Scoring type, which is the container of the strictly positive integers.
patrick-hermann-sva
pushed a commit
to stuttgart-things/sthings-tetris
that referenced
this pull request
Feb 23, 2025
# 1.0.0 (2025-02-23) ### Bug Fixes * add empty cell check when trying to rotate ([db01fd2](db01fd2)) * allow incrementing several levels at once ([ef1bd42](ef1bd42)) * amend hold key to use literal space ([3754c8a](3754c8a)) * amend offset pause message ([#9](#9)) ([d99f482](d99f482)) * amend out of bounds checks ([2e59a83](2e59a83)) * amend playfield width ([ca50043](ca50043)) * amend tetrimino rotation coordinates ([e86c2f0](e86c2f0)) * amend Tetrimino.CanMoveDown, *.canMoveLeft, *.canMoveRight ([c284c69](c284c69)), closes [#1](#1) * amend Tetrimino.MoveRight to use canMoveRight ([6dcedb2](6dcedb2)) * call update of game during game mode ([6bffcce](6bffcce)) * change clashing quit keybind ([3cc354f](3cc354f)) * display bottom 20 cells of playfield ([d957346](d957346)) * explicitly enable cgo for releases ([84d23d6](84d23d6)) * fall calculations ([16b8808](16b8808)) * game over after hard drop ([24613e3](24613e3)) * get past menu using starter ([141889f](141889f)) * handle nil pointers in Tetrimino.Copy method ([1bb8826](1bb8826)) * hold styles should ensure the hold box height is constant ([e01d4f4](e01d4f4)) * hold UI changing size ([a8316a4](a8316a4)) * increase fall speed with level ([66e12a2](66e12a2)) * init child on mode switch ([a3af993](a3af993)) * invert isCellEmpty ([b230c27](b230c27)) * leaderboard newline issue ([e23fdb0](e23fdb0)) * marathon reference receivers ([e5093ce](e5093ce)) * move fullscreen functionality to starter ([3e1198f](3e1198f)) * only fill bag when it has space for a complete set of Tetriminos ([16253bb](16253bb)) * refill bag when there is room ([a43ec48](a43ec48)) * remove CGO disabled in releases ([96bd924](96bd924)) * remove debugging log ([23d48e5](23d48e5)) * reset hold tetrimino ([643d0de](643d0de)) * restrict max level ([82d77cf](82d77cf)) * rotate counter clockwise was going clockwise ([edb7974](edb7974)) * soft drop bugs ([Broderick-Westrope#38](https://github.com/stuttgart-things/sthings-tetris/issues/38)) ([c2d38a9](c2d38a9)) * Tetrimino.Copy was not correctly copying cells or rotation coords ([8982360](8982360)) * update fall stopwatch interval on tick; bug when adding ghost at skyline ([4acf7f1](4acf7f1)) * update position & current rotation index after tet rotation ([bb32cf7](bb32cf7)) ### Features * add 7-bag generation ([b825f2b](b825f2b)) * add action switch for correct scoring ([e233635](e233635)) * add bag view ([e9eb429](e9eb429)) * add bounds checks to Matrix.RemoveTetrimino & Matrix.AddTetrimino ([51f359a](51f359a)) * add clockwise rotation ([c9df9a6](c9df9a6)) * add column indicator style ([4e88366](4e88366)) * add config features ([ba55b87](ba55b87)) * add config for keymap ([0205406](0205406)) * add config to model; use config for styling ([d79f990](d79f990)) * add config.toml parsing ([d47b3df](d47b3df)) * add counter-clockwise rotation ([2a77990](2a77990)) * add error wrapping to tetrimino methods ([3d9dc76](3d9dc76)) * add flags for config & database file path ([92d04cd](92d04cd)) * add fullscreen flag & functionality ([f56322c](f56322c)) * add game over checks ([28bd21a](28bd21a)) * add ghost style ([92e2a3c](92e2a3c)) * add ghost tet ([1020f15](1020f15)) * add hard fall ([ed4d066](ed4d066)) * add hold & information views ([2add0e8](2add0e8)) * add holding; move lowering tet to dedicated method ([8f350e3](8f350e3)) * add level; calculate fall speeds using level ([e0257d4](e0257d4)) * add menu ([9d13513](9d13513)) * add menu name input for leaderboard ([daac958](daac958)) * add moving sideways ([8030378](8030378)) * add option component type ([e07fca8](e07fca8)) * add pause; add points for soft & hard drops ([9919359](9919359)) * add play timer ([81dd7cc](81dd7cc)) * add Playfield.NewTetrimino method ([23ed6c6](23ed6c6)) * add remainder of key map ([6201eb0](6201eb0)) * add row indicator to view ([3b940fe](3b940fe)) * add scoring type & scoring switch ([452b301](452b301)) * add Scoring.AddSoftDrop & Socring.AddHardDrop methods ([549d23b](549d23b)) * add soft drop toggling ([275ec5a](275ec5a)) * add startingPositions global variable; remove unused parameter from method ([9cd7518](9cd7518)) * add super rotation system (SRS) ([5a35dd4](5a35dd4)) * add tetrimino styles; render tetriminos ([8781374](8781374)) * add tetrimino type & methods ([541c367](541c367)) * add Tetrimino.Copy method ([5278fe8](5278fe8)) * auto select new leaderboard entry ([92c28c8](92c28c8)) * connect config game ends on max level ([7ad5629](7ad5629)) * connect config max level ([ea02e7c](ea02e7c)) * define program style; define key map ([0aa4006](0aa4006)) * feature/add-release-cofig ([464f02d](464f02d)) * feature/add-release-cofig ([176f7be](176f7be)) * feature/add-release-cofig ([a9b121c](a9b121c)) * fix/fix-readme ([d7b1cfe](d7b1cfe)) * get config in main; store config in starter; connect ghostEnabled config ([acd470d](acd470d)) * get hpicker working ([4ddfc73](4ddfc73)) * handle zero divisor in positiveMod ([dba2297](dba2297)) * implement sprint game mode ([Broderick-Westrope#11](https://github.com/stuttgart-things/sthings-tetris/issues/11)) ([f59b998](f59b998)) * implement ultra game mode ([Broderick-Westrope#10](https://github.com/stuttgart-things/sthings-tetris/issues/10)) ([0b78a5a](0b78a5a)) * initialise module; add program model ([e76c022](e76c022)) * main ([a4b08c3](a4b08c3)) * main ([c00b906](c00b906)) * move actions to type safe enums ([b05e160](b05e160)) * move to using rotation compass ([9dd1bca](9dd1bca)) * only add tet to matrix when no longer in play ([ad5fab5](ad5fab5)) * overlay paused & game over messages ([36c5ee5](36c5ee5)) * process scores for leaderboard ([3a89c7c](3a89c7c)) * quit on game over ([5e13bc7](5e13bc7)) * refactor project ([Broderick-Westrope#22](https://github.com/stuttgart-things/sthings-tetris/issues/22)) ([c270928](c270928)) * remove game over stopwatch; add overlay message for pause & game over ([fdf6f6e](fdf6f6e)) * remove line on completion ([47ff36d](47ff36d)) * render column indicators & tetrimino ghost ([6c46a17](6c46a17)) * render help component ([83bc52b](83bc52b)) * return to menu from the leaderboard; show leaderboard help ([#5](#5)) ([91d2c34](91d2c34)) * save new leaderboard entry on game over ([a0fbd00](a0fbd00)) * set score rank on DB get ([9ba24ae](9ba24ae)) * set score rank on DB get ([0c73ec6](0c73ec6)) * show first row right away; reset fall timer after hard drop ([8163b03](8163b03)) * show leaderboard on game over ([706b986](706b986)) * start with random tetrimino; add timed falling ([9a48a79](9a48a79)) * use a shared set of keys for all models ([4b0f440](4b0f440)) * use alecthomas/kong to add marathon subcommand to CLI ([42bc75c](42bc75c)) * use XDG for config ([Broderick-Westrope#24](https://github.com/stuttgart-things/sthings-tetris/issues/24)) ([fa956f6](fa956f6)) * use XDG specification ([Broderick-Westrope#23](https://github.com/stuttgart-things/sthings-tetris/issues/23)) ([28565ce](28565ce))
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.