Put

From Wiki of ZZT
Revision as of 17:13, 29 September 2022 by Asie (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

#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>] <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.