Put: Difference between revisions
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
== Syntax == | == Syntax == | ||
<code>#put <direction> [<color>] < | <code>#put <direction> [<color>] <kind></code>. | ||
The direction argument is mandatory, while the color argument is optional. While the | The direction argument is mandatory, while the color argument is optional. While the [[kind]] argument is supposed to be mandatory, an empty string is treated as equivalent to a [[Edge|board edge]]. Providing an invalid [[kind]] 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. 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. | 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. | ||
Latest revision as of 11:09, 24 December 2025
#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.
Syntax
#put <direction> [<color>] <kind>.
The direction argument is mandatory, while the color argument is optional. While the kind argument is supposed to be mandatory, an empty string is treated as equivalent to a board edge. Providing an invalid kind 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 | |