当前所在位置: 首页 > 数码科技

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

2025-05-06 本站作者 【 字体:

数码宝贝 第6部_数码宝贝部分角色介绍_数码宝贝各部介绍

我深挖了一下《数码宝贝》第一部第五集中光子郎在电脑上敲出的代码,终于把原始代码跑了出来。

数码宝贝 第6部_数码宝贝部分角色介绍_数码宝贝各部介绍

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

数码宝贝部分角色介绍_数码宝贝各部介绍_数码宝贝 第6部

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

数码宝贝部分角色介绍_数码宝贝 第6部_数码宝贝各部介绍

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

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

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

数码宝贝部分角色介绍_数码宝贝 第6部_数码宝贝各部介绍

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

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

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

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

数码宝贝各部介绍_数码宝贝部分角色介绍_数码宝贝 第6部

数码宝贝部分角色介绍_数码宝贝 第6部_数码宝贝各部介绍

数码宝贝 第6部_数码宝贝部分角色介绍_数码宝贝各部介绍

这个系列的最后一款电脑在1993年发布(配置有所增强),而《数码宝贝》第一部是在1999年放映的,可见在动画制作时期,光子郎的代码也不算特别陈旧。

为了实际地跑一下这段代码,又经过一番艰辛的努力,我搞到了X68000的模拟器,还有操作系统Human68k(version 3.02)的磁盘映像,现在还能找到这些东西,真的要感谢极客阿宅们的默默奉献。

在模拟器里一开机,感觉就成功了一半:

数码宝贝 第6部_数码宝贝部分角色介绍_数码宝贝各部介绍

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

执行run命令,按代码要求输入一个1到2之间的浮点数值我不禁望向窗外的那只放屁虫,它仍在很悠闲地晒太阳,很遗憾我的甲虫兽并没有进化……原因很简单,这真的只是一段随机生成「coast」轮廓的代码。初始输入是一个阈值,从视频里看,显然阈值越高「海岸」越险峻,阈值越低「海岸」越平滑,很有可能是摘取了当时哪个游戏里地图生成器的一段源码。所以,导演又糊弄事呢?为了跑这段代码,我查到了一些资料和工具,在此罗列一下,有兴趣可以看看。

X-BASIC文档(日文):~zoomark/ip/xb/xb_frm.

htmlX68000 Emulator in Java:

磁盘映像(日文):

相关资料(日文): Languages Database:

最后话说回光子郎的编程水平,这段代码的难点主要在于用递归实现了分形图形的绘制,虽然没什么特别神秘的地方,但还是需要一定程度的编程技能和数学知识。

原理上很像我之前绘制谢尔宾斯基三角形的代码。

但是光子郎当时好像上小学四年级?而且在动画里,这段程序的输出是这样的,光子郎最后靠这个成功还原了他和美美所在的迷宫。

数码宝贝部分角色介绍_数码宝贝各部介绍_数码宝贝 第6部

References

[1]一个php程序媛:

阅读全文
加载中~
相关推荐

2025年江苏省普通高校“专转本”计划公布

2025年江苏省普通高校“专转本”计划公布
转自:上观新闻 近日,江苏省教育厅下达2025年江苏省普通高校“专转本”计划,一...

股票行情快报:博世科(300422)9月19日主力资金净卖出603.57万元

股票行情快报:博世科(300422)9月19日主力资金净卖出603.57万元
9月19日的资金流向数据方面,主力资金净流出603.57万元,占总成交额11.7...

B.法定时限,因情况复杂,该投诉还在进一步调解中,依据《上海市市场监督管理投诉举报处理程序规定》第二十二条,申请延期

B.法定时限,因情况复杂,该投诉还在进一步调解中,依据《上海市市场监督管理投诉举报处理程序规定》第二十二条,申请延期
A.特殊疑难,因情况复杂,该投诉还在进一步调解中,依据《上海市市场监督管理投诉举...

江苏如东:勇当数字化转型“排头兵” 跑出高质量发展“加速度”

江苏如东:勇当数字化转型“排头兵” 跑出高质量发展“加速度”
南通网由南通日报社主办,是南通地区最权威的主流新闻门户和资讯平台,南通新闻最快权...

数码宝贝1主题曲butterfly

数码宝贝1主题曲butterfly
数码宝贝1主题曲butterflyゴキゲンな蝶になって きらめく风に乗って今すぐ...

五一五平衡养生-2017年11月.doc

五一五平衡养生-2017年11月.doc
五一五平衡养生-2017年11月.doc,五一五平衡养生一、 养生四高度 生理养...

养生的基本概念与历史:探索长寿的艺术

养生的基本概念与历史:探索长寿的艺术
养生是什么意思,养生的基本概念与历史:探索长寿的艺术 文:我们相遇太晚 亲爱的读...

山东杏林科技职业学院招生办联系电话

山东杏林科技职业学院招生办联系电话
山东杏林科技职业学院招生办地址:山东省济南市经十路东段2号山东杏林科技职业学院联...

单炉世界最大水煤浆气化装置在内蒙一次投料成功

单炉世界最大水煤浆气化装置在内蒙一次投料成功
由华东理工大学和兖矿集团有限公司合作开发的多喷嘴对置式水煤浆气化技术再次取得突破...

持股2.6549%!华西证券子公司下注“独角兽”目标企业,核心团队含川大教授、博导

持股2.6549%!华西证券子公司下注“独角兽”目标企业,核心团队含川大教授、博导
24小时财经资讯平台,依托新锐财经日报《每日经济新闻》(National Bus...
本站访客:27818
1097476955
服务热线

服务热线

18951535724

18951535724
返回顶部