EXAPUNKS

EXAPUNKS

68 ratings
EXAPUNKS 快速中文手册
By Chr_
EXAPUNKS从入门到退款(逃)
11
2
   
Award
Favorite
Favorited
Unfavorite
汉化补丁链接
游戏汉化:https://github.com/noword/EXAPUNKS-Localize/releases

文档汉化:https://github.com/ShiveryMoon/EXAPUNKS-Manual-Localization-Chinese

目前游戏汉化完成度比较高一些,如果有兴趣也可以参与汉化。
形式参数
符号
中文名
说明
R
寄存器
任意寄存器 ( X T M F )
N
整数值
可以为 -9999 到 9999 之间的任意整数
L
标签
与跳转指令配合使用,只能是字母和数字,不能包含空格或其他字符
寄存器说明
寄存器
中文名
说明
X
运算寄存器
可以存放任意值 (数字,字符)
T
判断寄存器
只能存放数值,当 T=0 时 FJMP 会执行,当 T≠0 时 TJMP 会执行
F
文件寄存器
对 F 的读写操作会映射到 EXA 拿着的文件中的,每一次读/写 F 寄存器都会使文件指针+1
M
传送寄存器
在多个EXA中传送值,详细说明见 “M寄存器的使用” 节
#*
场景寄存器
有的场景中会有前缀为#的寄存器,用来完成指定任务,可以像普通寄存器一样进行读/写操作,访问范围是本地。

一般的,表面没有写数字的是只写寄存器,表面写有数字的是只读寄存器(也有的是可以写入的)
对只读寄存器写入或者对只写寄存器读取会报错,两种寄存器的使用方法类似与普通寄存器
数值运算指令
指令
中文名
使用格式
说明
COPY
赋值
COPY R/N , R
将 寄存器/数值 赋值给 寄存器
ADDI
ADDI R/N , R/N , R
计算 参数一 + 参数二 ,将结果存入 参数三(寄存器)
SUBI
SUBI R/N , R/N , R
计算 参数一 - 参数二 ,将结果存入 参数三(寄存器)
MULI
MULI R/N , R/N , R
计算 参数一 × 参数二 ,将结果存入 参数三(寄存器)
DIVI
整除
DIVI R/N , R/N , R
计算 参数一 / 参数二 ,舍弃余数,将结果存入 参数三(寄存器)
*除 0 会报错
MODI
取余
MODI R/N , R/N , R
计算 参数一 / 参数二 ,取余数,将结果存入 参数三(寄存器)
*除 0 会报错
SWIZ
调制
SWIZ R/N , R/N , R
根据 参数二 的掩码,对 参数一 调制,将结果存入 参数三(寄存器)
参数二的每一位会分别计算,如果数值是 1~4 ,就用 参数一 中 个十百千
位的数字代换,如果其他值代换的结果为 0

示例:
SWIZ 5678 1234 X ,X 的值为 8765
SWIZ 5678 -1234 X ,X 的值为 -8765
SWIZ 5678 111 X ,X 的值为888
SWIZ 5678 233 X ,X的值为766
SWIZ 5678 0233 X ,X的值为766
SWIZ 5678 5233 X ,X的值为766
SWIZ 5678 2303 X ,X的值为7606
RAND
随机数
RAND R/N , R/N , R
生成一个在前两个参数给定范围内的随机数,存入 R 中
*仅在对战关和RedShift中可用
逻辑运算指令
指令
中文名
使用格式
说明
TEST
测试
TEST R/N , [] , R/N
测试一个逻辑表达式
如果逻辑表达式成立 将 T 赋值为 1 ,否则将 T 赋值为 0
数字与字符比较的结果总是0
TEST
测试文件尾
TEST EOF (End Of File = 文件尾)
测试是否读取到了文件尾
如果真 将 T 赋值为 1 ,否则将 T 赋值为 0
TEST
测试M
TEST MRD (M Remain Data (猜测) = M 有数据)
测试 M 中是否有能接收的内容
如果有 将 T 赋值为 1 ,否则将 T 赋值为 0
跳转指令
指令
中文名
使用格式
说明
MARK
设置标记
MARK L
设定一个标记,L 只能是字母,数字和下划线,不能包含空格或其他字符
JUMP
无条件跳转
JUMP L
跳转到 L 标记的地方继续执行
TJMP
真条件跳转
TJMP L
当 T≠0 时跳转(相当于 JUMP)
当 T=0 时不跳转(相当于NOOP)
FJMP
假条件跳转
FJMP L
当 T=0 时跳转(相当于 JUMP)
当 T≠0 时不跳转(相当于NOOP)
文件指令
指令
中文名
使用格式
说明
GRAB
抓取文件
GRAB R/N
抓取指定文件号的文件
*如果该文件不存在会报错
MAKE
新建文件
MAKE
新建并抓取一个新文件
SEEK
移动指针
SEEK R/N
移动 文件指针* 指定次数,正数为后移,负数为前移
例如SEEK 1表示将指针后移1位
使用 SEEK 9999 和 SEEK -9999 可以快速定位到文件 首/尾
*手中没有文件会报错
VOID
删除内容
VOID R* (只能是 F 或 M )
参数为 F 时,删除 文件指针* 指向的字符
*手中没有文件会报错
参数为 M 时,读入并清除 M 寄存器
DROP
丢弃文件
DROP
把EXA抓取的文件丢到地上
*手中没有文件会报错
WIPE
删除文件
WIPE
吃掉EXA抓取的文件 (EXAPUNKS——从删库到跑路)
*手中没有文件会报错
FILE
取文件号
FILE R
将EXA抓取的文件的文件号赋值给 R
*手中没有文件会报错

