第43章 2048小游戏
第43章 2048小游戏
2048这个小程序不复杂,游戏的规则也很简单,玩家可以控制所有方块向同一个方向运动,两个相同数字方块撞在一起之后合并成为他们的和,每次操作之后会随机生成一个2或者4,最终得到一个“2048”的方块就算胜利了。
如果整个场地都塞满了,任何一个方块都无法动弹,那就是输了!
制作这个游戏,首先需要做的是把游戏主体分成16个格子。用Grid代表这些格子,然后对这些格子进行初始化判断。
游戏一开始进行初始化数据,以90%机率产生2,以10%机率产生4。然后判断游戏手势移动方向,执行全部格子的开始移动和移动结束的操作。每一次移动时判断格子碰撞结果,传入进行格子合并移动操作。这里面的难点在于数据结构的构建,只要把格子弄明白就比较好办。然后就是手指滑动的判断了。
就这样,谢乔中午来找秦川的时候,推门进来,就看到这个让她有些诧异的一幕。秦川居然没有在打游戏,而是靠在沙发上饶有兴致地看着一本书。
谢乔悄悄凑过去,一把夺过书,到手一看,这才发现,居然不是漫画书也不是武侠小说,而是一本《计算机基本操作入门》!她直接愣住了!
“抢我书干嘛?”秦川有些生气,从谢乔手里再次夺过来,“我还没看完呢,这本书写的挺有意思的。”
谢乔迈步上前,双臂交叉,手指绕动,对着秦川脑门,十分中二地做出一个马小玲降妖除魔的手势,“临兵斗者皆阵列在前,诛邪!”
这是最新播放的《我和僵尸有个约会》,谢乔觉得马小玲的诛邪手势特别帅,花费好久才练会了!
“哈哈,你干嘛?”秦川忍不住笑起来。
“你肯定不是川子,川子从来不看这些学习的书!你是何方妖怪?还不快快现出原形!”谢乔大叫道。
“哈哈,乔乔,你还学得真像!”秦川一手拍开谢乔的手指头,都差点儿戳到他鼻子了,笑着解释:“长虫要编程,让我好好看看这些计算机入门的书。我妈不是说,我把这些都学会,就给我买电脑。我今天看了看,其实也很简单呀,这本《计算机基本操作入门》,我一早上就快看完了!”
“你看得懂?”谢乔有些吃惊。
“这有啥看不懂的,就是讲一些如何操作电脑的简单东西,我大部分都会了,里面有些技巧倒是第一次知道,挺有意思的。比如这个,你看,几乎windows系统所有操作都能拿键盘快捷键来执行。我还从来不知道,快捷键操作有时候比鼠标快多了!”秦川说的头头是道。
谢乔一愣,突然又跳起来,用剑指指着秦川大叫:“还说你不是妖怪,川子就知道吃,哪懂得这些东西!”
“哈哈,别闹了!”秦川笑着解释:“这些东西本来就是常识,我会玩电脑,怎么能不会这些?还别说,长虫说得对,除了咱们的课本,别的写书的都是想尽办法让人想看让人看懂,只有那些编写教材的,怎么生僻怎么无聊怎么来!唯恐你能看懂似的!”
“听你这么一说,好像还真是!”谢乔也有恍然大悟的感觉。
“哈哈,本来就是这样,一本课本要学生学习一学期,如果太简单了,大家都自学了,要老师要学校干嘛!”陈季常走过来,笑着说。
陈季常刚刚就听到了谢乔的进门声,只是他正在编写程序的关键时刻,不想分心罢了!现在写完了这部分,就起身过来给谢乔打招呼。
“长虫,你可真厉害,连川子这样的榆木脑瓜你都能让他看进去书!”谢乔伸出大拇指,敬佩不已。
“哈哈,哪有这种事呀!”陈季常笑着解释道,“川子喜欢玩电脑,学习计算机知识也自然不会排斥。就像你喜欢看言情小说,写写校园青春小说自然也不会觉得枯燥无味。再说,川子也想把这些书都看完,这样秦阿姨就得实现承诺给他买电脑了!”
“这倒也是!有电脑的诱惑,这家伙肯定动力十足!”谢乔彻底明白了。
“是呀,只要好好引导,川子也不是学不进去的。”陈季常说。
“你呢?你在编程吗?”谢乔看了一眼屏幕,顿时被那上面密密麻麻的程序语句所震撼!
“是呀,我打算写一个小游戏,现在已经差不多了,可以执行一下试试了!”陈季常解释道。
“哇,写了这么多,你可真厉害!”谢乔惊叹不已。
“很多都是能自动带出来的,其实也还好。”陈季常一边说着,一边点击编译运行。
谢乔期待看着,却见屏幕中央出现了一个极其简陋的窗口,中央一个按钮,上面写着“开始”。陈季常点击一下,刷新出现一个白框,16X16大小,最下面有两个小方块,每个上面写着数字“2”。
谢乔未免有些失望,这是什么玩意呀?这也太丑了!
陈季常却显得有些激动,他在窗口中央按住鼠标左键,向左划了一下。那两个小方块就立即一起滑向最左边,撞击一下,变成了一个数字“4”的方块,同时从最上方掉下来两个数字“2”的方块。
陈季常哈哈一笑,按住鼠标左键,向左再划了一下。新掉下来的两个方块合并成为一个数字“4”的方块。最上面又掉下两个数字“2”的方块。
陈季常再划一次,这次两个数字“4”的方块合并成数字“8”的方块。
陈季常接着上下左右胡乱划起来,这下方块没那么顺畅合并消减了,上方掉下来的也不只是数字“2”的方块,也有数字“4”的方块。
随着陈季常胡乱操作,很快窗口就塞满了,上下左右滑动都合并不了,弹出一个对话框“失败,是否再来一局?”
陈季常点了个“是”,一切又恢复到了初始状态。
谢乔现在看懂了,这个小游戏就是上下左右划动,想办法让这些带相同数字的方块合并。合并一次,数字翻倍。每划动一次,就会掉下来两个方块。
实际上就跟谢乔非常熟悉的俄罗斯方块差不多!
“来来,让我玩玩!”谢乔来了兴趣,想上手试试。
2048游戏操作非常简单,陈季常开始设置的难度也很小。
谢乔就这么呼啦来呼啦去,很快就合并出来了2048!最后,弹出了一个恭喜玩家过关的窗口。
“怎么样?提提意见吧?”陈季常笑着问道。
“丑爆了!”谢乔还没开口,身后的秦川已经发言了!
他刚才过来,看着谢乔玩通关。他对这个小游戏槽点多多!
“闭嘴!长虫又没问你!”谢乔转头骂了秦川一句,然后对着陈季常有些不好意思地说:“长虫,这个游戏界面是有些简陋,玩起来也有些太简单,有点儿无聊。”
“哈哈,你俩太不专业了!说得都是些外行话,都没说到点子上!”陈季常不以为然笑了起来,“界面没有贴图,没有优化,肯定很丑。至于难度,我现在给你调一下,看你还觉得简单吗?”
说着,陈季常打开编程界面,找到掉落难度设置。现在是一次掉落两个,以90%机率产生2,以10%机率产生4。
他双手飞快,参数修改一番,直接改成一次掉落四个,以60%机率产生2,以30%机率产生4,以10%机率产生8。修改后保存,重新编译完成。
再次运行后,陈季常起身把位子让给谢乔,示意她可以再试试。
谢乔点击开始,这一次窗口直接出现四个方块,三个“2”,一个“4”。谢乔向左划动,方块合并,变成“4-2-4”这样。不过天上掉下来四个,一个“8”,一个“4”,两个“2”。谢乔再一划,最下面一行变成“4-2-8-2”,上面一行则是“8-2-4”,掉下来三个“2”,一个“8”。
谢乔无语了,怎么这么乱掉呀!每次还掉这么多,完全没规律。现在大数字和小数字混在一起,消除难度越来愈大,仅仅一分钟后,方块就充满了整个界面,弹出“失败,是否再来一局?”对话框。
谢乔生气叫了起来,“长虫,这也太难了,怎么能一次掉这么多?还出来‘8’!没法玩了!”
“是你笨,操作有问题,让我来!”秦川也来了兴致,把谢乔拉起来,自己坐上去试试。
不出意料,秦川也很快输了!
“这没法玩!太难了!”换成自己,他就把一切问题推给电脑。
“哈哈,难度的确太高了!没关系,再修改一下参数就行了!”陈季常笑着再次打开程序,这次把掉落方块数量减成3个,保存,重新编译。
这次再打开,难度就比较适中了!
谢乔玩得还有些上瘾了!