我学编程是为了解决实际问题,既然让计算机来解决实际问题,那就要把实际问题抽象成计算机能计算的数学问题,怎么做呢?
1 首先不要急着去写代码,先搞清楚现实问题是什么,清楚的定义好,在机器的世界里没有含糊,你自己说都说不清楚就不要指望计算机去帮你解决了,例如我用python编写五子棋,主要就是两大块,一是弄一个棋盘出来, 第二大快就是判断输赢
2 把现实问题说清楚之后,把问题抽象成数学模型,例如绘制棋盘需要用到图形界面相关的库,把这个库学好,绘制好窗口和线条,然后在线条交汇处绘制一个透明色的圆形的控件。那么棋盘就绘制出来了,然后就是判断输赢了,怎么判断呢,再次细分,每个控件点击一次就会产生一个坐标,黑子和白子随着各自的控件被点击,会各自生成一个坐标的集合,于是是不是赢了的问题就等价于判断这些坐标在横线上,纵线上,还有正对角线上,和负对角线上是不是有5个连成线的问题,用遍历的方式,就可以了
以上是我用python编写五子棋的心得,还未完成,但是从一脸懵逼到理清了思路花了2天也是值得的,毕竟这对于我一个新手的python学习者来说已经是很大的安慰了。