python井字棋游戏虽然看上去非常简陋,但是却非常值得学习。


先看怎么玩的:


1.显示规则说明,这里写上游戏玩法说明,以及如何判断胜负等等。


2.决定谁先走。

python 井字棋-文字版(上)_伪代码


3.打印棋盘。



python 井字棋-文字版(上)_python_02

4.玩家行棋,电脑自动行棋(这里没有采用算法计算,只是自动随机下空的位置)

python 井字棋-文字版(上)_设计思路_03

python 井字棋-文字版(上)_伪代码_04

python 井字棋-文字版(上)_python_05

5.判断结果,祝贺玩家。

python 井字棋-文字版(上)_python_06



上面是玩的过程,用代码该如何写呢?


写这种步骤比较多的程序,写之前规划好程序非常重要;


伪代码:


打印显示玩法

决定谁先走

创建一个空棋盘

打印显示当前棋盘

当没有人获胜且不是平局:

    如果轮到玩家

        得到玩家下棋位置

        根据位置更改棋盘

    否则

        计算电脑下棋位置

        根据位置更改棋盘

    打印显示当前棋盘

    切换下棋方

向获胜者祝贺或者说明平局




伪代码其实已经非常清晰展示了所有步骤了,转换成对应代码也就比较容易了;


把每个步骤定义一个函数,采用自顶向下的模块化设计思路;


模块化设计最主要的就是要弄明白输入什么,输出什么;




打印显示


    不需要输入输出,直接打印文字内容即可。


python 井字棋-文字版(上)_设计思路_07


决定谁先走


    有交互输入,可以通过变量传入参数,也可以在运行过程中输入,这里采用第二种,输出对应的先后顺序结果。

python 井字棋-文字版(上)_伪代码_08

其它的方法也是同样的原理,这个过程中,仔细去思考这种设计思路,对以后设计大型程序非常有帮助。


创建棋盘


python 井字棋-文字版(上)_python_09


显示棋盘


python 井字棋-文字版(上)_伪代码_10


玩家和电脑下棋


python 井字棋-文字版(上)_伪代码_11


切换下棋方,输赢判断


python 井字棋-文字版(上)_python_12


祝贺玩家


python 井字棋-文字版(上)_python_13



编程要想突破自己的瓶颈,首先得基础非常扎实,然后就是修炼内功,这种需要自己刻意的训练;

很多时候我们写了很多案例代码,但是都没有本质上的突破,导致自己一直没有进步。



(全文完)


长按二维码,加关注!叶子陪你玩

python 井字棋-文字版(上)_设计思路_14


欢迎转载,转载请注明出处!

欢迎关注公众微信号:叶子陪你玩编程 分享自己的python学习之路