add game configs
This commit is contained in:
0
src/classes/item.py
Normal file
0
src/classes/item.py
Normal 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()
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user