电玩圈游戏网 搜一搜

安卓手游去频道 >

角色扮演 射击枪战 棋牌卡牌 体育运动 角色扮演 赛车竞速 休闲益智 音乐舞蹈 模拟经营 战棋塔防 推理解谜 策略战争

安卓应用去频道 >

社交通讯 系统工具 影音视听 拍摄美化 效率办公 学习教育 生活服务 旅游出行 资讯阅读 金融理财 网络购物 游戏助手

游戏视频去频道 >

动作冒险 射击枪战 棋牌卡牌 体育运动 角色扮演 赛车竞速 音乐舞蹈 模拟经营 战棋塔防 推理解谜 策略战争 休闲益智

资讯攻略去频道 >

手游资讯 手游攻略 手游问答 游戏资讯 游戏杂谈 游戏攻略 软件教程 软件资讯

专题合集去频道 >

游戏专题 应用专题

排行榜单去频道 >

游戏排行 应用排行
首页 游戏 应用 视频 资讯 专题 榜单

首页>资讯>游戏攻略>深圳SHENZHENIO第14关三明治制作机攻略

深圳SHENZHENIO第14关三明治制作机攻略

作者:佚名来源:百度2022/06/02

深圳IO是一款硬核的编程游戏,有着严谨的游戏内容,那么一起来看看第14关的三明治制作机的攻略吧。

主界面

由于游戏过分硬核,先放个手册中的图看看冰山一角:

不过这也正对应了嵌入式开发中会遇到的海量数据手册,相当程度上还原了嵌入式日常开发的情景。

游戏中设计到部分的编程有些类似于汇编语言,这里上手还是有一些些难度的,大家请做好准备,继续直接扔核弹:

不用害怕,在游戏过程中,会逐步引导你学会使用新的指令,对于新的器件,也是随着主线的进行逐步开放的

在游戏中,你不仅可以完成指定的基本目标,还可以挑战全网玩家,看谁能达成最佳优化目标。

鱼和熊掌不可兼得,多数情况下想要达成更好的性能就要增加成本啦,不过这正是优秀的嵌入式开发人员的意义所在——比你好,还比你的便宜。

第 14 关:三明治制作机

关卡展示

本关要求根据小键盘按下的 1/2/3 键制作不同种类的三明治:

1,标准三明治,下层面包 + 肉 + 奶酪 + 芥末 + 上层面包

2,不加奶酪的三明治,下层面包 + 肉 + 芥末 + 上层面包

3,多加芥末的三明治,下层面包 + 肉 + 奶酪 + 两份芥末 + 上层面包

每做完一个三明治,激活“旗”信号三秒钟。

又是一个超多 p 口的关卡,又是 DX-300 大显身手的时候。我们首先二话不说,先在电路板右侧安排上一个 DX-300,令它的 p2、p1、p0 口分别和“肉”、“奶酪”、“芥末”相连。

然后我们注意一下这次的“小键盘”输入。这个输入口是带黄色三角形的,说明需要跟芯片的 x 口相连接。但是这次的 x 口和之前接触到的“无线 rx”输入信号不一样,它和芯片之间传输数据的方式一样,如果你在读数据的时候,输入源并没有提供数据,那你并不会读到 -999,而是会令程序阻塞。所以,我们必须先用 slx 指令“等待唤醒”后,再来读取数据。

我们读取到的数据只有 1/2/3 三种,因此很容易想到用 tcp 三态判断一气呵成。

等来小键盘的信号后(slx x1),我们首先一条 tcp 指令,根据小键盘的值对应激活 + - 号指令(tcp x1 2)。第一片面包(gen p1 1 0),以及肉(mov 100 x3),三种三明治都是一样的,只有到了第二步“加奶酪”的时候(mov 10 x3),才需要判断小键盘的值。

因为只有 2 号三明治不加奶酪,所以当准备发送加奶酪信号后,只有 acc 的值是端点值时才休眠一秒(- slp 1, + slp 1),当它是中间值时,跳过两个 slp 1,立刻给 DX-300 重新传 1。我们说过,p 口的信号在同一秒内可以反复修改,最终 p 口的值会定格在本秒内最后一次所赋的值上。因此当 acc 的值是中间值时,【奶酪】端口相当于被赋了 100 后在本秒内立刻被重新赋 0,最终只有最后一次赋值的状态会生效(也就是奶酪信号并没有被激活)。

因为只有 3 号三明治要加两份芥末,所以首先三种三明治要在给 DX-300 赋 1 后(mov 1 x3)共享同一个休眠一秒的指令(slp 1)。3 号三明治在接受了共享的“休眠一秒”指令后,还需要单独再额外休眠一秒(+ slp 1)。

做完这些后,首先要清除芥末信号(mov 0 x3),接下来是三种三明治都一样的 1 秒面包信号(gen p1 1 0)和 3 秒国旗信号(gen p0 3 0)。

点击左下角的【模拟】按钮,稍等片刻,便会弹出结算界面:

优化电量

我们之前说过,读一个只写 p 口时会读到 0,同时清除对应 p 口的数据。推理可得,读一个连接着若干个只写 p 口的 DX-300 时,也会读到 0,同时这些连接着的 p 口都会被清除数据。

我们观察代码,发现 mov 0 x3 后,下一条 gen 指令里用到了立即数 0。于是,这两条指令

mov 0 x3

gen p1 1 0

完全可以合并为一条

gen p1 1 x3

你在读 x3 的时候,就同时完成了“将肉、奶酪、三个只写 p 口清零”以及“获得 0 这个立即数”两项任务,一举两得。

结算界面如下:

电量由 85 降低到了 81,代码行数也由 14 行减少到了 13 行。

第1关:安全摄像头

第2关:信号放大器

第3关:脉冲发生器

第4关:动画 ESPORTS 标志

第5关:游戏积分器

第6关:调谐最优化引擎

第7关:被动红外感应器

第8关:仿真蜂鸣器

第9关:无线游戏控制器

第10关;真人cs

评论 (0)

相关阅读
网友评论0条评论

上拉或点击查看更多