SHENZHEN I/O 深圳 I/O 攻略:思路与代码(不定期更新)

SHENZHEN I/O

2019年的Steam冬季特卖,这款已经发行多年的老游戏引起了我的兴趣。本人金融背景,银行工作,不知怎的被这种模拟写代码的游戏迷住了(大概因为这不是工作内容吧233)。从第一关开始我就注定要沉迷其中,遂决定一边通关一边记录下攻略历程。若有幸能被人检索到我的攻略,还请不吝赐教。
以下均以游戏内的邮件命名任务。

(模拟)安全摄像头

任务说明

输入输出

思路
作为教学关,难易度为0。基本是让玩家理解这个游戏的概念、结构与流程。
分别用两块芯片控制两个LED灯,如图。
代码
如图1。
后续剧情中,得知可以使用gen命令,可以像图2中优化一下。

1

2

工厂模型替换件

任务说明

输入输出

思路
本关旨在让玩家理解运算模块。游戏中必须在acc中进行计算,这点让我觉得很头疼。将数值存入acc中,然后用乘法命令。

代码
如图。这个可以优化吗?

image.png

脉冲发生器

任务说明

输入输出

思路
当输入信号为100时产生脉冲,输入信号为0时停止脉冲并持续输出0。
这里分两块思考:

  1. 判断开始脉冲和结束脉冲。这里用一种判断指令很容易实现,tgt,tlt,teq都可以。
  2. 产生脉冲。使用not指令,效果为让acc从0变成100或从100变为0,每单位时间执行一次就可以在0和100之间反复变换。

为了节省行数,无论何时都用mov acc p1来输出,那么需要在脉冲结束时强制让acc值变为0。

代码
如图1。同理,知道gen指令以后可以简化为图2。

1

2

发光标志

任务说明

输入输出

思路
很麻烦的一关,很多简单IO。
同样分为两块设计:

  1. 点击鼠标。一块芯片连两个输出口,运用not指令,产生脉冲即可。
  2. 喝。一个有三种帧的动画,当前进度下,起码需要两个芯片才能完成三个输出。观察信号发现,当喝0为100时,其余都为0;当喝0为0时,其余产生一定规律的输出。
    这里我用一块芯片(芯片1)输出喝0所需的信号,同时给控制喝1和喝2的芯片2也发送一份,芯片2对发送来的数据判断从而决定输出的数值。

代码
图1为一种解法

1

知道gen指令后,可以奢侈的用一块芯片控制一个输出,共计5块。

2

当学会0-1大法以后可以这么搞。。。

3

海量男爵!!

任务说明

输入输出

思路
得分+1,扣分-2,但是分数不能为负数。都在acc中进行运算,发送之前检查下acc是否小于0,如果小于0就归零。

代码
参考图1

1

之后也可以这样搞。(但没有必要


2

垃圾音频装置

任务说明

输入输出

思路
最优化为100时即启动优化算法,手册里的算法公式可以展开,就变成了。

代码

1

红外线探测器

任务说明

输入输出

思路
用一块MC6000,接受设定的时间,当作报警器的开关。另一块MC4000用来判断传感器的信号是否大于等于20,决定是否启动闹钟。

代码
解法1

1

解法2,MC6000中的思路有所改变


2

虚拟现实设备

任务说明

输入输出

思路
观察输入发现除了01信号外,都是-999的数据。
一样是一个判断是否产生脉冲的逻辑:对-999的Xbus数值不改变当前行为,仅当01出现时改变行为。
代码
套路啊
1

稍微优化了一下?Xbus的特性貌似是必须两边一个读一个写,数值才会被消耗掉,不然就会阻塞。所以可以利用下gen p1 1 1,不用担心多睡一回合,因为Xbus传入的0会等到你判断的时候再读进来(?)

2

帮个小忙?

任务说明

输入输出

思路
竟然可以在游戏里设计游戏手柄的电路!
同样是一个触发机制,读到-1的时候就发送数据。x和y的数值好办,ab的数值要进行判断。我采取的方法是对2b+a的结果取百位数,这样四种情况的结果顺次刚好算出来是0、1、2、3(我这啥脑回路)。
XBus的特性很好玩,可以传一组数。

代码
最初的解法

1

用DX300做了个简化(这折磨人的排线- -|||)


2

IT人生——触杀,你完蛋了!

任务说明
输入输出

思路
本关的关键点应该在于判断玩家是否活着。
其他要点:

  1. 死亡时扣扳机不会触发射击
  2. 死亡时仍然可以填单
  3. 子弹数受到填弹数限制

这里用MC4000控制玩家的存活状态,同时将生存状态发送给输出以及MC6000, MC6000来对射击功能进行控制和管理。到这我才知道一个输出口可以把数据传给多个其他接口!

代码

1

超酷老爸!!!!

任务说明
输入输出

思路
RGB值好办。关键问题是如何在脉冲的中途终止,因为脉冲时间应该是用 slp n的方式完成的(n为读取的脉冲时长),而在sleep状态,芯片无法做出其他任何操作的样子。所以这关暂时没有找到解法o(TヘTo)
代码

设备 2A27

任务说明
输入输出

思路
这个其实是一个转化问题,把(x, y)的值对转化为0、30、50、80的数字输出。

几何规范

分两种情况,一种是X即能决定输出值的情况,如X<20则一定输出30;另一种是X,Y共同决定输出值,比如的情况

代码

1

三国铜币

任务说明
输入输出

思路
很简单的一关

  1. 判断钱是否够了,够了则执行找零流程
  2. 找零从最大面值的可找硬币开始,直到全部找完,然后重新接受新的投币
  3. 如果付的钱=价格,不找零

代码

1

三明治合成器

任务说明
输入输出

思路
看起来超级美味的一关,加了芥末的三明治!
菜单一共三种,通过观察输入输出发现,固定流程是前后两片面包、肉片、升国旗,可变流程是奶酪和芥末。
于是我用一块MC6000控制固定流程,另一块控制可变流程。两块芯片之间用slx大法进行交互,这样可以使执行顺序和步骤时间间隔自动调整。
代码

1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容