ETC/Ren'Py

[Ren'Py] #2 루트 설계

성중 2021. 2. 25. 22:04

흐름을 제어하기 위한 제어문

선택에 따라 엔딩이 달라지는 선택 메뉴 문

 

플래그 값 -> 중간에 바꿀 수 없음

포인트 값 -> 중간에 바꿀 수 있음

 

Jump: 정의된 레이블로 제어 흐름을 이동

Call: 명령처리 후 return에 의해 원문으로 돌아옴

$ 표시를 쓰면 파이썬 코드로 변수를 정의할 수 있음

label start:
    define flag = True
    $ points = 7

    if flag:
        call flag_check
    else:
        call flag_check

    if points >=10: 
        jump good_ending
    else:
        jump bad_ending
return

label flag_check:
    "flag 변수의 값은 [flag]입니다."
return

label good_ending:
    "좋은 엔딩입니다."
return

label bad_ending:
    "좋지 않은 엔딩입니다."
return

Jump와 Call을 통해 label을 오가면서 다양한 루트를 설계할 수 있다!

(flag활용 / points활용 / 변수조작)

 

파이썬으로 코드를 주석 처리 가능~

python:
    """
    define flag = True
    $ points = 7

메뉴문: 사용자의 선택에 따른 내용 표시

    menu:
        "10점 이상":
            $ points = 10
        "0점":
            $ points = 0

    if points >=10: 
        jump good_ending
    else:
        jump bad_ending

menu 선택지로 points나 flag를 조작하며 루트를 설계

 

변수를 활용한 선택 추적)

파이썬에서 상수값은 보통 대문자로 표기한다.

define CHOICE_NONE = 0
define CHOICE_A = 1
define CHOICE_B = 2
$ choosed = CHOICE_NONE

변수를 활용해 menu로 상수값을 조절하고 조건문으로 label을 call하자

엔딩까지 다양한 루트를 설계할 수 있다!


 

본 내용은 한국콘텐츠진흥원의 'Python을 활용한 게임 만들기'를 바탕으로 작성되었습니다.

'ETC > Ren'Py' 카테고리의 다른 글

[Ren'Py] #4 출시  (2) 2021.02.25
[Ren'Py] #3 UI  (0) 2021.02.25
[Ren'Py] #1 렌파이 입문  (0) 2021.02.25