-
完成到交替下棋子,可以继续往下实现如何判断胜负
-
你可以做一下扩展
- 让棋盘四周变成边,而不是十字线
- 让输入变得更加人性化,比如 一次输入
5 6
就可以了 - 判断胜负的功能
- 输入指定数字,认输
- 利用cmd命令
cls
实现清屏,保持屏幕上就一个棋盘 - 可以利用
pygame
库改编成图形版
运行效果:
代码如下:
li = [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
] # 15*15 大小的棋盘
qi = 1 # 1=黑子,默认先下黑子
while True:
# 根据列表数据,显示整个棋盘
for v in li: # 循环外层列表,把每个元素赋值给 v ,每个元素又是一个列表
for v1 in v: # 循环每个元素 v ,因为 v 也是一个列表
if v1 == 0:
print("+", end="") # end参数后面设置位空字符串,表示不换行
elif v1 == 1:
print("●", end="")
elif v1 == 2:
print("○", end="")
print() # 换行,外层循环一次,表示一行,所以换行
# 获取用户输入(用户下子)
row = int(input("请输入要在第几行下子:"))
col = int(input("请输入要在第几列下子:"))
# 如果此处已经下了棋子,就不再往下执行
if li[row - 1][col - 1] != 0:
continue
li[row - 1][col - 1] = qi
# 如果是黑棋就变成白棋, 否则变成黑棋
if qi == 1:
qi = 2
else:
qi = 1
如果有任何疑问,可以加微信一起交流,微信号:173126019(加好友请注明:五子棋)