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

《数码宝贝》第一部中的泉光子郎的编程是什么水平?(文末赠光子郎精美壁纸)

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

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

数码宝贝各部介绍_数码宝贝部数_数码宝贝 第6部

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

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

数码宝贝 第6部_数码宝贝部数_数码宝贝各部介绍

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

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


数码宝贝 第6部_数码宝贝各部介绍_数码宝贝部数


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

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

在资料检索过程中主要发现两个问题。一是和这段代码语法相近的语言太多,比如 VFP(Visual FoxPro,知道它的人肯定都老了)、VimScript、SAP 采用的 ABAP、早期 PHP、伪代码的某个版本。

(~broggio/cop3530/3530pseu.htm)

乃至德仪计算器的自创脚本语言等等。经过一个个的尝试,发现这些语言都是形似神不似,并不是真正的答案。

数码宝贝各部介绍_数码宝贝 第6部_数码宝贝部数

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

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

然而,在我就要放弃之际,一位国外先行者的博文给了我曙光(尽管文章里有一些错误)。这个语言最终还是被查出来了……

(#ref_2)

事情要追溯到 1987 年,夏普发布了一款型号为 X68000 的 PC。作为那个年代的电脑,搭载了 10MHz 的摩托罗拉 68000CPU,1MB 的内存,没有硬盘,且只在日本发售。

其操作系统是夏普为这一系列电脑专门设计的 Human68k,《数码宝贝》中的那段代码,就属于这个操作系统专有的编程语言 X-BASIC。

数码宝贝各部介绍_数码宝贝部数_数码宝贝 第6部

Sharp X68000ACE-HD

数码宝贝部数_数码宝贝各部介绍_数码宝贝 第6部

X-BASIC手册

数码宝贝 第6部_数码宝贝各部介绍_数码宝贝部数

日本维基上X-BASIC的一段例程

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

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

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

数码宝贝 第6部_数码宝贝部数_数码宝贝各部介绍

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

数码宝贝各部介绍_数码宝贝 第6部_数码宝贝部数

执行 run 命令,按代码要求输入一个 1 到 2 之间的浮点数值,下面就是见证奇迹的时刻了!

数码宝贝 第6部_数码宝贝部数_数码宝贝各部介绍

我不禁望向窗外的那只放屁虫,它仍在很悠闲地晒太阳,很遗憾我的甲虫兽并没有进化……原因很简单,这真的只是一段随机生成「coast」轮廓的代码。

初始输入是一个阈值,从视频里看,显然阈值越高「海岸」越险峻,阈值越低「海岸」越平滑,很有可能是摘取了当时哪个游戏里地图生成器的一段源码。所以,导演又糊弄谁呢?

为了跑这段代码,我查到了一些资料和工具,在此罗列一下,有兴趣可以看看。

X-BASIC文档(日文):

%3A//ww3.enjoy.ne.jp/~zoomark/ip/xb/xb_frm.html

X68000 Emulator in Java:

%3A//stdkmd.net/xeij/

Human68k磁盘映像(日文):

%3A//retropc.net/x68000/software/sharp/human302/

X68000相关资料(日文):

%3A//retropc.net/x68000/book/x68book.htm

最后话说回光子郎的编程水平,这段代码的难点主要在于用递归实现了分形图形的绘制,虽然没什么特别神秘的地方,但还是需要一定程度的编程技能和数学知识。原理上很像我之前绘制谢尔宾斯基三角形的代码:

Random Forest:小练手:用Canvas绘制谢尔宾斯基三角形

但是光子郎当时好像上小学四年级?

数码宝贝部数_数码宝贝 第6部_数码宝贝各部介绍

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

数码宝贝 第6部_数码宝贝各部介绍_数码宝贝部数

数码宝贝各部介绍_数码宝贝 第6部_数码宝贝部数

嘛,单从这里看,感觉能进科大少年班就是了……

彩蛋:当年 X68000 系列的电脑还随附一个名为 060turbo 的软件,单独装在一个磁盘。

(#ref_5)

这个软件的唯一功能是在屏幕上随机打印一张复杂的分形图形(疑似Mandelbrot 图像?并不是很确定)。我用模拟器试了一下,效果确实惊艳,感觉光子郎在成为分形大师的路上还需努力。

数码宝贝 第6部_数码宝贝各部介绍_数码宝贝部数

可爱又中二的程序员们总是能给我们带来许多欢乐

还不快为他们的努力点个赞

附赠光子郎壁纸一张

数码宝贝各部介绍_数码宝贝部数_数码宝贝 第6部

数码宝贝 第6部_数码宝贝各部介绍_数码宝贝部数

“扫一扫,我等你来撩”

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

华中科技大学武昌分校就业率及就业情况怎么样就业率高的专业有哪些2020

华中科技大学武昌分校就业率及就业情况怎么样就业率高的专业有哪些2020
华中科技大学武昌分校就业率及就业情况怎么样就业率高的专业有哪些2020华中科技大...

GTLC全球技术领导力峰会参会全攻略

GTLC全球技术领导力峰会参会全攻略
为您特别奉上GTLC参会全攻略

宝安区10个项目获广东省科学技术奖

宝安区10个项目获广东省科学技术奖
宝安区10个项目获广东省科学技术奖,广东省,宝安区,科技进步奖,深圳市

【经典回顾】铝、钛合金材料与我国航空锻件

【经典回顾】铝、钛合金材料与我国航空锻件
铝、钛合金锻件在航空工业生产中占有重要地位,作为主要承力构件,其组织性能直接关系...

别人都说不赚钱,大洋图文营业额却年年攀升,如何做到的?

别人都说不赚钱,大洋图文营业额却年年攀升,如何做到的?
为何他们不仅有新门店的加入,而且营收也能稳中有进?

西安将深化科技创新和产业创新融合发展机制改革

西安将深化科技创新和产业创新融合发展机制改革
省科学技术厅(省委科技工委)是省委、省政府负责全省科技工作的职能部门。科技工委主...

泉州许多公司瞄向定制短剧,升级内容打造精品!

泉州许多公司瞄向定制短剧,升级内容打造精品!
N海都全媒体记者 沈舜枝 柳小玲 文/图早期进入微短剧赛道,可以碰上一部剧500...

sony数码相机介绍

sony数码相机介绍
导语:众所周知的是索尼是一个知名的数码产品品牌,其旗下的数码产品种类非常的多,有...

“今日头条”媒体全文登载我校人文教育学院毛时亮院长文史讲座│黄岩百年师范教育的发展历程及启示

“今日头条”媒体全文登载我校人文教育学院毛时亮院长文史讲座│黄岩百年师范教育的发展历程及启示
今年是我校的前身学校之一黄岩师范学校建校100周年,我校人文教育学院毛时亮院长在...

奇虎360回A股迈关键一步:已接受华泰联合证券IPO辅导

奇虎360回A股迈关键一步:已接受华泰联合证券IPO辅导
3月27日,天津证监局官网披露信息显示,华泰联合证券已于3月23日与三六零科技股...
本站访客:324504
1097476955
服务热线

服务热线

18951535724

18951535724
返回顶部