add game configs

This commit is contained in:
bridge
2025-09-09 22:16:52 +08:00
parent 73bc62bec1
commit afddc466e0
5 changed files with 57 additions and 20 deletions

0
src/classes/item.py Normal file
View File

View File

@@ -1,6 +1,7 @@
from dataclasses import dataclass, field
from dataclasses import dataclass
from src.utils.df import game_configs
# TODO: 配表化
@dataclass
class Persona:
"""
@@ -10,24 +11,25 @@ class Persona:
name: str
prompt: str
personas_by_id: dict[int, Persona] = {}
personas_by_name: dict[str, Persona] = {}
p1 = Persona(id=1, name="理性", prompt="你是一个理性的人,你总是会用逻辑来思考问题,做事会谋定而后动。")
p2 = Persona(id=2, name="无常", prompt="你是一个无常的人,目标飘忽不定,不会长期坚持一个目标。")
p3 = Persona(id=3, name="怠惰", prompt="你是一个怠惰的人,你总是会拖延,不想努力,更热衷于享受人生。")
p4 = Persona(id=4, name="冒险", prompt="你是一个冒险的人,你总是会冒险,喜欢刺激,总想放手一搏。")
p5 = Persona(id=5, name="随性", prompt="你是一个随性的人,你总是会随机应变,性子到哪里了就是哪里,没有一定痣规。")
def _load_personas() -> tuple[dict[int, Persona], dict[str, Persona]]:
"""从配表加载persona数据"""
personas_by_id: dict[int, Persona] = {}
personas_by_name: dict[str, Persona] = {}
persona_df = game_configs["persona"]
for _, row in persona_df.iterrows():
persona = Persona(
id=int(row["id"]),
name=str(row["name"]),
prompt=str(row["prompt"])
)
personas_by_id[persona.id] = persona
personas_by_name[persona.name] = persona
return personas_by_id, personas_by_name
personas_by_id[p1.id] = p1
personas_by_id[p2.id] = p2
personas_by_id[p3.id] = p3
personas_by_id[p4.id] = p4
personas_by_id[p5.id] = p5
personas_by_name[p1.name] = p1
personas_by_name[p2.name] = p2
personas_by_name[p3.name] = p3
personas_by_name[p4.name] = p4
personas_by_name[p5.name] = p5
# 从配表加载persona数据
personas_by_id, personas_by_name = _load_personas()