Pygame, окно перестает отвечать на запросы, когда я пытаюсь нажать на него - PullRequest
0 голосов
/ 07 октября 2018

Я работаю над игрой с Pygame, и она шла хорошо ... пока она не решила не отвечать.Вот мой код: (извините, если форматирование не работает, я новичок в stackoverflow)

#MODULES USED (use from to make calling functions easier)
from random import *
from pygame import *
import pygame
from pygame.locals import *
pygame.init()
from time import *

#INITIALISE THE PYGAME WINDOW
pygame.event.pump()
screen = display.set_mode([500, 500])
blue = [230, 242, 255]
screen.fill(blue)
pygame.display.update()
default = pygame.image.load("default.jpg")
screen.blit(default, (0,0))
pygame.display.update()
click = pygame.mouse.get_pressed()
#BASIC HEXAPAWN

#ALL POSSIBLE COMPUTER'S MOVE BOARDS AS ARRAY HERE
#TThe moves from the board images are left to right
class Board:
  def __init__(self, board, moves):
      self.board = board
      self.moves = moves

boards1 = [pygame.image.load("a1.jpg"), pygame.image.load("a2.jpg"),       pygame.image.load("a3.jpg")] #move1 boards
#irrelevant stuff removed, just initialising the other boards.

#GAME MAIN LOOP
while True:
  #START GAME - 1st move
  print("You play as O, computer is X")
  currentboard = "O O O\n# # #\nX X X"
  print(currentboard)

  #PLAYER MOVE 1
  screen.blit(boards1[0], (0, 250))
  pygame.display.update()
  if boards1[0].get_rect().collidepoint(pygame.mouse.get_pos()) and click:
    screen.blit(boards1[0], (0,0))
    pmove = 0
#note: I haven't added the other board options yet.

  currentboard = boards1[pmove]

#[insert more unnecessary code here]
  for event in pygame.event.get():
    if event.type == pygame.QUIT:
      pygame.quit()
  break
pygame.quit()

В основном, когда я запускаю код, окно Pygame выглядит хорошо, но когда я пытаюсь щелкнуть по изображению, онопросто перестает отвечать.Кроме того, окно всегда привязано к загрузочному курсору, вот почему.

Я перепробовал все, что смог найти, но нет, не работает.

Если кто-то может помочь, я был бы признателенit.

Спасибо:)

Eleeza

edit: я не знал, что другие тоже могли редактировать мои сообщения Очистка некоторых вещей, когда я запускал свой код, ошибок не было, нет Traceback единственная проблема - не отвечающая вещь.

Также извините, я действительно плохо объясняю вещи: /

1 Ответ

0 голосов
/ 08 октября 2018

Происходит несколько вещей, но главная из них заключается в том, что вы click устанавливаете переменную только один раз при запуске программы.

Переместите click = pygame.mouse.get_pressed() внутрь основного цикла.Если вы делаете это и он все еще зависает, вы должны показать остальную часть вашего кода.

Кроме того, полного кода там нет, поэтому я не могу быть уверен на 100%, но я не думаю, чтоbreak должно быть там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...