接上篇:

#智商与逻辑双重考验# 烧脑编程游戏: 深圳 IO 篇一:游戏简介与上手指南 前言我最近发现了一款非常烧脑的编程游戏SHENZHENI/O(深圳IO),是一家专门制作高质编程游戏的Zachtronics公司出品的.几年前迷过好一阵他们出的Spacechem,深深的被这款玩起来像上班一样的游戏折服.这次的深圳IO又一次刷新了我对游戏的理解.在傻傻看着游戏界面上百小时后,一个邪恶 可爱的排骨 | 211 评论 87 收藏 994 查看详情

此篇紧接上篇.

如果你还没读过篇一, 请务必先点上面卡片读读篇一. 如果你还没读过篇一, 请务必先点上面卡片读读篇一. 如果你还没读过篇一, 请务必先点上面卡片读读篇一.

如果你读完了篇一还自(cheng)信(neng)想要继续, 或者好奇这游戏还能多烧脑, 那就继续往下看吧. 我会尽最大努力 给你当导游 脑洞加宽的进阶提示 这边走


第二关: 信号增幅器

脑洞加宽的进阶提示

信号增幅器 是个生活中很常见的电子零件, 用于增强声光电信号, 比如 功放 机, WiFi信号放大号, 网络中继器/交换机等. 其实每关都是现实生活中取材的, 边玩边学知识. 比玩消消乐那些纯浪费时间的游戏有意义吧? 脑洞加宽的进阶提示 求消消乐党匆追打....

第二关 邮件 (这关的邮件是这个游戏里最短最没劲的.... )

张工说我们工厂里有些老设备需要增强信号, 原有的增强设备被压坏了, 你叫设计一下.
(就这些...)

第二关 提示

任务很简单, 把control-in输入的信号翻倍后输出给control-out.

第二关 分析

这关有输入输出共2个连续信号, 可以用1个 MC4000 来连接, 输入信号进入 p0 , 经代码处理后从 p1 输出.
根据测试数据不难看出, 输入信号在0~50之间, 翻倍后就是0~100. 那么我们只需要把p0输入的信号值放 acc 里乘2后输出给p1就够了.

mov p0 acc # 输入信号存到acc
mul 2 # acc值乘2
mov acc p1 # acc值输出到p1
slp 1 # 睡1秒 - 等待下1秒信号进来

过程见下动图: 脑洞加宽的进阶提示

下图是个WiFi信号放大器, 基本原理和第二关一样.

腾达(Tenda)A9 300M 家用wifi信号放大器 无线路由器穿墙伴侣 wifi中继器 无线扩展器 信号增强器 59元 实际生活中的信号增幅器 :) 就是不放小米的 京东 去购买

第三关: 纸牌接龙麻将版

脑洞加宽的进阶提示

空挡接龙 是Windows系统的 标志 之一, 没想到此游戏的作者在这个游戏里 虚拟的概念OS 里也做了个 空挡接龙 , 刚开始主菜单里看不到, 等你完成了前两关后, 它会突然出现并成为你的第三关 脑洞加宽的进阶提示 .

很多玩家都调侃说一度把这个接龙小游戏当成此游戏的本体. 然后作者就把这个内嵌小游戏独立发布出来了, 好像还出了个dos版 脑洞加宽的进阶提示

第三关 邮件

张工 : 我女儿在学编程, 她做了个纸牌游戏. 你们能不能试玩一下给她点反馈意见? 她想成为游戏开发人员.
卡尔 : 哇喔! 做得太漂亮了, 比我预计的难太多了..... 你女儿设计得太挑战耐心了, 最好能加个"后退"功能.
张工 : 她觉得不需要, 只要玩熟了就很简单了.
卡尔 : 她真是得你的真传啊.
脑洞加宽的进阶提示

第三关 提示

退到主菜单, 点开新出现的接龙游戏图标. 右下有个 INSTRUCTION 是规则说明.

脑洞加宽的进阶提示 把三组牌接1~9的顺序叠在右上角就赢了. 脑洞加宽的进阶提示 牌桌中间的牌只能按从大到小的顺序叠在不同色的牌上 脑洞加宽的进阶提示 左上3格可以放任意牌 脑洞加宽的进阶提示 当中/发/白4张全见光时, 就可以叠在一起放左上角了.

第三关 分析

