︙ | | | ︙ | |
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
|
object as the current object and continues executing the code with that
object instead. This new current object is not saved if you return from
a function or a subroutine call. If it successfully chained, then the
result is false. If given an object of a different class, an object that
doesn't exist, or anything other than an object, then it does nothing
and the result is true.
Create ( class x y image dir -- obj ) **
Creates a new object at the specified location, and returns it. The
result is zero if the class is zero, the coordinates are out of range,
the object cannot be created due to the CollisionLayers, or if the new
object is destroyed before its CREATE message returns.
cz? ( any -- bool )
|
>
>
>
>
>
>
>
>
|
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
|
object as the current object and continues executing the code with that
object instead. This new current object is not saved if you return from
a function or a subroutine call. If it successfully chained, then the
result is false. If given an object of a different class, an object that
doesn't exist, or anything other than an object, then it does nothing
and the result is true.
Chebyshev ( obj -- number )
Calculate the Chebyshev distance between this object and the specified
object. If the specified object is zero, then the result is also zero.
,Chebyshev ( obj1 obj2 -- number )
Calculate the Chebyshev distance between thie two specified objects. If
either specified object is zero, then the result is also zero.
Create ( class x y image dir -- obj ) **
Creates a new object at the specified location, and returns it. The
result is zero if the class is zero, the coordinates are out of range,
the object cannot be created due to the CollisionLayers, or if the new
object is destroyed before its CREATE message returns.
cz? ( any -- bool )
|
︙ | | | ︙ | |
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
|
lxor ( in1 in2 -- out )
Logical XOR.
m? ( any -- bool )
True if the value is a message, or false if it is any other type. Error
if it is a sound.
MaxInventory ( number -- )
Results in an error and loss of game if the number of different
inventory items exceeds the given number, otherwise no effect.
mod ( in1 in2 -- out )
Unsigned divide in1 by in2 producing the remainder.
|
>
>
>
>
>
>
>
>
|
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
|
lxor ( in1 in2 -- out )
Logical XOR.
m? ( any -- bool )
True if the value is a message, or false if it is any other type. Error
if it is a sound.
Manhattan ( obj -- number )
Calculate the Manhattan distance between this object and the specified
object. If the specified object is zero, then the result is also zero.
,Manhattan ( obj1 obj2 -- number )
Calculate the Manhattan distance between thie two specified objects. If
either specified object is zero, then the result is also zero.
MaxInventory ( number -- )
Results in an error and loss of game if the number of different
inventory items exceeds the given number, otherwise no effect.
mod ( in1 in2 -- out )
Unsigned divide in1 by in2 producing the remainder.
|
︙ | | | ︙ | |
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
|
must be a number from 0 to 255. The extra turn is not entered into the
replay list and does not increase MoveNumber, but otherwise will act
like any other turn. Popup messages are not removed; they will be
retained, and these extra turns execute the input phase as though there
is no popup quiz. (Not implemented yet. Details described here might be
changed when it is implemented.)
ret ( -- )
Exit the current subroutine. If this is a message block, it must either
leave the stack as it is, or leave it but with one extra value pushed
which will be the return value from the message call. (This is implied
at the end of a code block.) For a user defined function call, or a
subroutine call, these restrictions are not applicable.
|
>
>
>
>
>
>
>
>
|
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
|
must be a number from 0 to 255. The extra turn is not entered into the
replay list and does not increase MoveNumber, but otherwise will act
like any other turn. Popup messages are not removed; they will be
retained, and these extra turns execute the input phase as though there
is no popup quiz. (Not implemented yet. Details described here might be
changed when it is implemented.)
Rel ( dir -- dir )
Resolves a relative direction to an absolute direction.
,Rel ( obj dir -- dir )
Resolves a relative direction to an absolute direction, using the
direction of the specified object as the base. If zero is specified
instead of a valid object, thent the result is the same as the input.
ret ( -- )
Exit the current subroutine. If this is a message block, it must either
leave the stack as it is, or leave it but with one extra value pushed
which will be the return value from the message call. (This is implied
at the end of a code block.) For a user defined function call, or a
subroutine call, these restrictions are not applicable.
|
︙ | | | ︙ | |
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
|
negative, or 0 otherwise.
s? ( any -- bool )
True if the value is a string (which may be either a string in the class
codes or a string in the level), or false if it is any other type. Error
if it is a sound.
Self ( -- obj )
The reference to the current object.
Send ( message arg1 arg2 -- value )
Similar to ,Send but this object sends the message to itself.
,Send ( obj message arg1 arg2 -- value )
|
>
>
>
>
>
>
>
>
>
|
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
|
negative, or 0 otherwise.
s? ( any -- bool )
True if the value is a string (which may be either a string in the class
codes or a string in the level), or false if it is any other type. Error
if it is a sound.
Seek ( obj -- dir )
Returns the direction from this object to the specified object. If that
object is in the same place as this one, returns F. If zero is specified
then it is an error.
,Seek ( obj1 obj2 -- dir )
Returns the direction from obj1 to obj2. If the two objects are in the
same place, returns F. If either object is zero, then it is an error.
Self ( -- obj )
The reference to the current object.
Send ( message arg1 arg2 -- value )
Similar to ,Send but this object sends the message to itself.
,Send ( obj message arg1 arg2 -- value )
|
︙ | | | ︙ | |