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

Strange T behavior #235

Closed
unthingable opened this issue Sep 21, 2020 · 5 comments
Closed

Strange T behavior #235

unthingable opened this issue Sep 21, 2020 · 5 comments

Comments

@unthingable
Copy link
Contributor

@unthingable unthingable commented Sep 21, 2020

Using current master, this plays as expected:

.C............
.08T.**..***..
....:01Da.....

However, if the first step of T is a * then all remaining steps play as * regardless of what's in them. I.e.,

...............
..C............
..58T*.....**..
.....:01Da.....

plays the same as

...............
..C............
..58T********..
.....:01Da.....

Bug or I am holding it wrong?

@unthingable
Copy link
Contributor Author

@unthingable unthingable commented Sep 21, 2020

More strangeness:

This just writes a E that does not move:

..............
..C..HHHHHHHH.
..48TEEEEEEEE.
...XE.........
...E..........

This initially writes moving Es every 8 frames.

..............
..C..HHHHHHHH.
..48TEEEEEEEE.
...xE.........
...E..........

Why not every frame? And then, after messing around with the steps it stops writing altogether. For example, deleting the first E step (T.EEEEEEE) stops writing, putting it back does not restore it. Changing x to X does nothing, changing X to x writes a single moving E.

@neauoire
Copy link
Member

@neauoire neauoire commented Sep 21, 2020

However, if the first step of T is a * then all remaining steps play as * regardless of what's in them. I.e.,

That's because there is a * right above the : meaning that it bangs, which is somewhat working as expected. Commented and locked * are also read as bangs.

Just do this instead:

C...........
28T*.....**.
............
..:01Da.....
@neauoire
Copy link
Member

@neauoire neauoire commented Sep 21, 2020

This just writes a E that does not move:

That's because the X is locking the E and stopping it from moving.

Try something like this instead:

...D.8C3....
4.X...13TSWE
.......xW...

Remember that you won't be able to output a series of EEEEE in a sequence since the first one would hit the second one and die, and so forth.

@unthingable
Copy link
Contributor Author

@unthingable unthingable commented Sep 21, 2020

there is a * right above the : meaning that it bangs

Got it. It was strange to me as I thought T would "bind" its arguments preventing them from "acting" in other ways (old conventional programmer habits, still new at this), didn't even occur that : would also get banged by a nearby *. It makes sense now, that is neat!

Thank you for the explanations.

@neauoire
Copy link
Member

@neauoire neauoire commented Sep 21, 2020

No problem, let me know if you have any more question :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants