DIRECTORY BasicTime USING [GMT, nullGMT], Rope USING [ROPE]; RobotDefs: CEDAR DEFINITIONS ~ { Robot: TYPE ~ REF RobotRec; RobotRec: TYPE ~ RECORD [ version: REAL, --Version of RobotAssembler timeOfSource: BasicTime.GMT _ BasicTime.nullGMT, --Timestamp of source creator: Rope.ROPE _ NIL, --Credit where it's due code: Memory, --The actual program pic: RobotPic --What it looks like on-screen ]; MemoryIndex: TYPE ~ [0..256); Memory: TYPE ~ ARRAY MemoryIndex OF INTEGER _ ALL[0]; MemoryMap: TYPE ~ REF MemoryMapRep; MemoryMapRep: TYPE ~ PACKED ARRAY MemoryIndex OF BOOLEAN _ ALL[FALSE]; RobotPic: TYPE ~ ARRAY [0..16) OF PACKED ARRAY [0..16) OF BOOLEAN; RobotIndex: TYPE ~ [1..5]; --Legal robot numbers Robots: TYPE ~ ARRAY RobotIndex OF Robot; --Set of robots on the field of battle maxDamage: INT ~ 5; RobotState: TYPE ~ REF RobotStateRec; RobotStateRec: TYPE ~ RECORD [ memory: REF Memory, x, y: REAL _ 50.0, damage: INT _ 0, temperature: INT _ 0 ]; RobotStates: TYPE ~ ARRAY RobotIndex OF RobotState; Instruction: TYPE ~ MACHINE DEPENDENT RECORD [ immediate, indirect, indexed: BOOLEAN, opNum: [0 .. 31], tag: [0 .. 255] ]; }. >RobotDefs.mesa Created Saturday, June 2, 1984 1:31 pm PDT Lasted edited by Eric Nickell, July 9, 1985 5:01:46 pm PDT This module contains the basic definitions of what a Robot looks like. N.B.: The difference between code and memory is that memory is used to run in, while code remains a clean initial image. Κ/˜šœ™Jšœ*™*J™:J™FJ™—šΟk ˜ Jšœ œœ ˜Jšœœœ˜J˜—šœ œ œ˜ J˜—Jšœœœ ˜šœ œœ˜Icodešœ œΟc˜-Kšœœž˜FKšœœœž˜3Kšœ ž˜%Kšœž˜/J˜Jšœœv™yJ˜—Jšœ œ ˜Jš œœœ œœœ˜5Jšœ œœ˜#šœœœœ œœœœ˜FJ˜—šœ œœ œœœ œœ˜BJ˜—Jšœ œ)˜9Jšœœœ œ1˜SJ˜Jšœ œ˜J˜Jšœ œœ˜%šœœœ˜Jšœ œ˜Jšœœ˜Jšœœ˜Jšœ œ˜J˜J˜—šœ œœ œ ˜3J˜—š œ œœ œœ˜.Jšœœ˜&J˜J˜J˜—J˜J˜—…—Žϋ