︙ | | | ︙ | |
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
|
* Message: A message name. User-defined message names have a # prefix;
standard message names have no prefix.
* Object: A reference to an object. There are no literals of this type.
* String: A string in quotation marks. There are no string manipulation
functions; the only thing that can be done with a string is to display it.
* Sound: A named sound effect. Values of this type cannot be compared with
anything, even other values of the same type.
* Mark: There is only one value of this type.
Some things are not their own types, and are other uses of numbers:
* Null: A null class or null object is represented as zero.
* Boolean: When a boolean is required as input to some instruction, zero
is false, and most other values (of any type) are true, except for sounds
|
|
>
>
>
>
>
|
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
|
* Message: A message name. User-defined message names have a # prefix;
standard message names have no prefix.
* Object: A reference to an object. There are no literals of this type.
* String: A string in quotation marks. There are no string manipulation
functions; the only thing that can be done with a string is to display it,
or to compare if one string matches another.
* Sound: A named sound effect. Values of this type cannot be compared with
anything, even other values of the same type.
* Mark: There is only one value of this type.
* Array: A reference to an array. You cannot allocate arrays at run time;
the available array memory is fixed at compile time, subject to the global
array definitions.
Some things are not their own types, and are other uses of numbers:
* Null: A null class or null object is represented as zero.
* Boolean: When a boolean is required as input to some instruction, zero
is false, and most other values (of any type) are true, except for sounds
|
︙ | | | ︙ | |
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
|
ge ( in1 in2 -- bool )
Test if first input is greater or equal to second input (unsigned).
,ge ( in1 in2 -- bool )
Test if first input is greater or equal to second input (signed).
GetInventory ( class image -- value true | false )
Read from the inventory, with true if it exists or false if not.
gt ( in1 in2 -- bool )
Test if first input is greater than second input (unsigned).
,gt ( in1 in2 -- bool )
|
>
>
>
|
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
|
ge ( in1 in2 -- bool )
Test if first input is greater or equal to second input (unsigned).
,ge ( in1 in2 -- bool )
Test if first input is greater or equal to second input (signed).
GetArray ( array row column -- value )
Read a value from an array. Coordinates are zero-based.
GetInventory ( class image -- value true | false )
Read from the inventory, with true if it exists or false if not.
gt ( in1 in2 -- bool )
Test if first input is greater than second input (unsigned).
,gt ( in1 in2 -- bool )
|
︙ | | | ︙ | |
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
|
dismiss a quiz popup will be treated as a non-quiz input. IgnoreKey
also causes the rest of the turn after the input phase to be skipped.
in ( x mark ... - bool )
Check if x is equal to any of the values above the mark; equality is
tested the same as the "eq" instruction.
IntMove ( dir -- bool ) **
Similar to Move but do not initialize Inertia at all; use the current
value of Inertia instead.
,IntMove ( obj dir -- bool ) **
Similar to ,Move but do not initialize Inertia at all; use the current
value of Inertia instead.
|
>
>
>
|
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
|
dismiss a quiz popup will be treated as a non-quiz input. IgnoreKey
also causes the rest of the turn after the input phase to be skipped.
in ( x mark ... - bool )
Check if x is equal to any of the values above the mark; equality is
tested the same as the "eq" instruction.
InitArray ( array value -- ) **
Fill all cells of an array with the specified value.
IntMove ( dir -- bool ) **
Similar to Move but do not initialize Inertia at all; use the current
value of Inertia instead.
,IntMove ( obj dir -- bool ) **
Similar to ,Move but do not initialize Inertia at all; use the current
value of Inertia instead.
|
︙ | | | ︙ | |
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
|
SendEx ( message arg1 arg2 -- value )
Similar to ,SendEx but this object sends the message to itself.
,SendEx ( obj message arg1 arg2 arg3 -- value )
Send a message to the specified object.
SetInventory ( class image value -- ) **
Sets an inventory item with the specified class and image number to the
specified value (which must be a number). If there is no inventory item
with that exact class and image, an inventory item will be added,
otherwise the existing one is updated to the new value. Inventory values
are always unsigned 16-bit numbers.
|
>
>
>
|
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
|
SendEx ( message arg1 arg2 -- value )
Similar to ,SendEx but this object sends the message to itself.
,SendEx ( obj message arg1 arg2 arg3 -- value )
Send a message to the specified object.
SetArray ( array row column value -- ) **
Write a value to an array. Coordinates are zero-based.
SetInventory ( class image value -- ) **
Sets an inventory item with the specified class and image number to the
specified value (which must be a number). If there is no inventory item
with that exact class and image, an inventory item will be added,
otherwise the existing one is updated to the new value. Inventory values
are always unsigned 16-bit numbers.
|
︙ | | | ︙ | |