我如何在我的井字棋游戏中使用OpenAI API密钥

-1 投票
0 回答
33 浏览
提问于 2025-04-12 02:44

我做了一个井字棋游戏,想用GPT作为第二个玩家,但我总是遇到错误。

import sys
import random
import openai
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QMessageBox

# Set your API key here
api_key = "YOUR_API_KEY"

# Initialize the OpenAI API client
openai.api_key = api_key

class TicTacToe(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Tic Tac Toe")
        self.setGeometry(100, 100, 300, 300)

        self.board = [[" " for _ in range(3)] for _ in range(3)]
        self.current_player = "X"

        self.buttons = []
        for i in range(3):
            row = []
            for j in range(3):
                button = QPushButton("", self)
                button.setGeometry(j * 100, i * 100, 100, 100)
                button.clicked.connect(lambda _, i=i, j=j: self.on_click(i, j))
                row.append(button)
            self.buttons.append(row)

    def check_winner(self, player):
        for row in self.board:
            if all(cell == player for cell in row):
                return True
        for col in range(3):
            if all(self.board[row][col] == player for row in range(3)):
                return True
        if all(self.board[i][i] == player for i in range(3)) or all(self.board[i][2-i] == player for i in range(3)):
            return True
        return False

    def is_board_full(self):
        return all(all(cell != " " for cell in row) for row in self.board)

    def on_click(self, row, col):
        if self.board[row][col] == " ":
            self.board[row][col] = self.current_player
            self.buttons[row][col].setText(self.current_player)
            if self.check_winner(self.current_player):
                QMessageBox.information(self, "Tic Tac Toe", f"Player {self.current_player} wins!")
                self.reset_board()
            elif self.is_board_full():
                QMessageBox.information(self, "Tic Tac Toe", "It's a tie!")
                self.reset_board()
            else:
                self.current_player = "O" if self.current_player == "X" else "X"
                if self.current_player == "O":
         

0 个回答

暂无回答

撰写回答