----建議使用電腦或者全螢幕瀏覽以得到最佳觀賞體驗----
週末買了這遊戲,一打開好幾小時就不見了,真的是時間小偷QQ
研究了一下裡面AC-16和AC-32的Code,以下是我小小心得,希望拋磚引玉釣出神人
官方AC-16教學:
https://www.automachef.com/wp-content/uploads/2019/07/AC-16_english.pdf
AC-32教學:
https://www.automachef.com/wp-content/uploads/2019/07/AC-32_english.pdf
AC-16和AC-32簡介與差異:
AC-16其實和AC-32大同小異
AC-16和AC-32都是每秒運作30次,只能接受32行code,且區分大小寫,
add打成ADD或者O0打成o0,會跳error說code有問題,
輸入一樣有R0~R3四種訂單,I0~I3四個輸入,Rn和In都只唯獨不能寫入
訂單Rn數值為這個執行迴圈內新增的訂單總數,
訂單可以再深入選擇來源 RnR/T/D,分別是R內用、T外帶及D得來速,
如R0R是0號餐內用的訂單。
要存取需要用到變數V0~V3,AC-32則擴充到8個,V0~V7,
不過變數範圍AC-16和AC-32都是16位元的,-32768到32767,AC-32沒有升級到32位元,
AC-32多了乘法器(mul)和自訂函數(cal),可以編寫四個,分別用cal 1~4呼叫。
指令簡介:
add: 相加 Add
例如: add A B C
代表A + B 的結果儲存到C
A和B可以是Rn In Vn或整數,但C只能是變數Vn
cmp: 比較 Compare
jmp/ jeq/ jne/ jgt/ jlt
jmp: 跳至 Jump
jeq: 如果等於跳至 Jump if EQual
jne: 如果不等於跳至 Jump if Not Equl
jgt: 如果大於跳至 Jump if Greater Than
jlt: 如果小於跳至 Jump if Less Than
cmp多和jmp系列指令一併使用,
cmp比對後會輸出相對關係-1,0,和1,分別是小於等於和大於
下一行的jump指令會依照cmp的結果做出相對動作
例如: cmp R0 0
jeq nonewrecei
表示比對訂單R0和0的關係,如果等於就跳到nonewrecei這個標籤,類似C的goto
標籤
搭配Jump指令使用,限制為4~10個字,需要":"結尾
dec: 減少 Decrease
例如:dec V0
代表V0