我如何在我的井字棋游戏中使用OpenAI API密钥
我做了一个井字棋游戏,想用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 个回答
暂无回答