• 完成到交替下棋子,可以继续往下实现如何判断胜负

  • 你可以做一下扩展

    • 让棋盘四周变成边,而不是十字线
    • 让输入变得更加人性化,比如 一次输入 5 6 就可以了
    • 判断胜负的功能
    • 输入指定数字,认输
    • 利用cmd命令 cls 实现清屏,保持屏幕上就一个棋盘
    • 可以利用pygame库改编成图形版

运行效果:

image.png

代码如下:

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(加好友请注明:五子棋)