0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【数码宝贝】里泉光子郎的编程到底处于什么水平

汉中乐博乐博机器人 来源:汉中乐博乐博机器人 作者:汉中乐博乐博机器 2020-11-05 10:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

电影《数码宝贝大冒险:最后的进化·羁绊》近期开始上映,看到大银幕里一张张熟悉又陌生的脸,就很容易想起那段热血沸腾的时光,乐乐也非常喜欢动漫里一个个独特的角色。

尤其是里面的光子郎,他在团队中相当于军师的角色,性格冷静且十分聪明。

这个小男孩对所有人都很礼貌(包括父母),会在称呼后加上敬语。经常背着一台仿APPLE的笔记型电脑到处跑的男孩,儿时双亲却死于车祸,由父母的远房亲戚收养。和太一关系相当好,在可能遇到黑暗四天王的攻击危险之下,仍然与太一一起出去寻找感冒药。

其中非常经典的一个情节就是,最早在档案岛的安杜路兽的工厂中,光子郎通过分析巨大「电池」内墙壁上的文字(也就是数码文字和一些数字,还有人类世界的文字)从而描绘出了档案岛的全貌。

然而当时动画给的一个画面就是光子郎的屏幕是我们熟悉的【编程】,那《数码宝贝》里泉光子郎的编程水平到底有多厉害呢?知乎上有一位大神借此做了解答。

题图:Random Forest/知乎

怎样评价《数码宝贝》第一部中的泉光子郎的编程水平?

答主:Random Forest(2 万+ 赞同)

受到@夜路川答主勇于用 python 进化自己室友的激励,我顺便深挖了一下《数码宝贝》第一部第五集中光子郎在电脑上敲出的代码,终于把原始代码跑了出来,视频在最后。

《数码宝贝》第一部第五集截图

虽然这段代码会自己乱动并让甲虫兽进化,显得狂拽酷炫吊炸天,但其实和第十集出现的代码是一模一样的(而动画里表现出的效果明显不同)。第十集里的代码反而看得更清楚一点。

《数码宝贝》第一部第十集截图

根据这张图抽出文本如下:

100 /* func sample. coast creation */

110 float s

120 while s<1 or s>=2

130 input "ratio 1 to 2";s

140 endwhile

150 s = (s-1)/10+1

160 screen 1,2,1,1

170 s=sqr(s*s-1)

180 float x0=100, x1=412, y0=0, y1=0

190 fractal(x0,x1,y0,y1,1)

200 line(100, 50, 412, 50, 255, 65535)

210 end

220 func fractal(x0;float,x1;float,y0;float,y1;float,sp;int)

230 float l, r, x2, y2

240 l=sqr((x1-x0)*(x1-x0)+(y1-y0)*(y1-y0))

250 if l<2 or sp>=9 then {

260 line(x0,y0/3+50,x1,y1/3+50,255,65535) : return()

270 }

280 r=rnd()+rnd()+rnd()-2

290 x2=(x0+x1)/2+s*(y1-y0)*r

300 y2=(y0+y1)/2+s*(x0-x1)*r

310 sp = sp + 1

320 fractal(x0,x2,y0,y2,sp)

330 fractal(x2,x1,y2,y1,sp)

340 endfunc

如果想重新原汁原味地运行这段代码,首先要明确它的语言和版本。注意到注释和变量定义的语法更接近 C 系语言,但还有 endwhile、func、endfunc 等关键字,可以确定这不是 VB 或者其他主流的 BASIC 系语言。

但是代码行号的格式暴露了这货肯定是个远古产物,我本来想看看光子郎电脑上这个文件的后缀名是什么,瞅了半天发现是「名称未设定 3」(见上图),失去线索的我只能开始疯狂的 google……

在资料检索过程中主要发现两个问题。一是和这段代码语法相近的语言太多,比如 VFP(Visual FoxPro,知道它的人肯定都老了)、VimScript、SAP 采用的 ABAP、早期 PHP、伪代码的某个版本[1]、乃至德仪计算器的自创脚本语言等等。经过一个个的尝试,发现这些语言都是形似神不似,并不是真正的答案。

Google Books 里找到的一本 TI 计算器手册

第二个问题是,如果仔细看光子郎的代码,你一定会陷入困惑,因为这段代码根本不像是有一个统一的语法规则。这里举两个栗子:

流程控制语法不统一。120-140 行的 while-endwhile 结构,或许让你觉得和 BASIC 有一点点类似,而且顺便猜测 if 语句肯定也会有个 endif 结尾。但是 250-270 行的 if 语句居然用了大括号,更丧心病狂的是在 then 后面接大括号!

变量声明格式不统一。110 行是类 C 的声明格式,而 220 行的函数参数却用了类似 ECMAScript 的声明方式,但用的不是冒号是分号。这让我一度以为这段代码就是导演魔改的,是一种不存在的噩梦般的语言。

