Skip to content

Commit

Permalink
fix: 计数器内的模式可以翻译
Browse files Browse the repository at this point in the history
  • Loading branch information
eee555 committed Sep 7, 2024
1 parent a01a1ca commit 9d8c222
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 30 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ Currently in the lengthy development phase, with updates approximately every 1 t

### 正式版v3.1.10:
修复了快捷键切换难度后局面约束不能变化、研究模式中快捷键切换难度后卡死、鼠标设置阻塞进程、回放时切换难度崩溃等、标错雷时概率计算错误、回放时右上角时间不变化等问题。现在回放时可以显示正确的国旗。可以设置唯一性标识。录像可以回放、手动保存。每个级别的模式、尺寸可以分别保存。双击猜雷可以起作用。可以限制鼠标移动范围为游戏局面区域。
链接:[https://fff666.top/download/Metaminesweeper-v3.1.10.zip](https://fff666.top/download/Metaminesweeper-v3.1.10.zip)
链接:无(不安全,已下架)

### 正式版v3.1.9:

Expand Down
20 changes: 13 additions & 7 deletions src/gameScoreBoard.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,6 @@ def __init__(self, r_path, score_board_path, game_setting_path, pix_size):
self.editing_row = -1 # -1不在编辑状态,-2不能编辑(正在游戏)
self.editing_column = -1

# self.ui.QWidget.closeEvent_.connect(self.close)

# def keyPressEvent(self, event):
# print(666)
# if event.key() == Qt.Key_Return:
# self.__table_ok()

def update_score_board_items_type(self):
self.score_board_items_type = []
Expand All @@ -154,6 +148,9 @@ def with_namespace(self, namespace: dict):
# 埋雷结束后调用,固化参数
# self.pix_size = pix_size
# self.board = board
if "mode" in namespace:
self._game_mode_code: int = namespace["mode"]
namespace["mode"] = mm.trans_game_mode(namespace["mode"])
self.namespace.update(namespace)
# race_designator, mode .etc
# self.ms_board = ms.BaseVideo(board, pix_size)
Expand Down Expand Up @@ -265,7 +262,16 @@ def time_step(self):


self.show()


# 重写窗口的翻译方法。主要是模式的翻译问题
def retranslateUi(self, Form):
self.ui.retranslateUi(Form)
if hasattr(self, "ms_board"):
self.with_namespace({
"mode": self._game_mode_code,
})
self.show(self.ms_board, index_type = 1)

def __table_change(self, e):
# 编辑开始时,把数值换成公式
if e.column() == 1 and self.editing_row == -1:
Expand Down
17 changes: 12 additions & 5 deletions src/mineSweeperGUI.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,16 @@ def save_evf_file_integrated():
if len(args) == 2:
self.action_OpenFile(args[1])

self.trans_language()
self.score_board_manager.with_namespace({
"race_identifier": self.race_identifier,
"mode": self.gameMode,
"checksum_ok": "--",
"is_official": "--",
"is_fair": "--"
})
self.score_board_manager.reshow(self.label.ms_board, index_type = 1)
self.score_board_manager.visible()
self.trans_language()

self.mainWindow.closeEvent_.connect(self.closeEvent_)

Expand Down Expand Up @@ -176,7 +183,7 @@ def game_state(self, game_state: str):
"checksum_ok": "--",
"is_official": "--",
"is_fair": "--",
"mode": mm.trans_game_mode(self.gameMode),
"mode": self.gameMode,
})
self.score_board_manager.show(self.label.ms_board, index_type = 1)

Expand Down Expand Up @@ -892,7 +899,7 @@ def predefined_Board(self, k):
self.label.ms_board = ms.BaseVideo([[0] * column for _ in range(row)], self.pixSize)
self.gameMode = self.predefinedBoardPara[k]['game_mode']
self.score_board_manager.with_namespace({
"mode": mm.trans_game_mode(self.gameMode),
"mode": self.gameMode,
})
self.score_board_manager.show(self.label.ms_board, index_type=1)
self.board_constraint = self.predefinedBoardPara[k]['board_constraint']
Expand Down Expand Up @@ -1022,7 +1029,7 @@ def action_NEvent(self):
self.mainWindow.setWindowOpacity(ui.transparency / 100)
self.score_board_manager.with_namespace({
"race_identifier": ui.race_identifier,
"mode": mm.trans_game_mode(ui.gameMode),
"mode": self.gameMode,
})
self.score_board_manager.show(self.label.ms_board, index_type=1)

Expand Down Expand Up @@ -1269,7 +1276,7 @@ def play_video(self, video):
self.score_board_manager.with_namespace({
"is_official": video.is_official,
"is_fair": video.is_fair,
"mode": mm.trans_game_mode(video.mode),
"mode": video.mode,
})
video.analyse_for_features(["high_risk_guess", "jump_judge", "needless_guess",
"mouse_trace", "vision_transfer", "survive_poss"])
Expand Down
16 changes: 9 additions & 7 deletions src/minesweeper_master.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
# import time
from safe_eval import safe_eval
import configparser
from PyQt5 import QtCore

import ms_toollib as ms
import math
Expand Down Expand Up @@ -278,8 +279,9 @@ def trans_expression(expression: str):


def trans_game_mode(mode: int) -> str:
_translate = QtCore.QCoreApplication.translate
if mode == 0:
return '标准'
return _translate("Form", "标准")
elif mode == 1:
return 'upk'
elif mode == 2:
Expand All @@ -289,17 +291,17 @@ def trans_game_mode(mode: int) -> str:
elif mode == 4:
return 'win7'
elif mode == 5:
return '竞速无猜'
return _translate("Form", '竞速无猜')
elif mode == 6:
return '强无猜'
return _translate("Form", '强无猜')
elif mode == 7:
return '弱无猜'
return _translate("Form", '弱无猜')
elif mode == 8:
return '准无猜'
return _translate("Form", '准无猜')
elif mode == 9:
return '强可猜'
return _translate("Form", '强可猜')
elif mode == 10:
return '弱可猜'
return _translate("Form", '弱可猜')

# class abstract_game_board(object):
# __slots__ = ('game_board', 'mouse_state', 'game_board_state')
Expand Down
12 changes: 2 additions & 10 deletions src/superGUI.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,14 +79,6 @@ def __init__(self, MainWindow, args):
self.score_board_manager.ui.QWidget.move(_scoreBoardTop, _scoreBoardLeft)


self.score_board_manager.with_namespace({
"race_identifier": self.race_identifier,
"mode": mm.trans_game_mode(self.gameMode),
"checksum_ok": "--",
"is_official": "--",
"is_fair": "--"
})

self.importLEDPic(self.pixSize) # 导入图片
# self.label.setPath(r_path)

Expand Down Expand Up @@ -285,11 +277,11 @@ def trans_language(self, language = ""):
self.trans.load(str(self.r_path.with_name(language + '.qm')))
app.installTranslator(self.trans)
self.retranslateUi(self.mainWindow)
self.score_board_manager.ui.retranslateUi(self.score_board_manager.ui.QWidget)
self.score_board_manager.retranslateUi(self.score_board_manager.ui.QWidget)
else:
app.removeTranslator(self.trans)
self.retranslateUi(self.mainWindow)
self.score_board_manager.ui.retranslateUi(self.score_board_manager.ui.QWidget)
self.score_board_manager.retranslateUi(self.score_board_manager.ui.QWidget)
mm.updata_ini(self.game_setting_path, [("DEFAULT", "language", language)])
self.language = language

Expand Down

0 comments on commit 9d8c222

Please sign in to comment.