@@ -138,8 +138,10 @@ def timeCount(self):
138138 t = self .label .ms_board .time
139139 self .time_10ms = int (t * 100 )
140140 self .showTime (self .time_10ms // 100 )
141- since_time_unix_2 = QtCore .QDateTime .currentDateTime ().toMSecsSinceEpoch () - self .start_time_unix_2
142- if abs (t * 1000 - since_time_unix_2 ) > 10 :
141+ since_time_unix_2 = QtCore .QDateTime .currentDateTime ().\
142+ ArithmeticErrortoMSecsSinceEpoch () - self .start_time_unix_2
143+ if abs (t * 1000 - since_time_unix_2 ) > 10 and \
144+ (self .game_state == "playing" or self .game_state == "joking" ):
143145 # 防CE作弊
144146 self .gameRestart ()
145147
@@ -188,6 +190,7 @@ def ai(self, i, j):
188190 board , flag = mm .enumerateChangeBoard (self .label .ms_board .board ,
189191 self .label .ms_board .game_board , [(i , j )])
190192
193+
191194 self .label .ms_board .board = board
192195 return
193196
@@ -433,6 +436,7 @@ def gameStart(self):
433436 # 这里有点乱
434437 if self .game_state == 'display' or self .game_state == 'showdisplay' :
435438 self .setBoard_and_start (self .row , self .column , self .mineNum )
439+ self .label .paintPossibility = False
436440 self .label .set_rcp (self .row , self .column , self .pixSize )
437441 self .label .set_rcp (self .row , self .column , self .pixSize )
438442 self .game_state = 'ready'
@@ -446,20 +450,23 @@ def gameStart(self):
446450 # self.mainWindow.setMinimumSize(QtCore.QSize(10, 10))
447451 self .minimumWindow ()
448452
453+ # 点击脸时调用,或尺寸不变时重开
449454 def gameRestart (self , e = None ): # 画界面,但是不埋雷,改数据而不是重新生成label
450455 if e :
451456 # 点脸周围时,会传入一个e参数
452457 if not (self .MinenumTimeWigdet .width () >= e .localPos ().x () >= 0 and 0 <= e .localPos ().y () <= self .MinenumTimeWigdet .height ()):
453458 return
454- # 点击脸时调用
459+ # 此时self.label.ms_board是mm.abstract_game_board的实例
455460 if self .game_state == 'display' or self .game_state == 'showdisplay' :
456461 self .timer_video .stop ()
457462 self .ui_video_control .QWidget .close ()
458463 self .label .ms_board = ms .BaseVideo ([[0 ] * self .column for _ in range (self .row )], self .pixSize )
464+ self .label .ms_board .mode = self .gameMode
459465 elif self .game_state == 'study' :
460466 self .num_bar_ui .QWidget .close ()
461467 self .score_board_manager .visible ()
462468 self .label .ms_board = ms .BaseVideo ([[0 ] * self .column for _ in range (self .row )], self .pixSize )
469+ self .label .ms_board .mode = self .gameMode
463470 self .label_info .setText (self .player_designator )
464471 self .game_state = 'ready'
465472 self .enable_screenshot ()
@@ -891,23 +898,22 @@ def screenShot(self):
891898 # 连续截屏时
892899 if self .game_state == 'study' :
893900 self .num_bar_ui .QWidget .close ()
901+ self .game_state = 'study' # 局面进入研究模式
894902
895903 # 主定时器停一下,不停的话需要的修补太多
896904 self .timer_10ms .stop ()
897905 self .score_board_manager .invisible ()
898906
899- self .label .ms_board = mm .abstract_game_board ()
900- self .label .ms_board .mouse_state = 1
901- self .label .ms_board .game_board_state = 1
902- self .label .ms_board .game_board = ui .board
907+ # self.label.ms_board = mm.abstract_game_board()
908+ # self.label.ms_board.mouse_state = 1
909+ # self.label.ms_board.game_board_state = 1
910+ # self.label.ms_board.game_board = ui.board
903911
904912 # 在局面上画概率,或不画
905- game_board = self .label .ms_board .game_board
906-
913+ # game_board = ui.board
907914
908-
909- self .row = len (game_board )
910- self .column = len (game_board [0 ])
915+ self .row = len (ui .board )
916+ self .column = len (ui .board [0 ])
911917
912918 self .num_bar_ui = mine_num_bar .ui_Form (ans [1 ], self .pixSize * self .row )
913919 self .num_bar_ui .QWidget .barSetMineNum .connect (self .showMineNum )
@@ -924,16 +930,20 @@ def screenShot(self):
924930
925931 # self.setBoard_and_start(len(ui.board), len(ui.board[0]), ans[1][1])
926932 self .setBoard (self .row , self .column , ans [1 ][1 ])
933+
934+ self .label .paintPossibility = True
927935 self .label .set_rcp (self .row , self .column , self .pixSize )
936+
937+ self .label .ms_board .game_board = ui .board
938+ self .label .ms_board .mouse_state = 1
939+ self .label .ms_board .game_board_state = 1
928940 self .mineNumShow = ans [1 ][1 ]
929941 self .showMineNum (self .mineNumShow )
930-
931- # ans = ms.cal_possibility_onboard(ui.board, self.mineNumShow)
932942 self .label .boardPossibility = ans [0 ]
933- self .label .paintPossibility = True
943+
944+
934945 self .label .update ()
935946 # self.label.setMouseTracking(True)
936- self .game_state = 'study' # 局面进入研究模式
937947
938948 self .minimumWindow ()
939949
@@ -1072,6 +1082,7 @@ def action_OpenFile(self, openfile_name = None):
10721082 # 调整窗口
10731083 if (video .row , video .column ) != (self .row , self .column ):
10741084 self .setBoard (video .row , video .column , video .mine_num )
1085+ self .label .paintPossibility = False
10751086 self .label .set_rcp (self .row , self .column , self .pixSize )
10761087 # self.label.reloadCellPic(self.pixSize)
10771088 self .label .setMinimumSize (QtCore .QSize (self .pixSize * self .column + 8 , self .pixSize * self .row + 8 ))
@@ -1180,6 +1191,7 @@ def set_face(self, face_type):
11801191 pixmap = QPixmap (self .pixmapNum [face_type ])
11811192 self .label_2 .setPixmap (pixmap )
11821193 self .label_2 .setScaledContents (True )
1194+
11831195 def hidden_score_board (self ):
11841196 # 按/隐藏计数器,再按显示
11851197 if self .score_board_manager .ui .QWidget .isVisible ():
0 commit comments