Object: Difference between revisions

From Wiki of ZZT
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 5: Line 5:
|id={{Byte|36}}
|id={{Byte|36}}
|color=
|color=
|char=
|char={{CharSwatch|1}}
|stats=yes
|stats=yes
|x-y step=Yes
|x-y stey=Yes
|cycle=3
|cycle=3
|p1=Character graphic
|p1=Character graphic
|p2=Message [[lock]]
|p2=Message [[lock]]
|score=
|score=
|destructible=no
|destructible=No
|effect on movement=
|effect on movement=Wall
|uses zzt-oop color=yes
|uses zzt-oop color=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 [[if|conditional statements]], [[label|label manipulation]] and [[send|object-to-object communication]].
'''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 [[if|conditional statements]], [[label|label manipulation]] and [[send|object-to-object communication]].


Every tick, objects execute ZZT-OOP code if applicable, and then move in whatever direction they happen to be [[walk|walking]] in.


== Quirks ==
== Quirks ==
Line 25: Line 26:


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 [[duplicator|duplicators]].
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 [[duplicator|duplicators]].


=== Changing an Object's Color ===
=== Changing an Object's Color ===
Line 31: Line 31:
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}}.


=== Gameplay ===
=== Gameplay ===

Latest revision as of 09:57, 26 December 2025

Object
ZZT-OOP nameobject
Internal ID36 (0x24)
Character#char 1 (0x01)
Categorycreature
Stats
Default cycle3
P1Character graphic
P2Message lock
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.

Every tick, objects execute ZZT-OOP code if applicable, and then move in whatever direction they happen to be walking in.

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.