[心得] Automachef Code小小心得

看板Steam作者 (當海不藍)時間3年前 (2020/06/03 19:09), 3年前編輯推噓18(1805)
留言23則, 20人參與, 3年前最新討論串1/1
----建議使用電腦或者全螢幕瀏覽以得到最佳觀賞體驗---- 週末買了這遊戲,一打開好幾小時就不見了,真的是時間小偷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--,V0減一並直接存到V0裡,扣到0就不會再扣了,方便用於計時器 mov: 搬移 Move 例如:mov R0 V0 表示複製R0的數值到V0裡面 not 切換 Not 單純切換0和1, 例如:not V0 如果V0原本是0,經過這條指令就變成1;反之如果原本是1就變成0 out 輸出 Out 例如: out O1 V2 輸出V2值到O1中,0代表off,其他值都代表on ret 返回 Return 代表直接結束程式,不過不能放在jmp後面。 sub 差異 例如: sub V0 10 V1 表示計算V0減10的結果,並儲存到V1中 AC-32特有 mul 相乘 Multiplier 例如:mul R0 30 V0 將R0的數值乘上30,將結果儲存在V0裡 AC-32特有 cal 呼叫 Call 例如:cal 1 呼叫函數1,可以呼叫函數1~4 程式範例: 這程式功能為開場先準備2份餐預備,每有張新單就補一份, 做滿10份就不再新增了 R0設定為訂單,O0連結中繼器,連結要運作的分配器 設定V1為計時器,讓機器運作多久 V0為做了幾分餐的計數器,V2為新增幾分餐 cmp V1 0 程式一開始先檢查計時器是否歸零,如果不是0(jne)就跳到endifa: jne endifa 如果是0就讓O0關機,輸出0給它 out O0 0 endifa: cmp V0 0 開場備兩份餐的部分, jne endifb mov 360 V1 |開場餐點總數V0為0時,會執行這三行程式, out O0 1 |這邊一份餐需要6秒鐘(端看分配器設定), mov 2 V0 |所以需要6秒 *2份 *30cycle/秒=360 endifb: cmp R0 0 新增訂單再多做一份的部分,比對R0有沒有新增的訂單 jeq endifd 如果沒有新增就跳到程式結尾 mov R0 V2 如果R0不為0,有新增的單,複製增加的訂單量R0到V2中 loop: cmp V1 10 比對此時餐點總數有沒有超過設定的10份 jeq endifd 如果大於就跳到程式結尾,不再製作新的餐點 out O0 1 輸出啟動訊號1到O0,讓分配器送出材料 add V1 180 V1 讓計時器增加180,意旨分配器運作180/30=6秒 add V0 1 V0 讓餐點總數增加一份 dec V2 使新增的訂單數減少1份(已經增加在排程中了) cmp V2 0 比對還有沒有需要新增的訂單 jne loop 如果還有(不為0)就跳到上方loop:,再增加一次 endifd: dec V1 使計時器V1減少1,AC-15/AC-30都是每秒鐘運作30次 所以經過一秒後,AC-15/AC-30運作30次後V1總共會減少30, 以上是AC-16的,如果是AC-32有乘法器mul可以更精簡一點 -------我是分隔線------- 希望有幫助到AC-15/AC-32的苦手們,一開始我也是一頭霧水, 官方教學裡面還有一些有趣的使用方法,就交給神人了QQ --

02/27 23:10,
風扇要啥相容性?耐用or實用才是重點
02/27 23:10

02/27 23:21,
intel的風扇就是小巧超耐用
02/27 23:21

奇怪,你的原廠扇在桌上拍照,那電腦上呢

02/27 23:40,
機子內是T-40
02/27 23:40
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.56.6 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Steam/M.1591182587.A.4ED.html

06/03 19:13, 3年前 , 1F
上班coding,下班coding XD
06/03 19:13, 1F
我愛摳頂,摳頂愛我,天天摳頂,天天健康!

06/03 19:19, 3年前 , 2F
這三小
06/03 19:19, 2F
Overcooked的邊緣人版本QQ

06/03 19:19, 3年前 , 3F
真碼農!
06/03 19:19, 3F
我是個只會Hello world的菜雞QQ

06/03 19:30, 3年前 , 4F
好組語
06/03 19:30, 4F

06/03 19:38, 3年前 , 5F
喜歡這類型的話簡單版推human resource machine, 有難度
06/03 19:38, 5F

06/03 19:38, 3年前 , 6F
的推TIS100, 後者zechtronics開發的遊戲都很硬ww但是都
06/03 19:38, 6F

06/03 19:380, , 7F
設計的十分巧妙有趣,有興趣的可以去試試
06/03 19:380, 7F
Google TIS100 看到遊戲畫面就縮了 怕.jpg

06/03 19:44, 3年前 , 8F
看起來真的很組語
06/03 19:44, 8F

06/03 19:59, 3年前 , 9F
一款機械手臂夾住漢堡 底下盤子會一起黏起來的遊戲
06/03 19:59, 9F
是膠水 我加了膠水

06/03 20:19, 3年前 , 10F
不說我還以為我來到工程師板
06/03 20:19, 10F

06/03 20:21, 3年前 , 11F
我愛了
06/03 20:21, 11F

06/03 20:33, 3年前 , 12F
....公三小
06/03 20:33, 12F

06/03 20:55, 3年前 , 13F
我選擇死亡
06/03 20:55, 13F

06/03 21:43, 3年前 , 14F
工三小,我都看不懂 XDD
06/03 21:43, 14F
看不懂才是幸福的QQ

06/03 21:55, 3年前 , 15F
我來回好幾次才確定沒走錯版= =
06/03 21:55, 15F

06/03 23:02, 3年前 , 16F
組合語言遊戲 我D天
06/03 23:02, 16F
不使用電腦也是可以過關 不過就比較難拿到星星

06/03 23:03, 3年前 , 17F
看一半以為我在複習計組XDD
06/03 23:03, 17F

06/03 23:07, 3年前 , 18F
等等這不是餐廳遊戲嗎?XD
06/03 23:07, 18F

06/03 23:08, 3年前 , 19F
印象中是張這樣XD
06/03 23:08, 19F
就是它 現在Steam五折特價~

06/03 23:52, 3年前 , 20F
所以原po用code編寫生產線然後通關的意思嗎 效率高嗎
06/03 23:52, 20F
我即使用電腦還是只能壓線過 要拿三顆星還是要調整一下 除了電腦遊戲內還是有簡單的控制器 可以輕鬆的設定有一張新訂單就做幾份餐點 不過若要先做幾份預備就只能使用電腦了 除了直接coding 遊戲內有提供類似Scratch的介面編寫

06/04 00:39, 3年前 , 21F
誰幫文組解釋一下
06/04 00:39, 21F
跟電腦隊友討論我們這場要怎麼出餐

06/04 00:42, 3年前 , 22F
另外有款 Human Resource Machine, 都是組語遊戲 XD
06/04 00:42, 22F

06/04 00:51, 3年前 , 23F
HRM 太簡單,TIS-100難很多,還有SHENZHEN I/O
06/04 00:51, 23F
※ 編輯: hankower (114.38.15.180 臺灣), 06/04/2020 07:26:35
文章代碼(AID): #1UruJxJj (Steam)