python井字棋游戏虽然看上去非常简陋,但是却非常值得学习。
先看怎么玩的:
1.显示规则说明,这里写上游戏玩法说明,以及如何判断胜负等等。
2.决定谁先走。
3.打印棋盘。
4.玩家行棋,电脑自动行棋(这里没有采用算法计算,只是自动随机下空的位置)
5.判断结果,祝贺玩家。
上面是玩的过程,用代码该如何写呢?
写这种步骤比较多的程序,写之前规划好程序非常重要;
伪代码:
打印显示玩法
决定谁先走
创建一个空棋盘
打印显示当前棋盘
当没有人获胜且不是平局:
如果轮到玩家
得到玩家下棋位置
根据位置更改棋盘
否则
计算电脑下棋位置
根据位置更改棋盘
打印显示当前棋盘
切换下棋方
向获胜者祝贺或者说明平局
伪代码其实已经非常清晰展示了所有步骤了,转换成对应代码也就比较容易了;
把每个步骤定义一个函数,采用自顶向下的模块化设计思路;
模块化设计最主要的就是要弄明白输入什么,输出什么;
打印显示
不需要输入输出,直接打印文字内容即可。
决定谁先走
有交互输入,可以通过变量传入参数,也可以在运行过程中输入,这里采用第二种,输出对应的先后顺序结果。
其它的方法也是同样的原理,这个过程中,仔细去思考这种设计思路,对以后设计大型程序非常有帮助。
创建棋盘
显示棋盘
玩家和电脑下棋
切换下棋方,输赢判断
祝贺玩家
编程要想突破自己的瓶颈,首先得基础非常扎实,然后就是修炼内功,这种需要自己刻意的训练;
很多时候我们写了很多案例代码,但是都没有本质上的突破,导致自己一直没有进步。