Skip to content
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

step (s) doesn't imply v #58

Open
darkf opened this issue Nov 11, 2018 · 4 comments
Open

step (s) doesn't imply v #58

darkf opened this issue Nov 11, 2018 · 4 comments
Assignees
Labels

Comments

@darkf
Copy link
Contributor

darkf commented Nov 11, 2018

In tetris, the clock usually drives the active tetromino down, and after it moves it clears lines.

I think v/V (move down) should clear lines, and s shouldn't really exist anymore

@tangentstorm
Copy link
Contributor

You have a point... I'm not sure lower case v should clear lines though. In real tetris, it's possible to bring the falling piece down until it rests on another block, and then start spinning it, either to give you a little time to think, or to allow T-spins/wall-kicks into weird positions.

Upper case V could conceivably clear lines, but I think it would make the tests more confusing. Even in the actual game, you actually see the tetramino fall and sit there for a few frames while a clearing animation plays... So it kinda feels to me like these are two separate things.

If that doesn't convince you, can you elaborate a bit on your thinking here?

@darkf
Copy link
Contributor Author

darkf commented Nov 13, 2018

My thinking is v/V allows you to bypass the "timer" entirely and just fill up the whole board without it ever being cleared.

I guess in tetris you have a frame delay after movement where you can still spin/kick yes, but that's never tested or implied in learntris right now. It would also mean you have to effectively insert an 's' after every v/V to make it play out the mechanics like it should.

IMO the name 'step' implies it should step time... which would mean maybe check for line clears from last time (so it is a delay) and then move the active tetromino. I dunno.

@tangentstorm
Copy link
Contributor

well the runner would send the s and randomly choose the next tetramino.
Don't we have a test for 's' that causes the tetramino to drop? Because if not, we definitely should have that. I just think we should also continue to have 'v' because you can usually cause the dropping to speed up and then let it continue dropping automatically.

@darkf
Copy link
Contributor Author

darkf commented Nov 13, 2018

Yeah there's no test for 's' to do anything but clear lines, not even move down :P

@tangentstorm tangentstorm self-assigned this Jan 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants