main_langchain.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # -*- coding: utf-8 -*-
  2. from Evaluate_langchain import evaluate_langchain
  3. from event_langchain import event_langchain
  4. from global_langchain import global_model
  5. from input_main import input_langchain
  6. if_new = int(input("[选择]是否使用数据库中的记录:①新游戏 ②读取存档------"))
  7. if if_new == 2:
  8. record_id = int(input("[选择]输入存档id------"))
  9. config_flag = int(input("[选择]是否使用数据库中的配置:①使用 ②不使用------"))
  10. model = global_model(record_id, True if config_flag == 1 else False)
  11. else:
  12. model = global_model()
  13. input_langchain()
  14. if_evaluate = int(input("[选择]是否在每次生成事件后进行优化诊断:①是 ②否------"))
  15. while True:
  16. events = model.get_events()
  17. if len(events) != 0:
  18. if events[-1]["是否需要玩家选择下一步操作"] == True:
  19. if "玩家选择" not in events[-1]:
  20. print("[玩家选择]当前事件:" + events[-1]["事件"])
  21. available_chooses = events[-1]["玩家可以做出的选择"]
  22. formatted_choices = ""
  23. for i, choice in enumerate(available_chooses, start=1):
  24. formatted_choices += f"{i}. {choice} "
  25. print("[玩家选择]可供选择的选项:" + formatted_choices)
  26. choose = int(input("[玩家选择]请选择:"))
  27. events[-1]["玩家选择"] = events[-1]["玩家可以做出的选择"][choose - 1]
  28. print("[玩家选择]玩家选择了:" + events[-1]["玩家可以做出的选择"][choose - 1])
  29. model.update_events(events)
  30. event_langchain()
  31. if if_evaluate == 1:
  32. evaluate_langchain()
  33. if model.get_if_end() == True:
  34. break