We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f98f16b commit ac14b82Copy full SHA for ac14b82
2 files changed
src/main.py
@@ -107,10 +107,21 @@ def find_window(class_name, window_name):
107
# cell7, cell8, fps, (hizi)
108
# 其他类:checksum_ok, race_identifier, mode, is_offical, is_fair
109
110
+# 工具箱中局面状态和鼠标状态的定义:
111
+
112
# GameBoardState::Ready => Ok(1),
113
# GameBoardState::Playing => Ok(2),
114
# GameBoardState::Win => Ok(3),
115
# GameBoardState::Loss => Ok(4),
116
# GameBoardState::PreFlaging => Ok(5),
117
# GameBoardState::Display => Ok(6),
118
119
+# MouseState::UpUp => Ok(1),
120
+# MouseState::UpDown => Ok(2),
121
+# MouseState::UpDownNotFlag => Ok(3),
122
+# MouseState::DownUp => Ok(4),
123
+# MouseState::Chording => Ok(5),
124
+# MouseState::ChordingNotFlag => Ok(6),
125
+# MouseState::DownUpAfterChording => Ok(7),
126
+# MouseState::Undefined => Ok(8),
127
src/mineSweeperGUI.py
@@ -445,10 +445,15 @@ def mineAreaLeftRelease(self, i, j):
445
def mineAreaRightPressed(self, i, j):
446
if self.game_state == 'ready' or self.game_state == 'playing' or self.game_state == 'joking':
447
if i < self.pixSize * self.row and j < self.pixSize * self.column:
448
- if self.label.ms_board.game_board[i//self.pixSize][j//self.pixSize] == 11:
+ # 计算左上角显示的雷数用。必须校验:当前格的状态、鼠标状态为双键都抬起。
449
+ # 假如按下左键,再切屏(比如快捷键截图),再左键抬起,再切回来,再右键按下,
450
+ # 就会导致DownUp状态下右键按下。此时不应该标雷,左上角雷数也应该不变
451
+ if self.label.ms_board.game_board[i//self.pixSize][j//self.pixSize] == 11 and\
452
+ self.label.ms_board.mouse_state == 1:
453
self.mineUnFlagedNum += 1
454
self.showMineNum(self.mineUnFlagedNum)
- elif self.label.ms_board.game_board[i//self.pixSize][j//self.pixSize] == 10:
455
+ elif self.label.ms_board.game_board[i//self.pixSize][j//self.pixSize] == 10 and\
456
457
self.mineUnFlagedNum -= 1
458
459
self.label.ms_board.step('rc', (i, j))
0 commit comments