ruaaa
This commit is contained in:
parent
4b0eb2aa08
commit
96fb0526f2
@ -39,8 +39,8 @@ class NumStatus(IntEnum):
|
|||||||
|
|
||||||
class NumWidget:
|
class NumWidget:
|
||||||
def __init__(self, num: int, batch: Batch, group: Group, x: int, y: int) -> None:
|
def __init__(self, num: int, batch: Batch, group: Group, x: int, y: int) -> None:
|
||||||
self.x = x
|
self._y = y
|
||||||
self.y = y
|
self._x = x
|
||||||
font = load_font("黑体", 15)
|
font = load_font("黑体", 15)
|
||||||
font_height = font.ascent - font.descent
|
font_height = font.ascent - font.descent
|
||||||
self.label = Label(
|
self.label = Label(
|
||||||
@ -66,6 +66,26 @@ class NumWidget:
|
|||||||
group=group,
|
group=group,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def x(self) -> int:
|
||||||
|
return self._x
|
||||||
|
|
||||||
|
@x.setter
|
||||||
|
def x(self, value: int) -> None:
|
||||||
|
self._x = value
|
||||||
|
self.label.x = value + 17
|
||||||
|
self.background.x = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def y(self) -> int:
|
||||||
|
return self._y
|
||||||
|
|
||||||
|
@y.setter
|
||||||
|
def y(self, value: int) -> None:
|
||||||
|
self._y = value
|
||||||
|
self.label.y = value + 7
|
||||||
|
self.background.y = value
|
||||||
|
|
||||||
def aabb(self, x: int, y: int) -> bool:
|
def aabb(self, x: int, y: int) -> bool:
|
||||||
# 判断是否在范围内
|
# 判断是否在范围内
|
||||||
width = 35
|
width = 35
|
||||||
@ -103,10 +123,10 @@ class MainWindow(Window):
|
|||||||
self.num_group = Group(parent=self.main_group, order=10)
|
self.num_group = Group(parent=self.main_group, order=10)
|
||||||
# 从大到小
|
# 从大到小
|
||||||
for i in range(256):
|
for i in range(256):
|
||||||
widget = NumWidget(
|
num_name = NumWidget(
|
||||||
num=i, batch=self.num_batch, group=self.num_group, x=40, y=50
|
num=i, batch=self.num_batch, group=self.num_group, x=40, y=50
|
||||||
)
|
)
|
||||||
self.num_dict[i] = widget
|
self.num_dict[i] = num_name
|
||||||
# 0-9 sorted
|
# 0-9 sorted
|
||||||
# 取前9个拿到血量这边
|
# 取前9个拿到血量这边
|
||||||
# index 3~6 之和 + 154 = 血量
|
# index 3~6 之和 + 154 = 血量
|
||||||
@ -117,7 +137,7 @@ class MainWindow(Window):
|
|||||||
# index 22~24 中值 + 36 = 魔法
|
# index 22~24 中值 + 36 = 魔法
|
||||||
# index 25~27 中值 + 36 = 抗性
|
# index 25~27 中值 + 36 = 抗性
|
||||||
# index 28~30 中值 + 36 = 智慧
|
# index 28~30 中值 + 36 = 智慧
|
||||||
self.display_dict: dict[NumStatus, list[int]] = {
|
self.display_dict: dict[NumStatus, list[NumWidget]] = {
|
||||||
NumStatus.hp: [self.num_dict[i] for i in range(3, 7)],
|
NumStatus.hp: [self.num_dict[i] for i in range(3, 7)],
|
||||||
NumStatus.attack: [self.num_dict[i] for i in range(10, 13)],
|
NumStatus.attack: [self.num_dict[i] for i in range(10, 13)],
|
||||||
NumStatus.defense: [self.num_dict[i] for i in range(13, 16)],
|
NumStatus.defense: [self.num_dict[i] for i in range(13, 16)],
|
||||||
@ -132,6 +152,18 @@ class MainWindow(Window):
|
|||||||
*(self.num_dict[i] for i in range(31, 256)),
|
*(self.num_dict[i] for i in range(31, 256)),
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
self.update_num_display()
|
||||||
|
|
||||||
|
def update_num_display(self) -> None:
|
||||||
|
|
||||||
|
for status, widgets in self.display_dict.items():
|
||||||
|
num_count = 0
|
||||||
|
for widget in widgets:
|
||||||
|
print(f"status: {status}, num_count: {num_count} {status.value=}")
|
||||||
|
widget.x = 40 + (40 * status.value)
|
||||||
|
widget.y = self.height - (170 + 30 * num_count)
|
||||||
|
num_count += 1
|
||||||
|
|
||||||
|
|
||||||
def init_name_dispaly(self) -> None:
|
def init_name_dispaly(self) -> None:
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user