← 2026 2학년 프로그래밍

텍스트 RPG

코드 읽기 · 실행 흐름 추적 · 데이터 흐름 분석

짧은 예제 코드에서 벗어나 하나의 텍스트 RPG를 읽으며, 수업에서 배운 Python 문법이 실제 프로그램 안에서 어떻게 연결되는지 살펴본다.

관련 Coding Practice

연습 영역연결되는 내용
기초 문법입력값 · 문자열 처리 · 데이터 변화
제어 구조명령 분기 · 전투 반복 · break
함수매개변수 · 반환값 · 함수 호출 흐름
파일·예외저장·불러오기 · JSON · FileNotFoundError
클래스RPG 코드를 읽기 위한 객체·속성·메서드 보충
알고리즘상태 변화와 전체 실행 흐름 추적
종합명령 분석 · 상태 변화 · 함수 · 반복을 연결한 종합 문제

전체 코드를 처음부터 모두 이해하는 것이 목표가 아니다. 문법 찾기 → 실행 흐름 추적 → 데이터 흐름 분석의 순서로 읽으며, 함수의 입력·처리·반환값과 객체의 값 변화를 따라가는 데 초점을 둔다. 클래스 문법 자체는 학습 범위로 다루지 않으며, 필요한 경우 보충 개념: 클래스를 참고한다.

전체 실행 흐름

사용자 입력
   ↓
Game.run()
   ↓
CommandParser.parse()
   ↓
Game.process_command()
   ↓
이동 · 전투 · 아이템 · 대화 · 퀘스트 · 저장/불러오기
   ↓
상태 변경
   ↓
다음 입력 또는 종료

게임의 중심 흐름은 Game.run() → CommandParser.parse() → Game.process_command()로 이어지고, 선택된 명령에 따라 각 기능을 담당하는 함수로 작업이 전달된다.

모듈 지도

모듈수업에서 보는 핵심
01. 라이브러리와 공통 도구import, 함수, 난수, 최솟값·최댓값
02. 정해진 값 관리프로그램에서 사용하는 상태와 방향 값
03. 게임 데이터아이템·스킬·몬스터·퀘스트의 값과 상태
04. 인벤토리리스트, for, if, return
05. 플레이어능력치 계산, 장비, 성장과 값의 변화
06. 명령어 분석문자열 입력을 분석하여 실행할 명령 결정
07. 피해 계산매개변수 → 계산 → 반환값
08. 보상 처리몬스터 정보가 플레이어 경험치·골드로 전달되는 과정
09. 방·세계·이벤트현재 위치, 이동 관계, 이벤트 실행
10. NPC와 퀘스트상태 변화와 반복 처리
11. 전투전투 반복, 함수 호출, HP 변화, 반환값
12. 저장·불러오기파일 입출력, JSON, 예외 처리
13. 게임 데이터 만들기리스트·딕셔너리와 게임 데이터 구성
14. 게임 흐름 연결명령 분기, 기능 호출, 반복 실행
15. 실행input(), 게임 생성, 프로그램 시작

모듈별 전체 코드

수업용 코드북의 15개 모듈을 각각 열어 보거나, 전체 코드를 한 파일로 이어서 확인할 수 있다.

모듈별 코드 보기 → · 전체 코드 파일 열기 →

예제 1 · 입력값이 프로그램 시작으로 이어지는 과정

input()으로 받은 문자열을 확인한 뒤, 빈 문자열이면 기본 이름을 저장한다. 그 값을 이용해 게임을 만들고 run()을 호출하면서 전체 프로그램이 시작된다.

예제 2 · 입력 → 분석 → 실행

반복문 안에서 입력을 받고, 입력 문자열을 명령으로 바꾼 뒤, 해당 기능을 실행한다. 종료 조건이 만족되면 break로 반복을 끝낸다.

예제 3 · 조건에 따른 명령 분기

하나의 입력이 여러 기능 중 어디로 이동하는지를 if / elif로 확인할 수 있다. 각 분기에서는 필요한 함수를 호출하고, 일부 함수의 반환값은 다음 판단에 다시 사용된다.

연습

  1. 플레이어 이름을 입력하지 않고 Enter만 눌렀을 때 어떤 값이 Game()으로 전달되는지 코드 근거와 함께 설명해 보자.
  2. 상태를 입력했을 때 input()부터 출력까지 어떤 함수와 조건을 거치는지 순서대로 적어 보자.
  3. 불러오기를 실행했는데 저장 파일이 없다면 어떤 반환값이 어떤 조건 판단에 사용되는지 추적해 보자.
⌂ Home