20210513 练习
基础
1
完成第十一题
这道题会帮助大家巩固数组,尤其是嵌套数组的操作,并且与元胞机/生命游戏有紧密关联。非常有意思,大家可以了解一下。
2
完成第十二题
涉及字符串处理与大量的判断语句,可以让大家适应有一定复杂度的逻辑。
3
完成第二十二题
帮助大家巩固 while 循环以及数组相关的操作。
选做
我们有一个用来练习的小游戏项目。有兴趣的同学请私下联系我们,组成项目组一起开发哦!
规则简介
这是一个一对一的回合制的策略游戏(有点类似于下棋),它的地图(棋盘)长这样:

其中:
- H1 和 H2 代表双方的大本营。
- FF、WW 和 GG Food、Wood 和 Gold。这些是资源,棋子移动到上面就可以收取资源。收取的资源可以用来换取更多棋子。
- ~~ 代表河流。棋子移动到上面会死掉。
我们一共有四种棋子:
- Knight、Spearsman 和 Archer ,它们每轮可以移动一格。就像剪刀、石头与布一样,被克制的棋子碰到强势的棋子会消失;一样的棋子相碰,两个都会消失。
- Scout 碰到任何棋子都会消失,但是它一轮可以移动一格或两格。
当一方控制任意棋子走到对方的大本营,即可获得胜利。
技术分析
- 游戏地图保存在一个
txt文件里,我们要读取出来,然后用print函数以及循环和判断语句,把地图在terminal中画出来。 - 我们要用
input函数,读取用户的操作,包括用资源换取新棋子和移动棋子。 - 对于发生的事件,我们用判断语句控制,包括棋子的死亡、游戏结束等等。
预期收获
- 到目前为止,我们都停留在书写很小的脚本的阶段。这个项目可以让你获得把独立的逻辑拼装成完整程序的能力。
- 这个项目要用到的知识,在之前都已经学到过了。这是一个很好的巩固的机会。
- 可以玩儿起来!
额外需求
有兴趣的同学,可以通过 Web 编程,将它包装成一个在线对战的游戏;也可以使用 PyQT 或 HTML,为它做一个更加漂亮的界面。