Object: Difference between revisions

From Wiki of ZZT
Jump to navigation Jump to search
No edit summary
(→‎Quirks: Default character)
Line 30: Line 30:


Objects cannot change their own color, and '''#become [color] object''' will delete the object's ZZT-OOP program and assign it char 1. All objects of a given color on the board can be changed at the same time using '''#change [old_color] object [new_color] object'''. One object may '''#put [dir] [color] object''' in the direction of an existing object and change its color that way.
Objects cannot change their own color, and '''#become [color] object''' will delete the object's ZZT-OOP program and assign it char 1. All objects of a given color on the board can be changed at the same time using '''#change [old_color] object [new_color] object'''. One object may '''#put [dir] [color] object''' in the direction of an existing object and change its color that way.
=== Default Character ===
Objects placed in the editor default to {{CharSwatch|1}}. Objects created by a [[put|#put]] statement default to {{CharSwatch|0}}. Statless objects display as {{CharSwatch|2}}.





Revision as of 00:39, 23 December 2025

Object
ZZT-OOP nameobject
Internal ID36 (0x24)
Character#char 1 (0x01)
Categorycreature
Stats?Yes
Other traits
Effect on movementWall
Destructible?No
Uses ZZT-OOP color names?Yes

Objects are ZZT's general-purpose, customizable entity. While objects do nothing on their own, they can be programmed with ZZT-OOP to perform simple tasks such as moving, shooting and displaying text. It's possible to build more complex mechanisms using conditional statements, label manipulation and object-to-object communication.


Quirks

Dynamic Object Creation

Objects created with ZZT-OOP (like executing #put [dir] object in the direction of an empty space) have no ZZT-OOP program and default to a blank graphic (char 1). Objects can be cloned with their state and program intact via duplicators.


Changing an Object's Color

Objects cannot change their own color, and #become [color] object will delete the object's ZZT-OOP program and assign it char 1. All objects of a given color on the board can be changed at the same time using #change [old_color] object [new_color] object. One object may #put [dir] [color] object in the direction of an existing object and change its color that way.

Default Character

Objects placed in the editor default to #char 1 (0x01). Objects created by a #put statement default to #char 0 (0x00). Statless objects display as #char 2 (0x02).


Gameplay

  • The player cannot shoot an object while standing directly next to it: there must be at least one space between them and the object. The reverse is not true for objects.