怎么用python实现五子棋 : 第三节,落子的互动性
上一节,我们通过控制函数的方式来决定落子的位置,那难免有点不够人性化,互动性不够强,也缺少体验感。
这一节,我们就来改造一下程序的互动性,通过输入坐标来决定落子的位置。
这就需要增加一个函数,来控制玩家的落子位置,那让我们先睹为快,看一下效果。
是否感觉更直观,互动性更强些?
接下来,让我们看看这是怎么实现的,上代码了,这可是一碟美味啊。
来看看新增加的函数,如下:
def player_down(self, pos_x=None, pos_y=None):
"""
玩家落子
:param pos_x: 从图形界面输入时,输入的x坐标为多少
:param pos_y: 从图形界面输入时,输入的y坐标为多少
"""
try:
# 接受玩家的输入
pos_x = int(input('x: '))
pos_y = int(input('y: '))
if 0 <= pos_x <= self.x -1 and 0 <= pos_y <= self.y -1:
if self.go_map[pos_x][pos_y] == 0:
self.go_map[pos_x][pos_y] = 1
self.cur_step += 1
return
except ValueError: # 玩家输入不正确的情况(例如输入了‘A’)
pass
然后,我们改造一下主函数,让效果体现出来。
# 主函数
if __name__ == '__main__':
gomoku = Gomoku()
while True:
gomoku.player_down()
gomoku.gomoku_board()
这一节所要实现的功能,已经完美实现。
下一节,要实现什么功能呢?
那就是五子棋中最核心的算法,连五子赢棋。
敬请期待下一节。