Put: Difference between revisions
Jump to navigation
Jump to search
(→Bugs) |
No edit summary |
||
Line 1: | Line 1: | ||
'''#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. | '''#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 <code>#put direction color element</code>. The direction argument is mandatory | 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 target tile is also bounds-checked, but attempts to place out of bounds are silently ignored. | |||
== Bugs == | == Bugs == | ||
* Due to a bounds-checking | * 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|#shoot]] or [[Throwstar|#throwstar]] commands in conjunction with [[Change|#change]]. | ** This can be situationally circumvented using the [[Shoot|#shoot]] or [[Throwstar|#throwstar]] commands in conjunction with [[Change|#change]]. | ||
{{ZZT-OOP navbox}} | {{ZZT-OOP navbox}} |
Revision as of 08:09, 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. The target tile is also 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 |