今天刷手机的时候,看到一个叫《9477》的小游戏,看着挺有意思,就想着自己能不能也试试做出来。说干就干,先去应用商店搜一下,还真有,赶紧下载下来玩几把,琢磨一下里面的规则。
大致的规则就是:
...
今天刷手机的时候,看到一个叫《9477》的小游戏,看着挺有意思,就想着自己能不能也试试做出来。说干就干,先去应用商店搜一下,还真有,赶紧下载下来玩几把,琢磨一下里面的规则。
大致的规则就是:
- 开局给你几个数字。
- 你要把这些数字通过加减乘除运算,算出94或者77。
- 每个数字只能用一次。
- 运算过程中可以加括号。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
摸清规则,我就开始动手。我得让程序能随机生成几个数字。这还不简单,用个随机数生成器不就完事。我记得我以前好像写过类似的代码,翻出来改改就能用。
实际操作起来,发现比我想的要复杂一点
生成数字是简单,关键是怎么让程序自动进行加减乘除运算?这可把我给难住。我开始在网上到处搜,看看有没有什么现成的算法可以用。
找一圈,发现大部分都是教你怎么手动计算的,没有找到能让程序自动计算的。这下可咋整?难道要我自己写一个算法出来?那也太难!
没办法,只能硬着头皮上。我开始尝试各种方法,先是想着能不能用穷举法,把所有可能的运算组合都试一遍,看看能不能凑出94或者77。结果,数字少的时候还行,数字一多,运算量太大,程序直接卡死。
穷举法不行,那就只能想别的办法。我又开始琢磨,能不能用递归的方法,把问题分解成一个个小问题,然后逐个解决。这个方法听起来好像有点靠谱,但是实际写起来,发现还是有很多细节要处理,比如怎么处理括号,怎么判断运算优先级等等,搞得我头都大。
折腾一天,总算是把程序写出来,但是效果嘛只能说差强人意。有时候能算出正确结果,有时候又不行,而且运算速度也很慢。看来,想要做出一个完美的小游戏,还真不是一件容易的事情。
不过通过这回尝试,我也学到不少东西。至少,我对这些基础运算逻辑更熟悉,下次再遇到类似的问题,应该能更快地找到解决办法。虽然这回的“9477小游戏”实践不算成功,但也算是一次有意义的尝试!