Когда я нажимаю на ячейку, она запускает 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]