@@ -87,7 +87,7 @@ def __init__(self, MainWindow, args):
8787 # 'joking':正在游戏状态,游戏中看过概率计算结果,游戏结果不是official的。
8888 # 'fail':游戏失败,踩雷了。
8989 # 'win':游戏成功。
90-
90+
9191
9292
9393 # 相对路径
@@ -103,6 +103,15 @@ def __init__(self, MainWindow, args):
103103
104104 self .mainWindow .closeEvent_ .connect (self .closeEvent_ )
105105
106+ @property
107+ def gameMode (self ):
108+ return self ._game_mode
109+
110+ @gameMode .setter
111+ def gameMode (self , game_mode ):
112+ self .label .ms_board .mode = game_mode
113+ self ._game_mode = game_mode
114+
106115 def layMine (self , i , j ):
107116 xx = self .row
108117 yy = self .column
@@ -178,6 +187,7 @@ def ai(self, i, j):
178187 # 可猜调整的核心逻辑
179188 board , flag = mm .enumerateChangeBoard (self .label .ms_board .board ,
180189 self .label .ms_board .game_board , [(i , j )])
190+
181191 self .label .ms_board .board = board
182192 return
183193
@@ -203,23 +213,21 @@ def mineAreaLeftRelease(self, i, j):
203213 self .label .ms_board .game_board [i // self .pixSize ][j // self .pixSize ] == 10 :
204214 # 正式埋雷开始
205215 self .layMine (i // self .pixSize , j // self .pixSize )
206- self .game_state = 'playing'
207216
217+ self .game_state = 'playing'
218+
208219 if self .player_designator [:6 ] != "[live]" :
209220 self .disable_screenshot ()
210221 else :
211222 self .enable_screenshot ()
212-
223+
213224 # 核实用的时间,防变速齿轮
214225 self .start_time_unix_2 = QtCore .QDateTime .currentDateTime ().\
215226 toMSecsSinceEpoch ()
216227 self .timer_10ms .start ()
217228 self .score_board_manager .editing_row = - 2
218229 self .label .ms_board .step ('lr' , (i , j ))
219- # print(self.label.ms_board.game_board)
220- # print(self.label.ms_board.game_board_state)
221- # print(self.label.ms_board.mouse_state)
222-
230+
223231 if self .label .ms_board .game_board_state == 3 :
224232 # 点一下可能获胜
225233 self .gameWin ()
@@ -421,7 +429,7 @@ def gameStart(self):
421429 self .label_info .setText (self .player_designator )
422430 # elif self.game_state == 'show':
423431 # self.label.setMouseTracking(False)
424-
432+
425433 # 这里有点乱
426434 if self .game_state == 'display' or self .game_state == 'showdisplay' :
427435 self .setBoard_and_start (self .row , self .column , self .mineNum )
@@ -489,11 +497,6 @@ def gameFinished(self): # 游戏结束画残局,改状态
489497 self .score_board_manager .show (self .label .ms_board , index_type = 2 )
490498
491499 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-
497500 self .timer_10ms .stop ()
498501 self .score_board_manager .editing_row = - 1
499502
@@ -531,7 +534,7 @@ def save_evf_file(self):
531534 self .label .ms_board .is_offical = self .is_official ()
532535 # if self.label.ms_board.is_fair and self.label.ms_board.is_offical:
533536 # self.label.ms_board.checksum = metaminesweeper_checksum.get_checksum()
534- self .label .ms_board .mode = self .gameMode
537+ # self.label.ms_board.mode = self.gameMode
535538 self .label .ms_board .software = "元3.1.7" .encode ( "UTF-8" )
536539 self .label .ms_board .player_designator = self .player_designator .encode ( "UTF-8" )
537540 self .label .ms_board .race_designator = self .race_designator .encode ( "UTF-8" )
@@ -732,20 +735,22 @@ def actionChecked(self, k):
732735
733736 def predefined_Board (self , k ):
734737 # 按快捷键123456时的回调
738+ row = self .predefinedBoardPara [k ]['row' ]
739+ column = self .predefinedBoardPara [k ]['column' ]
740+ self .pixSize = self .predefinedBoardPara [k ]['pix_size' ]
741+ self .label .ms_board .reset (row , column , self .pixSize )
735742 self .gameMode = self .predefinedBoardPara [k ]['game_mode' ]
736743 self .score_board_manager .with_namespace ({
737744 "mode" : mm .trans_game_mode (self .gameMode ),
738745 })
739746 self .score_board_manager .show (self .label .ms_board , index_type = 1 )
740747 self .board_constraint = self .predefinedBoardPara [k ]['board_constraint' ]
741748 self .attempt_times_limit = self .predefinedBoardPara [k ]['attempt_times_limit' ]
742- self .pixSize = self .predefinedBoardPara [k ]['pix_size' ]
743749 self .importLEDPic (self .pixSize )
744750 self .label .importCellPic (self .pixSize )
745751 self .label_2 .reloadFace (self .pixSize )
746- self .label .ms_board .pix_size = self .pixSize
747- self .setBoard_and_start (self .predefinedBoardPara [k ]['row' ],
748- self .predefinedBoardPara [k ]['column' ],
752+ self .setBoard_and_start (row ,
753+ column ,
749754 self .predefinedBoardPara [k ]['mine_num' ])
750755 # self.refreshSettingsDefault()
751756
@@ -864,7 +869,7 @@ def screenShot(self):
864869 if self .game_state == "playing" :
865870 self .game_state = "joking"
866871 self .enable_screenshot ()
867-
872+
868873 ui = captureScreen .CaptureScreen ()
869874 ui .show ()
870875 ui .exec_ ()
0 commit comments