使用EXCEL中的VBA实现游戏的自动求解
精华修改于2017/07/281796 浏览综合
这是通关截图

求解举例,这是最后一关(第197关)

这是EXCEL的数据输入界面(自己用,所以做得很洁简)

上图说明:

单元格A1:输入初始数字
单元格A2:输入传送门输出位的位置,从右往左数,从1开始计数(没有的话输入0)
单元格A3:输入传送门输入位的位置,从右往左数,从1开始计数(没有的话输入0)

单元格B1到单元格B4:代表出现的各个按钮的代码,一个单元格内的代码对应一个出现的按钮,按钮代码的输入顺序是从左到右,从上到下,比如在这个管卡:
按钮【紫7】 →单元格【B1】
按钮【3=>5】→单元格【B2】
按钮【lnv10】 →单元格【B3】
按钮【Shift>】→单元格【B4】

单元格C1:举动值

单元格D1:目标值

单元格E列:列出了能得出答案的所有操作按钮的方法,我来说明下这串数字的含义:
在E1中数字是:114231,这表示
从左往右开始数,
第一个数是1,故先按第一个按钮,
第二个数是1,然后按第一个按钮,
第三个数是4,然后按第四个按钮,
第四个数是2,然后按第二个按钮,
第五个数是3,然后按第三个按钮,
第六个数是1,然后按第一个按钮,
如上操作按钮,就能完成目标了
(按钮的序列规范在上面已经说明了)
不理解的话留言,我再解释

所有按钮对应的代码我稍后更新。
特别说下,【Store】按钮有点特别,当存在这个按钮的时候,答案的格式有变化。

<以下2017年7月25日 13:46:04更新的>发现被加了[精华],更新动力来了

开始贴出不同按钮对应的操作代码:

NO1:“加”按钮,直接输入“加号”并后接数字,比如这里就输入“+8”(不要引号,后同)。

NO2:“减”按钮,直接输入“减号”并后接数字,比如这里就输入“-9”。

NO3:“乘”按钮,直接输入“乘号”并后接数字,比如这里就输入“*2”。

NO4:“除”按钮,注意!是输入“反斜杠”并后接数字,比如这里就输入“\2”。

NO5:“紫色”按钮(随便取了个名字),输入“英文点号”并后接数字,比如这里就输入“.3”。

NO6:“左书名号”按钮(随便取了个名字),只输入“英文逗号”,比如这里就输入“,”。

NO7:“次方”按钮,输入“次方号”并后接数字,比如这里就输入“^3”。

NO8:“取反”按钮,直接输入“英文感叹号”,比如这里就输入“!”。

NO9:“倒序”按钮,直接输入大写的“R”,比如这里就输入“R”。

NO10:“求和”按钮,直接输入大写的“S”,比如这里就输入“S”。

NO11:“左移”按钮,输入“左尖括号”,比如这里就输入“<”。

NO12:“右移”按钮,输入“右尖括号”,比如这里就输入“>”。

NO13:“替换”按钮,输入数字再接“右尖括号”再接数字,比如这里就输入“3>5”。

NO14:“镜像”按钮,直接输入大写的“M”,比如这里就输入“M”。

NO15:“方加”按钮,输入“左方括号”并后接带正负号的数字,比如这里就输入“[+1”。

NO16:“Store”按钮,直接输入大写的“T”,比如这里就输入“T”。

NO17:“按位减十”按钮,直接输入大写的“L”,比如这里就输入“L”。

这一部分是解释当存在“Store”按钮的时候,该如何操作,比如

然后在单元格中输入数据,再按下“Solve”键后,就能得到答案,如下图

看答案区,貌似有四个结果,其实只有两个结果(好吧,我承认,这两个结果是等价的,我不想优化了,斜眼笑),因为每个结果的下面一个的数字是用来说明如何操作“Store”按钮的,比如答案1:
1212表示先按第一个按钮,然后按第二个,然后按第一个,然后按第二个,
0100表示在第二次按按钮之前,先长按“Store”按钮,储存当前结果到“Store”按钮中,然后在继续操作。好了,下面是本题的流程:
按下“+1”按钮,得到结果1
长按“Store”按钮,储存结果
按下“Store”按钮,得到结果11
按下“+1”按钮,得到结果12
按下“Store”按钮,得到最终结果121
赢了
以上

程序下载地址如上,代码写了3天,使用这个代码已经通关。
楼主很懒,写完代码后有点疲倦,有兴趣加我QQ群一起讨论:320438104
如果我心情好,这个帖子我慢慢完善,给点评论,给我动力。
(PS:为什么要加密代码?别想多了,写得太烂,没好意思展示,要是感兴趣的人多了,我考虑下优化好了再贴出来。)
. “科学技术是第一生产力”-----------------------鲁迅