这完全就是把4花色扑克牌♠♥♣♦的空挡接龙换成了麻将牌嘛... 规则几乎一样.

下图是过关动画 (NG的好多盘 脑洞加宽的进阶提示 )

脑洞加宽的进阶提示

下图是过关后邮件里搞笑后续 脑洞加宽的进阶提示 不是汉化版里的, 原版游戏里就是有中文. 脑洞加宽的进阶提示 纸牌接龙麻将版 (单独版) store.steampowered.com 去看看


第四关: 脉冲生成器

脑洞加宽的进阶提示

本来不打算写 这一关的, 因为找不出对应的现实生活中的产品. 不过这一关的目的是给玩家练习 测试指令 ( 逻辑判断 )的, 这可是后面关卡必备的基本指令, 也是编程的基础之一.

设计要求很简单, button为100时(打开开关), 开始生成1上1下的脉冲信号, 持续到button变为0(关闭开关). 有点无聊的东西. 不过如果你把它想象成辐射2里的YK42B脉冲步枪, 抠下扳机就发射脉冲能量束~~ 是不是立马高大上了? 脑洞加宽的进阶提示 脑洞加宽的进阶提示 我们拖一个 MC4000 上板, p0 button , p1 pulse . 代码如下:

teq p0 100
+ mov 100 p1
+ slp 1
+ mov 0 p1
slp 1

只有当 "teq p0 100" 即 p0=100 成立时, 下面3行带+的代码才会执行. 否则只会执行最后一行"slp 1". 因为button只会输入0和100两种数据, 所以可以用 "tgt p0 0" 或 "tcp p0 0" 指令替换 "teq p0 100". 我们甚至可以逆向思维把条件反过来.

teq p0 0
- mov 100 p1
- slp 1
- mov 0 p1
slp 1

虽然这2段代码完成了同样的任务, 但它们有时候不尽相同的意义. 这个以后出现需要双重条件判断的时候你就会了解了.


第五关: 电竞广告牌

脑洞加宽的进阶提示

第四关开始卡尔就告诉你可以使用其它一些元件做设计了. 但是第四关只是个过渡关, 剧情和设计都不出彩, 我就不写了.

老周拉来一个大单, 给一个电竞团队制作一个 动画广告牌 . 广告牌有 5个信号输出 , 信号规律是固定的 . 看起来蛮简单的, 不就是 第一关仿真监控器 加强版嘛~~~
脑洞加宽的进阶提示

初次尝试:

按第一关的做法, 拖5个MC4000分别连上5个输出端口, 虽然有点挤, 好在PCB板够放. 脑洞加宽的进阶提示
根据验证数据一一为5个MC4000编码:

脑洞加宽的进阶提示 #click-0
mov 100 p0
slp 1
mov 0 p0
slp 1

# click-1
mov 0 p1
slp 1
mov 100 p1
slp 1

# drink-0
mov 100 p0
slp 6
mov 0 p0
slp 4

# drink-1
mov 0 p0
slp 6
mov 100 p0
slp 1
mov 0 p0
slp 2
mov 100 p0
slp 1

# drink-2
mov 0 p0
slp 7
mov 100 p0
slp 2
mov 0 p0
slp 1

测试执行 后你会发现, 虽然能过关, 但是 成绩非常差 , 连平均分都达不到, 感觉自己像智障 脑洞加宽的进阶提示 1个MC4000明明可以接2个连续信号输出, 一共只需要3个MC4000就行了, 用5个明确是浪费! 而且5个MC4000都有空余的代码行没写.
千万不要以"能过关就行"这样的心态来继续这个游戏, 每过一关都要锻炼自己的技术, 把你的脑子放进acc然后狂点add 脑洞加宽的进阶提示 . 你在其它游戏里每过一关积累的可能是 金币 装备 等级 , 在这个游戏里你 唯一能积累 的就是你的 脑力, 寻求最 简最快最省 的解决问题的能力.

再次尝试:

click-0, click-1这两个信号规律很简单,1上1下和1下1上共4种变化. 用1个MC4000能搞定的, drink-1本身就已经有6下1上2下1上四种变化了, 估计需要占掉1个MC4000. 剩下的drink-0, drink-2信号相似, 共用1个MC4000应该没问题. 代码如下

脑洞加宽的进阶提示

# p0 –> click-0, p1 -> click-1
mov 100 p0
mov 0 p1
slp 1
mov 0 p0
mov 100 p1
slp 1


