VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA

微软 Office 系列的 Excel 可制作游戏,这早就不是什么大秘密,过去网上已有不少神人分享,不过大多都是通过 VBA 来实现,而本次这位神人更是厉害,不用 VBA 也能利用 Excel 重现超经典游戏「勇者斗恶龙 3」,近日他就放上一段成功的影片,真的是让人跪着看啊,甚至还在网上分享了制作过程。


VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

日本神人用 Excel 重现「勇者斗恶龙 3」游戏
这位神人来自日本,一直以来都很热衷于专研 Excel 技术,并于网上也分享相关知识,而游戏部分他也尝试过,在这款勇者斗恶龙 3 之前,他就曾成功不用 VBA 制作出踩地雷游戏:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

而为了挑战更高难度,几个月前他先在个人 主页 询问网友,下一款不用 VBA 制作的游戏,大家最想看到哪一款?最终勇者斗恶龙获得最高票数,其次是俄罗斯方块,然后马里欧,最后一名是太空侵略者,这也是为什么他先尝试勇者斗恶龙 3 的原因:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

影片中可以看到,他打开这一个 Excel 文档:
【 VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA】
VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

然后勇者斗恶龙 3 的画面就出现,右下角还制作了一个任天堂摇杆的控制器,按方向键来移动主角:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

行走时组队的伙伴也会在后面跟着:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

碰到怪物时,进入战斗的超经典切换画面:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

攻击选项、每一支怪物的 H、M 等数值,连对话都有:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

碰到打不赢的怪物时,既然是自己制作的游戏,所有数值当然都能更改,不用靠金手指:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

跳出把所有数值都改成 255:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

全部都 255 谁都不是对手:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

完整影片:
根据他的说明,这次勇者斗恶龙 3 可以分成三个部分,「一、利用散布图来呈现地图和怪物」「二、使用循环参照(反复运算)与按住 F9 来创建一个计数器」、「三、于单元上编码」。
通过更改散布图的标记数值,就能做到英雄在地图上移动的效果,还能借由切换属性,制作出走路的画面。
他也提醒,散布图无法放大或缩小图片,因此一开始就要设定好对的尺寸:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

「循环处理」他认为是所有之中最困难的地方,通过函数来循环不是不可能,但游戏越复杂,需要处理的函数越困难,可能会碰到不少错误,因此最终他就改用循环参照的方法:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

地图与战斗之间的切换,则借由在单元格上创建 FizzBuzz 实现,里面也会加入一些判断式:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

虽然说不使用 VBA 情况下,Excel 确实也能重现这款游戏,但声音部分他也直言不讳还想不到解决方法,因此玩的过程中不会有任何背景、战斗声音:

VBA|网友用 Excel 表格重现「勇者斗恶龙 3」游戏,还没使用 VBA
文章插图

    推荐阅读