然而,在我就要放弃之际,一位国外先行者的博文给了我曙光(尽管文章里有一些错误)[2]。这个语言最终还是被查出来了…… 事情要追溯到 1987 年,夏普发布了一款型号为 X68000 的 PC。作为那个年代的电脑,搭载了 10MHz 的摩托罗拉 68000CPU,1MB 的内存,没有硬盘,且只在日本发售[3]。其操作系统是夏普为这一系列电脑专门设计的 Human68k,《数码宝贝》中的那段代码,就属于这个操作系统专有的编程语言 X-BASIC[4]。

Sharp X68000ACE-HD

X-BASIC 手册

日本维基上 X-BASIC 的一段例程 这个系列的最后一款电脑在 1993 年发布(配置有所增强),而《数码宝贝》第一部是在 1999 年放映的,可见在动画制作时期,光子郎的代码也不算特别陈旧。 为了实际地跑一下这段代码,又经过一番艰辛的努力,我搞到了 X68000 的模拟器,还有操作系统 Human68k(version 3.02)的磁盘映像,现在还能找到这些东西,真的要感谢极客阿宅们的默默奉献。 在模拟器里一开机,感觉就成功了一半:

为了能使代码顺利运行,还需加载 SX-WINDOW 映像。最后终于找到 X-BASIC,一字不差地键入了光子郎的代码:

执行 run 命令,按代码要求输入一个 1 到 2 之间的浮点数值,下面就是见证奇迹的时刻了! 运行《数码宝贝》光子郎写的代码:

我不禁望向窗外的那只放屁虫,它仍在很悠闲地晒太阳,很遗憾我的甲虫兽并没有进化……原因很简单,这真的只是一段随机生成「coast」轮廓的代码。初始输入是一个阈值,从视频里看,显然阈值越高「海岸」越险峻,阈值越低「海岸」越平滑,很有可能是摘取了当时哪个游戏里地图生成器的一段源码。所以,导演又糊弄事呢? 最后话说回光子郎的编程水平,这段代码的难点主要在于用递归实现了分形图形的绘制,虽然没什么特别神秘的地方,但还是需要一定程度的编程技能和数学知识。原理上很像我之前绘制谢尔宾斯基三角形的代码。 但是光子郎当时好像上小学四年级?

而且在动画里,这段程序的输出是这样的,光子郎最后靠这个成功还原了他和美美所在的迷宫。

嘛,单从这里看,感觉能进科大少年班就是了…… 彩蛋:当年 X68000 系列的电脑还随附一个名为 060turbo[5]的软件,单独装在一个磁盘。这个软件的唯一功能是在屏幕上随机打印一张复杂的分形图形(疑似 Mandelbrot 图像?并不是很确定)。我用模拟器试了一下,效果确实惊艳,感觉光子郎在成为分形大师的路上还需努力 23333。

参考 1. ^Pseudocode Examples https://www.unf.edu/~broggio/cop3530/3530pseu.htm 2. ^Running Izzy's "Digivolving" code https://digitalworldproblems.tumblr.com/post/76036641581/while-im-looking-at-that-moviecode-post-he 3. ^X68000 https://en.wikipedia.org/wiki/X68000 4. ^X-BASIC https://ja.wikipedia.org/wiki/X-BASIC 5. ^060turbo の添付ディスク http://retropc.net/x68000/software/hardware/060turbo/disk060t/

责任编辑:xj

原文标题:《数码宝贝》里泉光子郎的编程水平到底有多厉害?

文章出处:【微信公众号:汉中乐博乐博机器人】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    183

    文章

    7646

    浏览量

    146174
  • 编程
    +关注

    关注

    90

    文章

    3723

    浏览量

    97442
  • 程序员
    +关注

    关注

    4

    文章

    956

    浏览量

    31007

原文标题:《数码宝贝》里泉光子郎的编程水平到底有多厉害?