*文件指针:代码下方文件内容中高亮的文字就是文字指针当前的位置
网络指令
指令
中文名
使用格式
说明
LINK
连接
LINK R/N
让EXA通过指定号码的通道进行传送,在同一tick一条通道只能传送一个EXA
HOST
取主机名
HOST R
将EXA当前所处的主机名存入指定寄存器
传送指令
指令
中文名
使用格式
说明
MODE
模式切换
MODE
切换EXA模式 (全局/本地)
*详见 “M寄存器的使用” 节
生命周期指令
指令
中文名
使用格式
说明
REPL
克隆指令
REPL L
克隆本EXA,并让克隆体跳转到 L 标记的地方开始执行
NOOP
休眠指令
NOOP
无动作,可以用来等待其他EXA输出
HALT
结束指令
HALT
使EXA自爆(ANLA-AHM-AKBAR)
*如果HALT是最后一行的指令,可以省略
KILL
击杀指令
KILL
杀死同一个主机中的另一个EXA(优先杀死自己的EXA)
若没有其他机器人则无动作
其他指令
指令
中文名
使用格式
说明
NOTE
注释
NOTE 任意文本
添加注释,不计算行数
以下指令只在 REDSHIFT 可用
指令
中文名
使用格式
说明
DATA
生成数据
DATA N , N , N ……
让EXA生成一个文件,文件的内容是所有参数,参数可以是一至任意个
WAIT
等待下一帧
WAIT
等待游戏机刷新下一帧
M寄存器的使用
  • 阻塞
    对 M 的 读/写 操作是阻塞的,意味着当 XA 写入 M 时 (例如COPY X M),但是没有任何其他能访问到 XA 的 M 的EXA读取 M 时,XA 将永远停在写入 M 的指令上,直到 XB 读取 XA 的 M
    对 M 的读取同理
  • 模式*
    每个EXA可以设置全局和本地2种模式 (GLOBAL / LOCAL)
    区别:
    • 全局:处于全局模式的EXA能访问处于 任意区域** EXA的 M
    • 本地:处于本地模式的EXA只能访问处于同一主机 (同一块区域) 中的EXA的 M

  • *只有处于相同模式的EXA才能互相访问,例如处于同一主机的全局模式的EXA与本地模式的EXA是不能互相访问 M 的
  • **两个全局模式的EXA如果跨主机,则这两个主机之间必须有通道(网线)连接才能互相访问 M
后记
好的我是 Chr_,祝大家玩的愉快,欢迎加我好友
14 Comments
LikeSM 26 May @ 8:11am 
感谢大大,我还跟着教程折腾了半天:lunar2019crylaughingpig:,原来有现成补丁。
Chr_  [author] 24 May @ 8:56pm 
右下角 Release 里面能下载到汉化布丁
LikeSM 24 May @ 11:20am 
github的教程是要我们自己翻译的意思吗????
夜刀玖玖溜 24 Dec, 2023 @ 1:57am 
大大你有现成的汉化补丁吗实在是看不懂github的教程:luv:
王一羖 23 Oct, 2023 @ 5:08am 
thanks alot! love from china:dslike:
Chaofan 17 Dec, 2022 @ 2:36am 
T寄存器可以存文本的
Elika 7 Sep, 2020 @ 9:59pm 
chr yyds
daydaychao 22 Aug, 2020 @ 1:15am 
謝謝 這遊戲好難啊 有中文可以再研究看看:steamsalty:
Tnacixot 6 Mar, 2020 @ 6:48pm 
哇 你这个可以的收藏了
荒诞天堂 17 Aug, 2019 @ 5:57am 
在退款的边缘打开指南(捂脸