1616# from PyQt5.QtWidgets import QApplication
1717from country_name import country_name
1818import metaminesweeper_checksum
19- from win32gui import EnumWindows , GetWindowText , FindWindow
20- import ctypes
2119
2220class MineSweeperGUI (superGUI .Ui_MainWindow ):
2321 def __init__ (self , MainWindow , args ):
@@ -208,22 +206,19 @@ def mineAreaLeftRelease(self, i, j):
208206 self .game_state = 'playing'
209207
210208 if self .player_designator [:6 ] != "[live]" :
211- if not self .SetWindowDisplayAffinity (self .hwnd , 0x00000011 ):
212- raise ctypes .WinError ()
209+ self .disable_screenshot ()
213210 else :
214- if not self .SetWindowDisplayAffinity (self .hwnd , 0x00000000 ):
215- raise ctypes .WinError ()
216- # print('failed', ctypes.get_last_error())
217- # raise ctypes.WinError()
211+ self .enable_screenshot ()
218212
219213 # 核实用的时间,防变速齿轮
220214 self .start_time_unix_2 = QtCore .QDateTime .currentDateTime ().\
221215 toMSecsSinceEpoch ()
222216 self .timer_10ms .start ()
223217 self .score_board_manager .editing_row = - 2
224- self .label .ms_board .step ('lr' , (i , j )) # 把这个删了也能开始,不知道为什么
218+ self .label .ms_board .step ('lr' , (i , j ))
225219 # print(self.label.ms_board.game_board)
226220 # print(self.label.ms_board.game_board_state)
221+ # print(self.label.ms_board.mouse_state)
227222
228223 if self .label .ms_board .game_board_state == 3 :
229224 # 点一下可能获胜
@@ -384,16 +379,17 @@ def resizeWheel(self, i, x, y):
384379
385380 def mineNumWheel (self , i ):
386381 # 在雷上滚轮,调雷数
387- # 没用过
388382 if self .game_state == 'ready' :
389383 if i > 0 :
390- self .mineNum += 1
391- self .mineUnFlagedNum += 1
392- self .showMineNum (self .mineUnFlagedNum )
384+ if self .mineNum < self .row * self .column - 1 :
385+ self .mineNum += 1
386+ self .mineUnFlagedNum += 1
387+ self .showMineNum (self .mineUnFlagedNum )
393388 elif i < 0 :
394- self .mineNum -= 1
395- self .mineUnFlagedNum -= 1
396- self .showMineNum (self .mineUnFlagedNum )
389+ if self .mineNum > 1 :
390+ self .mineNum -= 1
391+ self .mineUnFlagedNum -= 1
392+ self .showMineNum (self .mineUnFlagedNum )
397393 self .timer_mine_num = QTimer ()
398394 # self.timer_mine_num.timeout.connect(self.refreshSettingsDefault)
399395 self .timer_mine_num .setSingleShot (True )
@@ -458,6 +454,7 @@ def gameRestart(self, e = None): # 画界面,但是不埋雷,改数据而
458454 self .label .ms_board = ms .BaseVideo ([[0 ] * self .column for _ in range (self .row )], self .pixSize )
459455 self .label_info .setText (self .player_designator )
460456 self .game_state = 'ready'
457+ self .enable_screenshot ()
461458
462459 self .time_10ms = 0
463460 self .showTime (self .time_10ms )
@@ -480,16 +477,23 @@ def gameRestart(self, e = None): # 画界面,但是不埋雷,改数据而
480477
481478
482479 def gameFinished (self ): # 游戏结束画残局,改状态
483- if not self .SetWindowDisplayAffinity (self .hwnd , 0x00000000 ):
484- raise ctypes .WinError ()
480+ self .enable_screenshot ()
485481 if self .label .ms_board .game_board_state == 3 and self .end_then_flag :
486482 self .label .ms_board .win_then_flag_all_mine ()
487483 elif self .label .ms_board .game_board_state == 4 :
488484 self .label .ms_board .loss_then_open_all_mine ()
485+ # 刷新游戏局面
489486 self .label .update ()
487+ # 刷新计数器数值
488+ self .timeCount ()
490489 self .score_board_manager .show (self .label .ms_board , index_type = 2 )
491490
492491 def gameWin (self ): # 成功后改脸和状态变量,停时间
492+ # print(self.label.ms_board.game_board)
493+ # print(self.label.ms_board.game_board_state)
494+ # print(self.label.ms_board.mouse_state)
495+ # print(2256)
496+
493497 self .timer_10ms .stop ()
494498 self .score_board_manager .editing_row = - 1
495499
@@ -859,8 +863,7 @@ def screenShot(self):
859863
860864 if self .game_state == "playing" :
861865 self .game_state = "joking"
862- if not self .SetWindowDisplayAffinity (self .hwnd , 0x00000000 ):
863- raise ctypes .WinError ()
866+ self .enable_screenshot ()
864867
865868 ui = captureScreen .CaptureScreen ()
866869 ui .show ()
0 commit comments