20210513 练习
基础
1
完成第十一题
这道题会帮助大家巩固数组,尤其是嵌套数组的操作,并且与元胞机/生命游戏有紧密关联。非常有意思,大家可以了解一下。
2
完成第十二题
涉及字符串处理与大量的判断语句,可以让大家适应有一定复杂度的逻辑。
3
完成第二十二题
帮助大家巩固 while
循环以及数组相关的操作。
选做
我们有一个用来练习的小游戏项目。有兴趣的同学请私下联系我们,组成项目组一起开发哦!
规则简介
这是一个一对一的回合制的策略游戏(有点类似于下棋),它的地图(棋盘)长这样:
其中:
- H1
和 H2
代表双方的大本营。
- FF
、WW
和 GG
Food
、Wood
和 Gold
。这些是资源,棋子移动到上面就可以收取资源。收取的资源可以用来换取更多棋子。
- ~~
代表河流。棋子移动到上面会死掉。
我们一共有四种棋子:
- Knight
、Spearsman
和 Archer
,它们每轮可以移动一格。就像剪刀、石头与布一样,被克制的棋子碰到强势的棋子会消失;一样的棋子相碰,两个都会消失。
- Scout
碰到任何棋子都会消失,但是它一轮可以移动一格或两格。
当一方控制任意棋子走到对方的大本营,即可获得胜利。
技术分析
- 游戏地图保存在一个
txt
文件里,我们要读取出来,然后用print
函数以及循环和判断语句,把地图在terminal
中画
出来。 - 我们要用
input
函数,读取用户的操作,包括用资源换取新棋子和移动棋子。 - 对于发生的事件,我们用判断语句控制,包括棋子的死亡、游戏结束等等。
预期收获
- 到目前为止,我们都停留在书写很小的脚本的阶段。这个项目可以让你获得把独立的逻辑拼装成完整程序的能力。
- 这个项目要用到的知识,在之前都已经学到过了。这是一个很好的巩固的机会。
- 可以玩儿起来!
额外需求
有兴趣的同学,可以通过 Web
编程,将它包装成一个在线对战的游戏;也可以使用 PyQT
或 HTML
,为它做一个更加漂亮的界面。