Contents | Index | < Browse | Browse >

7.3.  Arithmetic Routines

     These  routines  operate	on   arbitrary	 sixteen-bit
numbers,  and  return  sixteen-bit  values.   Note  that the
numbers	may actually be	Object IDs, global variable IDs,  or
any of the sixteen bit IDs used	by ADL.

$plus	( $plus	num1 num2 ) -> Returns num1 + num2.

	Example:
		     ($setg Score ($plus @Score	50))



$minus	( $minus num1 num2 ) ->	Returns	num1 - num2.

	Example:
		     ($setg LivesLeft ($minus @LivesLeft 1))



$times	( $times num1 num2 ) ->	Returns	num1 * num2.

	Example:
		     ($setg TimeLeft ($times @NumBattery 10))



$div	( $div num1 num2 ) -> Returns num1 / num2.

	Example:
		     ($setg Rating ($div @Score	100))



$mod	( $mod num1 num2 ) -> Returns  the  remainder  which
	results	 when  num1  is	divided	by num2	according to
	normal integer division.

	Example:
		     { Make sure XPos is from 0	to 9 }
		     ($setg XPos ($mod @Xpos 10))



$rand	( $rand	num ) -> Returns a random number from  1  to
	num inclusive.

	Example:
		     { Move the	player to a random room	from room1 to room10 }
		     ($setg Num	($rand 10))
		     ($move .ME	($plus room1 ($minus @Num 1)))