编写一个程序,让两个人在计算机上玩井字游戏
时间: 2024-03-24 08:40:47 浏览: 6
好的,以下是一个简单的 Python 代码实现:
```python
# 定义井字游戏棋盘
board = [' ' for x in range(10)]
# 定义函数:打印棋盘
def print_board(board):
print(' | |')
print(' ' + board[1] + ' | ' + board[2] + ' | ' + board[3])
print(' | |')
print('-----------')
print(' | |')
print(' ' + board[4] + ' | ' + board[5] + ' | ' + board[6])
print(' | |')
print('-----------')
print(' | |')
print(' ' + board[7] + ' | ' + board[8] + ' | ' + board[9])
print(' | |')
# 定义函数:判断是否胜利
def is_winner(board, player):
return (board[1] == board[2] == board[3] == player or
board[4] == board[5] == board[6] == player or
board[7] == board[8] == board[9] == player or
board[1] == board[4] == board[7] == player or
board[2] == board[5] == board[8] == player or
board[3] == board[6] == board[9] == player or
board[1] == board[5] == board[9] == player or
board[3] == board[5] == board[7] == player)
# 定义函数:判断棋盘是否已满
def is_board_full(board):
return ' ' not in board[1:]
# 定义函数:玩家下棋
def player_move(board, player):
while True:
move = input("请玩家 " + player + " 下棋 (1-9): ")
try:
move = int(move)
if move >= 1 and move <= 9 and board[move] == ' ':
board[move] = player
break
else:
print("无效的位置,请重新选择。")
except:
print("无效的输入,请重新输入。")
# 定义主程序
def main():
print("欢迎来到井字游戏!")
print_board(board)
player1 = 'X'
player2 = 'O'
while True:
player_move(board, player1)
print_board(board)
if is_winner(board, player1):
print("玩家 " + player1 + " 获胜!")
break
if is_board_full(board):
print("平局!")
break
player_move(board, player2)
print_board(board)
if is_winner(board, player2):
print("玩家 " + player2 + " 获胜!")
break
if is_board_full(board):
print("平局!")
break
if __name__ == '__main__':
main()
```
玩家可以依次输入要下的位置,如下所示:
```
欢迎来到井字游戏!
| |
| |
| |
-----------
| |
| |
| |
-----------
| |
| |
| |
-----------
请玩家 X 下棋 (1-9): 1
| |
X | |
| |
-----------
| |
| |
| |
-----------
| |
| |
| |
-----------
请玩家 O 下棋 (1-9): 5
| |
X | |
| |
-----------
| |
O | |
| |
-----------
| |
| |
| |
-----------
请玩家 X 下棋 (1-9): 2
| |
X | X |
| |
-----------
| |
O | |
| |
-----------
| |
| |
| |
-----------
请玩家 O 下棋 (1-9): 3
| |
X | X | O
| |
-----------
| |
O | |
| |
-----------
| |
| |
| |
-----------
请玩家 X 下棋 (1-9): 9
| |
X | X | O
| |
-----------
| |
O | |
| |
-----------
| |
| | X
| |
-----------
玩家 X 获胜!
```