728x90
반응형
오랫만에 처박아뒀던 게임 플젝을 꺼냈다.
(취미라는게 그렇듯 굉장히 진도가 느리다)
보통의 비주얼 노벨 게임(?)의 정석 호감도를 선택지에 따라 적용하고 확인하는 기능을 개발했다.
물론 뭐 알고 한건 아니고 파이썬 기반이라길래 이렇게 하면 되지 않을까~ 해서 대충 짜본 코드이다.
우선 호감도에 사용할 객체를 만들어준다.
- 호감도 셋과 캐릭터 이름 셋을 만들어주고 getter를 만든다.
- 호감도 변경 함수를 만든다
#Manitto라는 객체 생성
init python in Manitto:
# 호감도, 캐릭터 이름 Map
loves = {"ky":0, "ms":0, "sy":0}
names = {"ky":"금영노래방", "ms":"마이크로소프트", "sy":"싸이"}
# 캐릭터 이름 반환
def getName(name):
return names.get(name)
# 캐릭터 호감도 리턴
def getLove(name):
return loves.get(name)
# 캐릭터 호감도 변경함수
def lChange(lover, love):
loves[lover] += love
선택지에 선택에 따라 호감도 변경
menu:
"아이스 아메리카노":
$ Manitto.lChange("ms", 3) #ms캐릭터의 호감도를 3만큼 올린다.
"카페 라떼":
$ Manitto.lChange("sy", 1)
"핫초코":
$ Manitto.lChange("ky", 3)
$ Manitto.lChange("ms", -1) #ms 캐릭터의 호감도 -1 하락
호감도 보기 눌렀을 때
$ m_name = Manitto.getName(name)
$ love = Manitto.getLove(name)
menu:
"금영노래방":
"[m_name]의 호감도 : [love] "
"마이크로소프트":
"[m_name]의 호감도 : [love] "
"싸이":
"[m_name]의 호감도 : [love] "
그 결과는 이런식이다
정리한 내용은 매우 간단한 예시이지만
활용하면 좀 더 그럴싸하게 구현 할 수 있다.
but 문제~~!
그냥 한큐에 게임을 실행하는데엔 문제가 없으나...
문제는 게임을 하다 저장한것을 불러오면 호감도가 초기화 되거나, 게임을 재시작했는데 남아있는 데이터에 계산된다거나의 문제가 좀 있다..
아직 파일 데이터 저장 로직까지는 못봐서 이 부분은 추후에 알아보고 적용해야 할 것 같다.
728x90
반응형
'게임 > Renpy' 카테고리의 다른 글
Renpy Init 게임 재시작할때 데이터 초기화 (2) | 2023.05.05 |
---|---|
Renpy Inventory Item 사용 (1) | 2020.11.09 |
Renpy label 스트립트 이동 및 호출 (0) | 2020.10.19 |
renpy 게임 만들기 - 폰트 설정, 메인 이미지 설정, 배경 음악 설정 (0) | 2019.11.14 |
renpy 게임 만들기 - screen에서 캐릭터 이름 입력받기 (0) | 2019.11.12 |
댓글