Tidak Ada Deskripsi

Zoadian b69ce42a7b program code added 10 tahun lalu
.gitignore 1cba6fefd4 Initial commit 10 tahun lalu
LICENSE 1cba6fefd4 Initial commit 10 tahun lalu
README.md f1bcf510fb more documentation 10 tahun lalu
csim.pro b69ce42a7b program code added 10 tahun lalu
csim.pro.user b69ce42a7b program code added 10 tahun lalu
main.cpp b69ce42a7b program code added 10 tahun lalu
mainwindow.cpp b69ce42a7b program code added 10 tahun lalu
mainwindow.h b69ce42a7b program code added 10 tahun lalu
mainwindow.ui b69ce42a7b program code added 10 tahun lalu
simulator.h b69ce42a7b program code added 10 tahun lalu

README.md

csim

A programming game.

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
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