Почему все ячейки становятся белыми, когда я дважды щелкаю ячейку (то есть, когда обвожу ее кружочком) в моей игре-головPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему все ячейки становятся белыми, когда я дважды щелкаю ячейку (то есть, когда обвожу ее кружочком) в моей игре-голов

Сообщение Anonymous »

Я работаю над игрой-головоломкой Hitori на Python и столкнулся с проблемой: при двойном щелчке по ячейке все последующие ячейки становятся белыми (или прозрачными). Для создания игры я использую библиотеку настольных игр, которую дал нам профессор, и написал собственный код для управления логикой головоломки.
Когда я нажимаю на ячейку, она запускает play, который обновляет аннотацию для этой ячейки, но когда я дважды нажимаю (что служит обведением числа), вместо того, чтобы просто обновлять эту ячейку, все остальные ячейки после нее кажутся белыми или прозрачными. Эффект появляется при нажатии на любую ячейку после первого двойного щелчка.
Игра работает правильно, когда есть только аннотации.
Может ли кто-нибудь помочь мне понять, почему все ячейки становятся белыми, когда я дважды щелкаю только одну, и как я могу решить эту проблему?
Вот соответствующая часть моего кода:
Вот соответствующая часть моего кода:
Вот соответствующая часть моего кода:
р>

Код: Выделить всё

from boardgame import BoardGame
import csv
import g2d

class Hitori(BoardGame):
CLEAR = 0
BLACK = 1
CIRCLE = 2

def __init__(self):
self._w, self._h = 5, 5
self._numbers = []
try:
with open("5-easy.csv") as f:
reader = csv.reader(f)
for row in reader:
if len(row) != self._w:
raise ValueError(f"Each row must have exactly {self._w} numbers")
self._numbers.append(row)
except FileNotFoundError:
raise FileNotFoundError("File '5-easy.csv' not found")

self._annots = [Hitori.CLEAR] * (self._w * self._h)

def play(self, x, y, action):
pos = x + y * self._w
if action == "flag":
self.fill(x, y)
else:
self._annots[pos] = (self._annots[pos] + 1) % 3

def fill(self, x, y):
pos = x + y * self._w
if 0 

Подробнее здесь: [url]https://stackoverflow.com/questions/79262082/why-do-all-cells-turn-white-when-i-double-click-so-when-i-circle-a-cell-in-my[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»