今天跟大家伙儿唠唠我搞的这个“riddle”小玩意儿,说白了就是个猜谜游戏,不过是我自己琢磨着从零开始撸出来的。
就想着搞点不一样的东西,别老是那些个烂大街的小游戏。正好最近对猜谜挺感兴趣,就寻思着自己整个。先是满世界搜罗谜语,网上能找到的,书上能翻到的,一股脑儿全扒拉下来,整理到一起,弄了个谜语库。
接着就开始搭架子了。琢磨着用啥语言想来想去,还是用我最顺手的 Python 。简单,快速,还能练练手。先把界面给搞出来,用 Tkinter 做的,丑是丑了点,但是能用就行。搞了几个按钮,一个文本框显示谜面,一个输入框让你填答案,再加个“提交”按钮。
然后就是核心逻辑了。从谜语库里随机抽一条谜语出来,显示在文本框里。等你输入答案,点了“提交”按钮,就判断你答对了没。答对了就给你加分,再抽一条新的谜语;答错了就扣分,或者给你点提示。这块儿代码写起来还挺费劲的,各种判断,各种逻辑,改了一遍又一遍,才算勉强能用。
后来又加了点小功能。比如可以设置游戏难度,难度越高,谜语越难,答对加分越多,答错扣分也越多。还加了个计时器,限制你答题时间,增加点紧张感。对了,还做了个排行榜,记录你的得分,看看你在朋友里排第几。
整个过程磕磕绊绊的,遇到不少坑。比如,Tkinter 的界面布局就搞得我头大,各种控件的位置怎么摆都不顺眼。还有,谜语库里的谜语太多了,怎么才能保证每次抽到的谜语都不一样?想了好久才想到用个列表记录已经抽过的谜语的索引,每次抽之前先判断一下,如果抽到已经抽过的,就重新抽。
代码写完,自己先试玩了几遍,感觉还行,就是界面太简陋了。琢磨着找个美工帮忙美化一下,但是想想自己又不是专业的,没必要搞那么花里胡哨的,能玩就行了。
打包成 exe 文件,发给朋友们玩。结果他们都说太简单了,让我多加点难点的谜语。看来还得继续完善谜语库。
这回自己动手做这个“riddle”小游戏,收获还是挺大的。不仅复习了 Python 的知识,还学到了一些新的东西。更重要的是,体验了从零开始创造一个东西的乐趣。以后有时间,还会继续折腾点别的玩意儿。
对了,谜语库里有个谜语挺有意思的:“酸痛全跑了(打一节日)”,你们猜猜是
提示一:节日
提示二:与龙有关
留言区等你们的答案!