설명 없음

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

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