文章出处:【微信号:lebo13992672467,微信公众号:汉中乐博乐博机器人】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    0基础看懂电阻:它到底在电路做什么?

    不管是手机、充电器、家电,还是各种电路板,里面都藏着一个超基础的电子元件——电阻。它看起来就是个小小的贴片、不起眼的小圆柱,很多人都好奇:这个小东西,到底在电路有什么用? 这篇文章完全抛开复杂公式
    的头像 发表于 04-27 14:32 37次阅读
    0基础看懂电阻:它<b class='flag-5'>到底</b>在电路<b class='flag-5'>里</b>做什么?

    JCMsuite应用:空心光子晶体光纤

    | | | JCMsuite布局描述提供了许多设置复杂几何图形的方法。例如,在多核光子晶体光纤示例中,我们使用晶格副本来创建固体核光子晶体光纤的空气孔的排列。然而,在某些应用中,可能需要描述几何图形
    发表于 04-15 08:09

    解锁24位ADC新品丨笙科技高精度MAD系列全面升级

    ENOB,使其在噪声、动态范围与线性度等关键指针上,逐步逼近国际大厂水平。再加上对主流型号的高兼容性设计,有助于降低客户导入门坎并加速市场渗透,未来在工业自动化与医疗电子等高成长领域具备明确发展潜力。 **另可浏览笙科技官网的ADC产品页面。
    发表于 04-13 14:57

    声控感应 + 光控灯管,特科技带来怎样的照明新体验?

    声控感应+光控灯管,特科技带来怎样的照明新体验?在照明领域不断追求创新与智能化的今天,特科技推出的声控感应+光控灯管,将两种实用的感应技术融合,为用户带来了别具一格的照明新体验。这种创新型灯管
    的头像 发表于 02-12 14:34 343次阅读
    声控感应 + 光控灯管,<b class='flag-5'>郎</b>特科技带来怎样的照明新体验?

    分体 T5 LED 灯管有何优势?特科技为你解答

    分体T5LED灯管有何优势?特科技为你解答在照明产品的选择上,分体T5LED灯管凭借独特优势逐渐成为众多用户的青睐之选。特科技作为照明领域的专业品牌,对分体T5LED灯管的优势有着深入见解。安装
    的头像 发表于 02-12 13:18 310次阅读
    分体 T5 LED 灯管有何优势?<b class='flag-5'>郎</b>特科技为你解答

    特科技 LED 灯管定制:管径规格如何影响照明效果?

    特科技LED灯管定制:管径规格如何影响照明效果?在照明领域,LED灯管的管径规格是影响照明效果的关键因素之一。特科技提供多种管径规格的LED灯管定制服务,每种管径都因其独特的物理特性,在光通量
    的头像 发表于 02-12 13:08 735次阅读
    <b class='flag-5'>郎</b>特科技 LED 灯管定制:管径规格如何影响照明效果?

    解析特科技 LED 工矿灯,看它如何节能又高效?

    解析特科技 LED 工矿灯,看它如何节能又高效? 在工业照明领域,节能与高效是衡量灯具性能的重要指标。特科技 LED 工矿灯凭借一系列先进技术和设计理念,在这两方面表现卓越,为工业企业提供了理想
    的头像 发表于 02-11 11:14 330次阅读
    解析<b class='flag-5'>郎</b>特科技 LED 工矿灯,看它如何节能又高效?

    揭秘深圳特 LED 投光灯:光通量与显色指数背后的照明秘密!

    揭秘深圳特 LED 投光灯:光通量与显色指数背后的照明秘密! 在照明领域,深圳特 LED 投光灯凭借卓越的性能在工程和商业场景中备受瞩目。其中,光通量与显色指数这两个关键指标,对投光灯的照明效果
    的头像 发表于 02-09 16:24 283次阅读
    揭秘深圳<b class='flag-5'>郎</b>特 LED 投光灯:光通量与显色指数背后的照明秘密!

    特科技 LED 筒灯:在办公、酒店、家居场景中的卓越表现

    特科技LED筒灯:在办公、酒店、家居场景中的卓越表现在当今对照明品质要求日益提升的时代,特科技LED筒灯凭借其出色的性能与多样化的功能,在办公、酒店、家居等不同场景中均展现出卓越的表现,为各类
    的头像 发表于 02-06 12:37 606次阅读
    <b class='flag-5'>郎</b>特科技 LED 筒灯:在办公、酒店、家居场景中的卓越表现

    解读特科技 LED 筒灯轨道型,开启不同场景照明新视野

    解读特科技LED筒灯轨道型,开启不同场景照明新视野在照明领域,灯具的灵活性与适应性至关重要。特科技推出的LED筒灯轨道型产品,以其独特的设计与性能,为不同场景照明带来了全新的解决方案,开启了照明
    的头像 发表于 02-06 12:30 2305次阅读
    解读<b class='flag-5'>郎</b>特科技 LED 筒灯轨道型,开启不同场景照明新视野

    基于六边形波导网格架构实现可编程光子技术

    配置中实现了超过30 GHz的自由光谱范围。这项工作解决了可编程光子技术在实际应用中面临的核心挑战之一。
    的头像 发表于 01-14 17:02 897次阅读
    基于六边形波导网格架构实现可<b class='flag-5'>编程</b><b class='flag-5'>光子</b>技术

    twidec合SH100单相SCR专业型说明书

    twidec合SH100单相SCR专业型说明书
    发表于 01-13 09:01 0次下载

    MH三相数显调功器说明书

    MH三相数显调功器说明书
    发表于 01-13 09:00 0次下载

    全球首款可编程光子芯片问世

    电子发烧友网综合报道 10月9日消息,日本电信巨头NTT联合康奈尔大学、斯坦福大学宣布成功研发全球首款可编程非线性光子芯片,相关成果发表于《自然》杂志。这一突破不仅标志着光子芯片技术从“专用化”向
    的头像 发表于 10-13 08:35 1.2w次阅读
    全球首款可<b class='flag-5'>编程</b><b class='flag-5'>光子</b>芯片问世

    关键技术突破!国内首个光子芯片中试线成功下线首片晶圆

    酸锂调制器芯片的规模化量产,该芯片的关键技术指标达到国际先进水平光子芯片关键技术突破 光子芯片也被称为光子集成电路(Photonic Integrated Circuit,PIC)
    的头像 发表于 06-13 01:02 5458次阅读