20210513 练习

基础

1

完成第十一题

这道题会帮助大家巩固数组,尤其是嵌套数组的操作,并且与元胞机/生命游戏有紧密关联。非常有意思,大家可以了解一下。

2

完成第十二题

涉及字符串处理与大量的判断语句,可以让大家适应有一定复杂度的逻辑。

3

完成第二十二题

帮助大家巩固 while 循环以及数组相关的操作。

选做

我们有一个用来练习的小游戏项目。有兴趣的同学请私下联系我们,组成项目组一起开发哦!

规则简介

这是一个一对一的回合制的策略游戏(有点类似于下棋),它的地图(棋盘)长这样:

其中:
- H1H2 代表双方的大本营。
- FFWWGG FoodWoodGold。这些是资源,棋子移动到上面就可以收取资源。收取的资源可以用来换取更多棋子。
- ~~ 代表河流。棋子移动到上面会死掉。

我们一共有四种棋子:
- KnightSpearsmanArcher ,它们每轮可以移动一格。就像剪刀、石头与布一样,被克制的棋子碰到强势的棋子会消失;一样的棋子相碰,两个都会消失。
- Scout 碰到任何棋子都会消失,但是它一轮可以移动一格或两格。

当一方控制任意棋子走到对方的大本营,即可获得胜利。

技术分析

  1. 游戏地图保存在一个 txt 文件里,我们要读取出来,然后用 print 函数以及循环和判断语句,把地图在 terminal 出来。
  2. 我们要用 input 函数,读取用户的操作,包括用资源换取新棋子和移动棋子。
  3. 对于发生的事件,我们用判断语句控制,包括棋子的死亡、游戏结束等等。

预期收获

额外需求

有兴趣的同学,可以通过 Web 编程,将它包装成一个在线对战的游戏;也可以使用 PyQTHTML,为它做一个更加漂亮的界面。