""" 위치 관련 유틸리티 함수를 제공하는 모듈 """ from modules.ai_service import generate_gemini_text def generate_locations(theme): """ 테마에 따른 위치 목록 반환 Args: theme (str): 세계관 테마 Returns: list: 생성된 위치 목록 """ locations = { 'fantasy': ["왕국의 수도", "마법사의 탑", "고대 숲", "상인 거리", "지하 미궁"], 'sci-fi': ["중앙 우주 정거장", "연구 시설", "거주 구역", "우주선 정비소", "외계 식민지"], 'dystopia': ["지하 피난처", "통제 구역", "폐허 지대", "저항군 은신처", "권력자 거주구"] } return locations.get(theme, ["시작 지점", "미지의 땅", "중심부", "외곽 지역", "비밀 장소"]) def generate_movement_story(current_location, destination, theme): """ 장소 이동 시 스토리 생성 Args: current_location (str): 현재 위치 destination (str): 목적지 theme (str): 세계관 테마 Returns: str: 이동 스토리 텍스트 """ prompt = f""" 당신은 TRPG 게임 마스터입니다. 플레이어가 {current_location}에서 {destination}으로 이동하려고 합니다. ## 이동 스토리 지침 1. 이동 과정과 새로운 장소에 도착했을 때의 상황을 생생하게 묘사해주세요. 2. 이동 중 발생하는 작은 사건이나 만남을 포함하세요. 3. 출발지와 목적지의 대비되는 분위기나 환경적 차이를 강조하세요. 4. 다양한 감각적 묘사(시각, 청각, 후각, 촉각)를 포함하세요. 5. 도착 장소에서 플레이어가 볼 수 있는 주요 랜드마크나 특징적 요소를 설명하세요. 6. 현지 주민이나 생물의 반응이나 활동을 포함하세요. ## 정보 세계 테마: {theme} 출발 위치: {current_location} 목적지: {destination} 약 200단어 내외로 작성해주세요. 모든 문장은 완결된 형태로 작성하세요. """ return generate_gemini_text(prompt, 500)