# p0 -> drink-0, p1 -> drink-2
mov 100 p0
mov 0 p1
slp 6
mov 0 p0
slp 1
mov 100 p1
slp 2
mov 0 p1
slp 1


# p1 -> drink-1
mov 0 p1
slp 6
mov 100 p1
slp 1
mov 0 p1
slp 2
mov 100 p1
slp 1

测试验证通过! 总算成功的拿到 平均分. 成绩图表里显示有只 用2-3行 代码就完成的! 脑洞加宽的进阶提示 他们和我们玩的同一款游戏吗?
感觉我这个灵魂走路(线)有点丑, 再来优化一下看看. 脑洞加宽的进阶提示 这下齐整多了. 奇怪为什么线路都到元件下面去了? 按下TAB键, 就能看到全部的走线了. 脑洞加宽的进阶提示 原来只要不碰到其它的引脚, 元件下面也能走线. 节省空间方便布局?

别说我玩个游戏太钻牛角尖, 提前习惯一下可以让你在后面的关卡少拔掉自己不少头发呢 脑洞加宽的进阶提示 .

类似本关电竞广告牌 的产品真实生活中一般没有量产商品, 主要都是定制, 如下图. (OH我的乌嘛女神~ 脑洞加宽的进阶提示 ) 如果你去过澳门或者Vegas, 应该见过不少这种动态的霓虹灯吧. 它们就是这个原理动起来的 脑洞加宽的进阶提示 . ( GIF是不是 也一样? 不是, GIF是幻灯片, 原理比这个不弱智得多.)

脑洞加宽的进阶提示

脑洞加宽的进阶提示



第七关: 音效加强引擎 (垃圾功放芯片)

脑洞加宽的进阶提示

第七关这个 音效加强引擎 (harmonic maximization engine 貌似很屌的东东)被卡尔称为 垃圾(Rubbish) . 功能和一些功放硬件或播放软件的均衡器插件差不多. 但不算是混音.

卡尔 在邮件里说到: 我们有个设计音频组件的合同, 客户保证产品的包装盒上会印上" 完美均衡的清脆的高音与震撼的低音 ". 他把客户的广告方案放在你桌上了, 让你去说明书找来看看... 卡尔还说不管这玩意有多垃圾, 我们还是得完成它, 工作就是工作.

被卡尔说得这么不堪? 脑洞加宽的进阶提示 我翻开说明书找到客户的" Incredible Sound at a Breakthrough Price. "这页方案. 吹了一大堆, 中间提示我们要用到的公式: AUDIO_OUT = ( AUDIO_IN - 50) x 4 + 50. 用初中的数字知识简化一下这个公式得到 AUDIO_OUT = AUDIO_IN x 4 -150. WTF?! 把输入信号乘4再减150就是他们说牛X 音效加强引擎 ?!!! 脑洞加宽的进阶提示 某厂不也用胶水方案出过多核CPU嘛~~ 脑洞加宽的进阶提示

这一关有2个连续信号输入和1个连续信号输出, 用一个MC4000不够, 我们需要组合一对MC4000来完成.
maximize值为0时, 直接把audio-in传给audio-out就行了, 只有当maximize为100时, 才需要通过"神奇的公式"处理信号再输出.
脑洞加宽的进阶提示

过程很简单, 先把audio-in存进acc, 如果maximize等于100(开关开启), 就把acc x 4 - 1500, 最后把acc的值传到另1个MC4000, 另1个MC4000收到信号马上传至audio-out. 1个MC4000作处理器, 1个MC4000作转接头. 当你的显卡只有hdmi输出而显示器只有vga输入时, 这第2个MC4000就相当于一个hdmi转vga的头子了. 脑洞加宽的进阶提示 又学知识了吧~

绿联(UGREEN)HDMI转VGA线转换器带音频口 高清视频转接头适配器 电脑盒子连接投影仪电视显示器线 黑 40248 59元 HDMI转VGA 京东 去购买 百科 索尼(SONY) UDA-1 功放 DSEE (数码音效加强引擎) 支持播放无损音乐 USB解码功放器 银色 游戏里设计的相当于这个简化版 87 点评 0 原创 2 好价 37 去购买 查看详情



第十五关: 投币机

脑洞加宽的进阶提示

这一个非常有意思, 除了关卡本身, 作者给配套的故事就比较经典.

"隐藏指令":

