五子棋python代码不用numpy库
时间: 2023-07-09 16:47:49 浏览: 76
以下是一个简单的五子棋Python代码示例,不使用numpy库:
```python
# 定义棋盘大小
BOARD_SIZE = 15
# 定义棋盘数组
board = [[0] * BOARD_SIZE for i in range(BOARD_SIZE)]
# 定义棋子颜色
EMPTY, BLACK, WHITE = 0, 1, 2
# 定义落子函数
def move(x, y, color):
if board[x][y] == EMPTY:
board[x][y] = color
return True
else:
return False
# 定义判断胜负函数
def is_win(color):
# 判断横向是否有五子连珠
for i in range(BOARD_SIZE):
for j in range(BOARD_SIZE - 4):
if board[i][j] == color and board[i][j+1] == color and board[i][j+2] == color and board[i][j+3] == color and board[i][j+4] == color:
return True
# 判断纵向是否有五子连珠
for i in range(BOARD_SIZE - 4):
for j in range(BOARD_SIZE):
if board[i][j] == color and board[i+1][j] == color and board[i+2][j] == color and board[i+3][j] == color and board[i+4][j] == color:
return True
# 判断正斜线是否有五子连珠
for i in range(BOARD_SIZE - 4):
for j in range(BOARD_SIZE - 4):
if board[i][j] == color and board[i+1][j+1] == color and board[i+2][j+2] == color and board[i+3][j+3] == color and board[i+4][j+4] == color:
return True
# 判断反斜线是否有五子连珠
for i in range(BOARD_SIZE - 4):
for j in range(4, BOARD_SIZE):
if board[i][j] == color and board[i+1][j-1] == color and board[i+2][j-2] == color and board[i+3][j-3] == color and board[i+4][j-4] == color:
return True
return False
# 定义主函数
def main():
# 定义初始玩家为黑棋
player = BLACK
while True:
# 打印棋盘
for i in range(BOARD_SIZE):
print(' '.join(str(board[i][j]) for j in range(BOARD_SIZE)))
print()
# 输入位置
x, y = map(int, input("请输入位置,以逗号分隔:").split(","))
# 落子
if move(x, y, player):
# 判断胜负
if is_win(player):
print("玩家 %d 胜利!" % player)
break
# 切换玩家
player = WHITE if player == BLACK else BLACK
else:
print("该位置已经有棋子了,请重新输入!")
# 调用主函数
if __name__ == '__main__':
main()
```
这个示例中,我们使用了二维列表来表示棋盘数组,使用0表示空位置,1表示黑棋,2表示白棋。落子和判断胜负的函数比较简单,主要是通过循环判断横向、纵向、正斜线和反斜线是否有五子连珠。
注意,这个示例中没有加入任何防作弊的措施,如果需要在实际应用中使用,需要考虑一些防作弊的方法,比如限制每个玩家的操作时间、限制玩家的网络连接等。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)