У меня проблема с переключением чисел с помощью команды np.zeros.
Код должен позволить мне щелкнуть один из девяти квадратов на экране, и он должен переключать ноль в список нулей в один, соответствующий положению квадрата, который я нажал. Вместо этого, когда я случайным образом нажимаю на разные квадраты, обычно выводится форма x, как это, хотя я нахожу это довольно непоследовательным:
[[1. 0. 1.]
[0. 1. 0.]
[1. 0. 1.]]
Я пробовал поискать его в Google, просмотрел некоторые результаты поиска Я не смог найти ничего подобного, и я просмотрел некоторые вопросы, уже заданные в StackOverflow, но я не нашел ответа.
Вот мой код.
import pygame
import sys
import numpy as np
import math
pygame.init()
ROWS = 3
COLS = 3
def drop_piece(board, x, y, tun):
turn = tun + 1
board[x][y] = turn
def isValidMove(board, x, y):
return board[x, y] == 0
def create_board():
board = np.zeros((ROWS, COLS))
return board
def print_board(board):
print(board)
board = create_board()
width = 999
height = 999
turn = 0
displaySize = (width, height)
gameOver = False
print_board(board)
screen = pygame.display.set_mode(displaySize)
while not gameOver:
if event.type == pygame.MOUSEBUTTONUP:
rawx = event.pos[0]
rawy = event.pos[1]
usex = int(math.floor(rawx / 333))
usey = int(math.floor(rawy / 333))
if isValidMove(board, usex, usey):
>if turn == 0:
>print(usex,", ",usey)
drop_piece(board, usex, usey, turn)
print_board(board)
turn += 1
turn = turn % 2