Put: Difference between revisions
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
The syntax is <code>#put direction color element</code>. The direction argument is mandatory, while the color argument is optional. While the element argument is supposed to be mandatory, an empty string is treated as equivalent to a [[Edge|board edge]]. Providing an invalid element name will throw a <code>Bad #PUT</code> error. | The syntax is <code>#put direction color element</code>. The direction argument is mandatory, while the color argument is optional. While the element argument is supposed to be mandatory, an empty string is treated as equivalent to a [[Edge|board edge]]. Providing an invalid element name will throw a <code>Bad #PUT</code> error. | ||
The direction argument must not point to the same tile as the Object is on; otherwise, the <code>Bad #PUT</code> error will be thrown. | The direction argument must not point to the same tile as the Object is on; otherwise, the <code>Bad #PUT</code> error will be thrown. For this purpose, one should use [[Become|#become]] instead. Additionally, the target tile is bounds-checked, but attempts to place out of bounds are silently ignored. | ||
== Bugs == | == Bugs == | ||
Revision as of 09:33, 8 February 2021
#put is a ZZT-OOP command that lets an object place an element on the board. If the element at the target tile is able to be pushed, then using #put will push it. Otherwise, #put will replace the target tile.
The syntax is #put direction color element. The direction argument is mandatory, while the color argument is optional. While the element argument is supposed to be mandatory, an empty string is treated as equivalent to a board edge. Providing an invalid element name will throw a Bad #PUT error.
The direction argument must not point to the same tile as the Object is on; otherwise, the Bad #PUT error will be thrown. For this purpose, one should use #become instead. Additionally, the target tile is bounds-checked, but attempts to place out of bounds are silently ignored.
Bugs
- Due to a flaw in the bounds-checking logic, it is impossible to #put something on the bottommost row of the board.
- This can be situationally circumvented using the #shoot or #throwstar commands in conjunction with #change.
| ZZT-OOP | |
|---|---|
| Prefixes |
|
| Messages | |
| Directions | |
| Flags | |
| Commands | |