首先是 卡尔听说 了MCxxxx元件的 隐藏指令 , 然后 张工 告诉他不是隐藏的, 中文原版说明书上有的, 你们用的英文版 忘了翻译 这一节了而已 (求卡尔此时心里的阴影面积 脑洞加宽的进阶提示 ). 作者太坏了......这种桥段也想得出.....
2个"隐藏指令"如下:

1. gen pn x y : 如 gen p0 2 1 效果等同于

mov 100 p0
slp 2
mov 0 p0
slp 1

2. @ : 在指令行左边加上@符号代表此行代码只执行一次, 之后将被忽略. 较少使用.

试试把前面几关用的一些代码用gen代替, 也许能提高不少成绩哦. 脑洞加宽的进阶提示

邮件:

戴维 : 你们去过 三国游乐园 (这不是翻译名)吗? 我刚去了深圳的一家, 他们重塑的古代中国社会风貌真是太棒了! 你甚至要用 古铜钱 来买东西, 就像你真的在古代一样. 我看他们工作人员 用手数钱 , 是不是有点傻? 我觉得他们可以用 投币机 来数钱, 那就快多了, 所以我跟他们谈了建投币机的笔生意.
卡尔 : 嗯.....投币机不符合那里的历史风貌吧?
戴维 : 我跟他们谈过外观问题了. 把投币机造成 刻着 龙的 山形 就可以了. 你只要把足够的币投进去, 比如一个馒头的价格. 它就会噹一声通知工作人员把馒头给你, 然后退你零钱.

提示:

我们要设计的这个投币机可以接受3种币值, 1铢5铢12铢 . 这老美开发的游戏用到12铢这个独特的币算是有点考究的了, " 秦钱半两重十二铢 ", 三国游乐园里用秦半两, 没毛病. 脑洞加宽的进阶提示 又学知识了吧.
PCB板上有个 定价元件 , 当投入的币值之和大于或等于定价时, 要马上敲响4秒钟并同时开始退零钱, 而零钱优先退5铢的, 不够5铢时再退1铢的.
3种币值就是3个连续输入信号, 用2个MC元件来联机处理太浪费了. 不知道你在 第十二关 有没有用过 DX300 这个元件 (什么? 没有攻略直接跳过那关了? ). 这里我用使用DX300来把3个连续信号转换成1个离散信号来输入. 先来看一下DX300用法: 脑洞加宽的进阶提示 离散转连续, 离散信号数字只接受1和0 , 大于1的都当成1, 小于1的都当成0. 离散值3位数从 左至右对应p2 p1 p0
脑洞加宽的进阶提示 连续转离散, 连续信号值只接受0和100 , 大于100的都当成100, 小于100的都当成0. p2 p1 p0分别对应 100 010 001 , 同时输入时将和值输出到离散端.
DX300是个非常强大的元件, 会在游戏中起到重要的作用.

分析:

从测试数据可以看出, 不会同1秒内多次投币, 也不会多次退币.
我们用1个DX300同时接收3个投币输入, 将会出现4种输入值: 000/001/010/100 , 分别对应 未投/投1铢/投5铢/投12铢 . 未投币 时我们什么都不要管, 直接 跳到下一秒 执行; 投了币 就把币值 加到acc 中;
acc 的值 大于或等于定价器 时, 输出" gen p1 4 0 "用来敲4秒钟. 然后减去定价把余额退出来.
而每个退币的信号完全可以用 " gen pn 1 1 " 生成, 所以我们用1个MC4000负责2个退币输出工作.

不知道你们会怎么设计, 我费掉些脑细胞把代码精简到只要1个MC6000和1个MC4000完成的. 如下图:
脑洞加宽的进阶提示 判断币值我用了1个tcp指令配合1个tgt, 先存5铢到dat, 大于010(即100, 不会有其它值)时存12铢, 小于010时先存1铢, 再判断如果不大于0(即等于0, 这里就是个双重判断了)时再存成0铢. 然后把dat加进acc. 这样用7行代码算好总币值了.
接着判断总币值是否大于或等于定价. 是的话就敲钟, 如果大于还得退零钱. 由于退钱已经计划交给 退钱模块 (另1个MC4000)处理, 所以这里只需要把零钱数告诉 退钱模块 就是了. 我又用了一次tcp指令! 脑洞加宽的进阶提示 钱不够直接跳到结束, 然后扣钱, 有余额就退钱, 然后敲钟.
退钱模块收到余额数值放进acc, 再循环判断是够5铢, 够就退面值5铢的, 不够了就退1铢的.

