用python作五子棋

好的,下面给出一个简单的五子棋游戏实现: ```python import os # 初始化棋盘 def init_board(): board = [] for i in range(15): board.append(['+'] * 15) return board # 打印棋盘 def print_board(board): os.system('clear') print(' ' + ' '.join([str(i+1) for i in range(15)])) for i in range(15): print(str(i+1).rjust(2) + ' ' + ' '.join(board[i])) # 判断胜负 def check_win(board, row, col, ch): count = 0 # 判断横向是否满足胜利条件 for i in range(15): if board[row][i] == ch: count += 1 else: count = 0 if count == 5: return True # 判断纵向是否满足胜利条件 count = 0 for i in range(15): if board[i][col] == ch: count += 1 else: count = 0 if count == 5: return True # 判断左上到右下斜线是否满足胜利条件 count = 0 for i in range(-4, 5): if row+i < 0 or row+i > 14 or col+i < 0 or col+i > 14: continue if board[row+i][col+i] == ch: count += 1 else: count = 0 if count == 5: return True # 判断右上到左下斜线是否满足胜利条件 count = 0 for i in range(-4, 5): if row+i < 0 or row+i > 14 or col-i < 0 or col-i > 14: continue if board[row+i][col-i] == ch: count += 1 else: count = 0 if count == 5: return True return False # 主程序 def main(): board = init_board() print_board(board) player = 'x' while True: row = int(input('请输入落子的行号(1-15):')) - 1 col = int(input('请输入落子的列号(1-15):')) - 1 if board[row][col] != '+': print('该位置已经有棋子,请重新输入!') continue board[row][col] = player print_board(board) if check_win(board, row, col, player): print('恭喜玩家%s获胜!' % player) break if player == 'x': player = 'o' else: player = 'x' if __name__ == '__main__': main() ``` 运行后,将会在终端中显示一个棋盘,玩家可以输入行列坐标来落子,程序会判断胜负并输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识收藏家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值