File size: 2,291 Bytes
0b75c79
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from create_world.creator import create_custom_world, create_scenario, create_storyline
from create_world.utils import load_txt, load_yaml
from create_character.personal_profile import generate_character_creation_questions, create_character_profile, parse_character_data_to_json
from play_game.main import play_game

def main():
  config = load_yaml(path='create_world/prompt.yaml')

  print("LRPG ๊ฒŒ์ž„์— ์˜ค์‹ ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ณณ์—์„œ ๋‹น์‹ ๋งŒ์˜ ์„ธ๊ณ„ ์†, ๋‹น์‹ ๋งŒ์˜ ์บ๋ฆญํ„ฐ๋กœ, ๋‹น์‹ ๋งŒ์˜ ์„ ํƒ์„ ํ†ตํ•ด ๋‹น์‹ ๋งŒ์˜ ์ด์•ผ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด๊ฐ€์„ธ์š”.")
  print('-----------------------------')

  # Choose between custom and original games
  custom = input('์ƒˆ๋กœ์šด ์ด์•ผ๊ธฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์œผ๋ฉด yes, ํ•ด๋ฆฌํฌํ„ฐ ๊ฒŒ์ž„์„ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์‹ถ์œผ๋ฉด no๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”: ')
  if custom == 'yes':
    topic, world_summary = create_custom_world(config['create_custom_world_prompt'], language='ํ•œ๊ตญ์–ด', save=False)
    scenario = create_scenario(topic, world_summary, config['create_scenario_prompt'], output_count=1)
    round_stories = create_storyline(topic, scenario[0], config['create_storyline_prompt'])
  
  else:
    # Prepare world information
    print("์„ธ๊ณ„๊ด€ ๋กœ๋”ฉ์ค‘์ž…๋‹ˆ๋‹ค... (ํ•ด๋ฆฌํฌํ„ฐ)")
    world_summary_path = 'harrypotter_scenario/world_summary.txt'
    topic = 'harry potter'
    world_summary = load_txt(world_summary_path)
    
    scenario = create_scenario(topic, world_summary, config['create_scenario_prompt'], output_count=1)
    round_stories = create_storyline(topic, scenario[0], config['create_storyline_prompt'])
  
  print("์„ธ๊ณ„๊ฐ€ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค!")
  print('-----------------------------')
  
  # Create Character
  print("๋‹ค์Œ์€ ๊ฒŒ์ž„์—์„œ ํ”Œ๋ ˆ์ดํ•  ๋‹น์‹ ์˜ ์บ๋ฆญํ„ฐ๋ฅผ ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค")

  questions = generate_character_creation_questions(world_summary)
  character_description = create_character_profile(questions)
  character_profile = parse_character_data_to_json(character_description)
  print("์บ๋ฆญํ„ฐ ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!")
  print("๋‹น์‹  ์บ๋ฆญํ„ฐ์˜ ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: ", character_profile)
  print('-----------------------------')
  
  # Play Game
  play_game(round_stories, world_summary, character_profile)


if __name__ == "__main__":
  main()