呵呵, 是不是觉得有点复杂了? 别给我说用C语言一下就搞定了. 我有50架航母也随便搞定7个insane难度的虫族电脑啊. 脑洞加宽的进阶提示

多币值投币器_淘宝搜索 s.taobao.com 去看看


总结:

篇一目前有900+收藏 190+赞. 不知道能坚持看完这篇二的能有多少人. 如果有人完成一周目开启海上城市之章的一定要@我哦 脑洞加宽的进阶提示

后面的关卡越来越复杂了, 我感觉每一关都够写篇原创贴了. 就是怕没人关注没人看 脑洞加宽的进阶提示


腾达(Tenda)A9 300M 家用wifi信号放大器 无线路由器穿墙伴侣 wifi中继器 无线扩展器 信号增强器

腾达(Tenda)A9 300M 家用wifi信号放大器 无线路由器穿墙伴侣 wifi中继器 无线扩展器 信号增强器

¥59.00

绿联(UGREEN)HDMI转VGA线转换器带音频口 高清视频转接头适配器 电脑盒子连接投影仪电视显示器线 黑 40248

绿联(UGREEN)HDMI转VGA线转换器带音频口 高清视频转接头适配器 电脑盒子连接投影仪电视显示器线 黑 40248

¥59.00

索尼(SONY) UDA-1 功放 DSEE (数码音效加强引擎) 支持播放无损音乐 USB解码功放器 银色

索尼(SONY) UDA-1 功放 DSEE (数码音效加强引擎) 支持播放无损音乐 USB解码功放器 银色

¥3299.00

SONY 索尼 HAP-S1 硬盘式音频播放器 内置功放机 500G硬盘 4.3英寸液晶屏

SONY 索尼 HAP-S1 硬盘式音频播放器 内置功放机 500G硬盘 4.3英寸液晶屏

天龙(DENON)AVR-X540BT 家庭影院 5.2声道AV功放机客厅影院 支持4K 杜比 DTS USB 蓝牙 家用功放音响 AVRX540BT

天龙(DENON)AVR-X540BT 家庭影院 5.2声道AV功放机客厅影院 支持4K 杜比 DTS USB 蓝牙 家用功放音响 AVRX540BT

2330元起

ONKYO安桥A-10功放+C-7030 CD机套装HIFI功放机 合并式立体声功放 2.1声道放大器发烧播放器银色

ONKYO安桥A-10功放+C-7030 CD机套装HIFI功放机 合并式立体声功放 2.1声道放大器发烧播放器银色

6860元起

天逸AD-89D 多功能CD功放一体机家用立体声蓝牙功放机大功率发烧级解码器CD播放器USB 高保真数字功放 AD-89D

天逸AD-89D 多功能CD功放一体机家用立体声蓝牙功放机大功率发烧级解码器CD播放器USB 高保真数字功放 AD-89D

5886元起

JBL X8 功放 卡拉OK 专业后级功放 大功率 舞台设备 KTV 会议功放 家用功放 x8功放

JBL X8 功放 卡拉OK 专业后级功放 大功率 舞台设备 KTV 会议功放 家用功放 x8功放

6999元起

ONKYO安桥TX-8220 高保真HIFI功放机 合并式立体声蓝牙功放 2.1声道放大器发烧无损音乐家用功放FM 银色

ONKYO安桥TX-8220 高保真HIFI功放机 合并式立体声蓝牙功放 2.1声道放大器发烧无损音乐家用功放FM 银色

CAMBRIDGEAUDIO英国剑桥EDGE A 旗舰级发烧级合并式功放 HIFI立体声功率放大器专业高保真2.0声道 100w 灰色

CAMBRIDGEAUDIO英国剑桥EDGE A 旗舰级发烧级合并式功放 HIFI立体声功率放大器专业高保真2.0声道 100w 灰色

54500元起

ONKYO 安桥 TX-NR5100 功放 7.2声道家庭影院智能音响 音箱AV功放机 进口 8K杜比全景声 DTS:X 蓝牙优化

ONKYO 安桥 TX-NR5100 功放 7.2声道家庭影院智能音响 音箱AV功放机 进口 8K杜比全景声 DTS:X 蓝牙优化

6780元起