|
|
hace 10 años | |
|---|---|---|
| .gitignore | hace 10 años | |
| LICENSE | hace 10 años | |
| README.md | hace 10 años | |
| csim.pro | hace 10 años | |
| csim.pro.user | hace 10 años | |
| main.cpp | hace 10 años | |
| mainwindow.cpp | hace 10 años | |
| mainwindow.h | hace 10 años | |
| mainwindow.ui | hace 10 años | |
| simulator.h | hace 10 años |
A programming game.
| 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 | ||
| RTRANS a, b | 1 | 0 | ||
| 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. Set a to: 0 if empty; 1 if enemy; 2 if friend |
|
| FARSCAN #a, #b, c | 1 | 0 | Scan n fields in front. Set a to: 0 if empty; 1 if enemy; 2 if friend; 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 |