python五子棋源代码
时间: 2023-08-29 17:07:10 浏览: 248
【Python项目小游戏源代码】五子棋控制台版(附程序使用说明+配置文件).zip
以下是一个简单的 Python 五子棋游戏源代码,供参考:
```python
import numpy as np
# 定义棋盘大小
BOARD_SIZE = 15
# 定义棋子类型,用 1 表示黑棋,用 -1 表示白棋,用 0 表示空位
BLACK = 1
WHITE = -1
EMPTY = 0
# 初始化棋盘
board = np.zeros((BOARD_SIZE, BOARD_SIZE))
# 定义落子函数
def move(row, col, player):
board[row][col] = player
# 定义判断胜负函数
def check_win(player):
# 判断行
for i in range(BOARD_SIZE):
count = 0
for j in range(BOARD_SIZE):
if board[i][j] == player:
count += 1
else:
count = 0
if count == 5:
return True
# 判断列
for j in range(BOARD_SIZE):
count = 0
for i in range(BOARD_SIZE):
if board[i][j] == player:
count += 1
else:
count = 0
if count == 5:
return True
# 判断正对角线
for i in range(BOARD_SIZE-4):
for j in range(BOARD_SIZE-4):
count = 0
for k in range(5):
if board[i+k][j+k] == player:
count += 1
else:
count = 0
if count == 5:
return True
# 判断反对角线
for i in range(4, BOARD_SIZE):
for j in range(BOARD_SIZE-4):
count = 0
for k in range(5):
if board[i-k][j+k] == player:
count += 1
else:
count = 0
if count == 5:
return True
return False
# 定义主函数
def main():
player = BLACK
while True:
print(board)
row = int(input("请输入落子的行:"))
col = int(input("请输入落子的列:"))
if board[row][col] != EMPTY:
print("此处已经有棋子了,请重新输入!")
continue
move(row, col, player)
if check_win(player):
print("游戏结束,玩家 %d 胜利!" % player)
break
player = -player
# 运行主函数
if __name__ == "__main__":
main()
```
注意,这只是一个简单的五子棋游戏源代码,还有一些问题需要解决,例如防作弊、悔棋等等。如果想要完整的五子棋游戏,可以去网上找一些开源的五子棋游戏代码进行学习。
阅读全文