Browse Source

documented cycles

Zoadian 10 years ago
parent
commit
0aef034f93
1 changed files with 34 additions and 34 deletions
  1. 34 34
      README.md

+ 34 - 34
README.md

@@ -2,40 +2,40 @@
 A programming game based on RoboCom.
 A programming game based on RoboCom.
 
 
 # Instructions
 # Instructions
-| Command            | InstSet | Mobile | Description                                             | Failures |
-|--------------------|---------|--------|---------------------------------------------------------|----------|
-| CREATE a, b        | 2       | 0      | Create a new pogram with: instSet a; b banks; c mobile  |          |
-| MOVE               | 0       | 1      | Move the program one field                              |          |
-| DIE                | 0       | 0      | Destroy the program                                     |          |
-| TRANS a, b         | 1       | 0      | Transfers bank a to bank b in the program in front      |          |
-| RTRANS a, b        | 1       | 0      | Transfers bank afrom program in front to bank b         |          |
-| TURN a             | 0       | 0      | Turn by 90°; Turn right if a >= 0 else left             |          |
-| JUMP a             | 0       | 0      | Realtive jump for a instructions                        |          |
-| AJUMP a            | 0       | 0      | Jump to instruction a in current bank                   |          |
-| BJUMP a, b	     | 0       | 0      | Jump to instruction b in bank a                         |          |
-| SCAN #a            | 1       | 0      | Scan 1 field in front.<br> Set a to: 0 if empty; 1 if enemy; 2 if friend                         |          |
-| FARSCAN #a, #b, c  | 1       | 0      | Scan n fields in front.<br> Set a to: 0 if empty; 1 if enemy; 2 if friend;<br> Set b to distance |          |
-| SET #a, b          | 0       | 0      | #a = b                                                  |          |
-| ADD #a, b          | 0       | 0      | #a = #a + b                                             |          |
-| SUB #a, b          | 0       | 0      | #a = #a - b                                             |          |
-| MUL #a, b          | 0       | 0      | #a = #a * b                                             |          |
-| DIV #a, b          | 0       | 0      | #a = #a / b                                             |          |
-| MOD #a, b          | 0       | 0      | #a = #a % b                                             |          |
-| MIN #a, b          | 0       | 0      | #a = min(#a, b)                                         |          |
-| MAX #a, b          | 0       | 0      | #a = max(#a, b)                                         |          |
-| RANDOM #a, b, c    | 0       | 0      | #a = b + (rand() % (c - b + 1))                         |          |
-| IF a, b            | 0       | 0      | Execute next instruction if a == b else skip it         |          |
-| IFN a, b           | 0       | 0      | Execute next instruction if a != b else skip it         |          |
-| IFG a, b           | 0       | 0      | Execute next instruction if a > b else skip it          |          |
-| IFL a, b           | 0       | 0      | Execute next instruction if a < b else skip it          |          |
-| IFGE a, b          | 0       | 0      | Execute next instruction if a >= b else skip it         |          |
-| IFLE a, b          | 0       | 0      | Execute next instruction if a <= b else skip it         |          |
-| INIT a, b          | 0       | 0      | Start a new task at bank a instruction b                |          |
-| BREAK              | 0       | 0      | Stops other tasks, gives current task 100%              |          |
-| RESUME             | 0       | 0      | Resume all other tasks suspended by SEIZE               |          |
-| SEIZE              | 0       | 0      | Stops other tasks, gives current task 100% until RESUME |          |
-| SLEEP a            | 0       | 0      | Suspend current task a cycles                           |          |
-| QUIT               | 0       | 0      | Stops current task                                      |          |
+| Command            | Cycles | InstSet | Mobile | Description                                             | Failures |
+|--------------------|--------|---------|--------|---------------------------------------------------------|----------|
+| CREATE a, b        | 100+50*a+25*b+120*c | 2       | 0      | Create a new pogram with: instSet a; b banks; c mobile  |          |
+| MOVE               | 20     | 0       | 1      | Move the program one field                              |          |
+| DIE                | 1      | 0       | 0      | Destroy the program                                     |          |
+| TRANS a, b         | 14+1x  | 1       | 0      | Transfers bank a to bank b in the program in front      |          |
+| RTRANS a, b        | 14+1x  | 1       | 0      | Transfers bank afrom program in front to bank b         |          |
+| TURN a             | 8      | 0       | 0      | Turn by 90°; Turn right if a >= 0 else left             |          |
+| JUMP a             | 1      | 0       | 0      | Realtive jump for a instructions                        |          |
+| AJUMP a            | 1      | 0       | 0      | Jump to instruction a in current bank                   |          |
+| BJUMP a, b	     | 2      | 0       | 0      | Jump to instruction b in bank a                         |          |
+| SCAN #a            | 8      | 1       | 0      | Scan 1 field in front.<br> Set a to: 0 if empty; 1 if enemy; 2 if friend                         |          |
+| FARSCAN #a, #b, c  | 10+3x  | 1       | 0      | Scan n fields in front.<br> Set a to: 0 if empty; 1 if enemy; 2 if friend;<br> Set b to distance |          |
+| SET #a, b          | 2      | 0       | 0      | #a = b                                                  |          |
+| ADD #a, b          | 2      | 0       | 0      | #a = #a + b                                             |          |
+| SUB #a, b          | 2      | 0       | 0      | #a = #a - b                                             |          |
+| MUL #a, b          | 2      | 0       | 0      | #a = #a * b                                             |          |
+| DIV #a, b          | 2      | 0       | 0      | #a = #a / b                                             |          |
+| MOD #a, b          | 2      | 0       | 0      | #a = #a % b                                             |          |
+| MIN #a, b          | 2      | 0       | 0      | #a = min(#a, b)                                         |          |
+| MAX #a, b          | 2      | 0       | 0      | #a = max(#a, b)                                         |          |
+| RANDOM #a, b, c    | 1      | 0       | 0      | #a = b + (rand() % (c - b + 1))                         |          |
+| IF a, b            | 2      | 0       | 0      | Execute next instruction if a == b else skip it         |          |
+| IFN a, b           | 2      | 0       | 0      | Execute next instruction if a != b else skip it         |          |
+| IFG a, b           | 2      | 0       | 0      | Execute next instruction if a > b else skip it          |          |
+| IFL a, b           | 2      | 0       | 0      | Execute next instruction if a < b else skip it          |          |
+| IFGE a, b          | 2      | 0       | 0      | Execute next instruction if a >= b else skip it         |          |
+| IFLE a, b          | 2      | 0       | 0      | Execute next instruction if a <= b else skip it         |          |
+| INIT a, b          | 2      | 0       | 0      | Start a new task at bank a instruction b                |          |
+| BREAK              | 1      | 0       | 0      | Stops other tasks, gives current task 100%              |          |
+| RESUME             | 1      | 0       | 0      | Resume all other tasks suspended by SEIZE               |          |
+| SEIZE              | 1      | 0       | 0      | Stops other tasks, gives current task 100% until RESUME |          |
+| SLEEP a            | 1      | 0       | 0      | Suspend current task a cycles                           |          |
+| QUIT               | 1      | 0       | 0      | Stops current task                                      |          |
 
 
 # Failure codes
 # Failure codes
 | Code | Description                                                                    |
 | Code | Description                                                                    |