墨小兰的玩具之井字棋

本文介绍了一个简单的基于Python和NumPy库实现的3x3TicTacToe游戏,包括棋盘初始化、玩家移动、胜负判断和示例使用。该程序主要关注基础编程而非高级技术。
摘要由CSDN通过智能技术生成

普普通通的娱乐程序,技术含量较低。 

import numpy as np

class TicTacToe:
    def __init__(self):
        self.board = np.array([[' ' for _ in range(3)] for _ in range(3)])  # 创建3x3的空棋盘
        self.current_player = 'X'  # 当前玩家,默认为'X'
        self.game_over = False  # 游戏是否结束的标志

    def print_board(self):
        print(self.board)

    def make_move(self, row, col):
        if self.board[row][col] == ' ':
            self.board[row][col] = self.current_player
            self.current_player = 'O' if self.current_player == 'X' else 'X'  # 切换玩家
        else:
            print("Invalid move!")

    def check_winner(self):
        # 检查行
        for i in range(3):
            if self.board[i][0] == self.board[i][1] == self.board[i][2] != ' ':
                return self.board[i][0]

        # 检查列
        for j in range(3):
            if self.board[0][j] == self.board[1][j] == self.board[2][j] != ' ':
                return self.board[0][j]

        # 检查对角线
        if self.board[0][0] == self.board[1][1] == self.board[2][2] != ' ':
            return self.board[0][0]
        if self.board[0][2] == self.board[1][1] == self.board[2][0] != ' ':
            return self.board[0][2]

        # 检查平局
        if ' ' not in self.board:
            return 'Draw'

        return None

# 示例使用
game = TicTacToe()

while not game.game_over:
    game.print_board()
    
    row = int(input("Enter row: "))
    col = int(input("Enter column: "))

    game.make_move(row, col)

    winner = game.check_winner()
    if winner:
        print("Winner: ", winner)
        game.game_over = True

本文仅为娱乐之作,如有错误欢迎指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值