Прописываем имя и фамилию персонажа
init python :
first_name = 'Безымянный!t'
last_name = ''
input_first_name = 'Иван!t'
input_last_name = 'Иванов!t'
min_name_len = 2
max_name_len = 10
nameless = Character("'{0} {1}'.format(first_name,last_name).strip()", dynamic=True)
label start:
Scene bg timelessness
nameless "Пора выбрать себе имя. Имя само себя не выберет."
label first_name_input:
call screen screen_name_input("Введите имя:",'input_first_name')
if _return == '_b_enter':
if len(input_first_name) < min_name_len:
"Слишком короткое имя!"
Jump first _ name _ input
else:
$ first_name = input_first_name
nameless "Моё имя будет [first_name]"
elif _return == '_b_cancle':
nameless "Оставлю всё как есть..."
label last_name_input:
call screen screen_name_input("Введите фамилию:",'input_last_name')
if _return == '_b_enter':
if len(input_last_name) < min_name_len:
"Слишком короткая фамилия!"
Jump last _ name _ input
else:
$ last_name = input_last_name
nameless "Моя фамилия будет [last_name]"
elif _return == '_b_cancle':
nameless "Оставлю всё как есть..."
Jump continued
screen screen_name_input(t,v):
key 'input_enter' action Return('_b_enter')
key 'K_ESCAPE' action Return('_b_cancle')
frame:
Align (0.5,0.5)
Xsize 300
vbox:
text "[t]":
Xalign 0.5
text "(от [min_name_len] до [max_name_len] символов)":
Xalign 0.5
input:
Xalign 0.5
Value VariableInputValue(v)
Length max_name_len
allow "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбюQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm"
hbox:
Xfill True
textbutton "Cancle":
action Return('_b_cancle')
Xalign 0.5
textbutton "Enter":
action Return('_b_enter')
|
|
Xalign 0.5
label continued:
nameless "Моё имя будет [first_name]"
nameless "Моя фамилия будет [last_name]"
nameless " Меня зовут [nameless]"
5) "Герой без конкретного имени"
define m = DynamicCharacter("hero_name") # Первоначально не прописываем конкретное имя персонажа.
label start:
$ hero_name = "???!t " # Переменная, где имя персонажа "???"
m "Кто я?"
$ hero_name = u"Герой!t " # Переменная, где у персонажа появляется конкретное имя
m "Так я – [hero_name]!!!"
$ hero_name = "???!t " # Переменная, где имя персонажа снова "???"
m "Нет?"
$ hero_name = u"Злодей!t " # Переменная, где у персонажа появляется конкретное имя
m "Наверно, я – [hero_name]!"
Переменные.
Постоянные данные, которые хранят выбор пользователя. Простейший пример из обучения связанный с обьяснением, что такое флаги.
label start:
"Ты будешь гулять сегодня?"
menu:
"Да":
jump da_gul
"Нет":
jump net_gul
label da_gul:
$ gul = True
"Катя" "Хорошо ждем тебя на улице"
jump den_2
label net_gul:
$ gul = False
"Катя" "Жалко… Тогда до завтра"
jump den_2
label den_2:
if gul:
"Катя" "Классно мы вчера с компанией погуляли))) Почаще выходи с нами )"
else :
"Катя" "Мы вчера так весело погуляли!!! Жалко тебя не было…"
|
|
"Учитель" "Показываем ваши домашние задания"
if gul :
"Катя" "Упс…."
"Катя" " Ты тоже спать после прогулки лег?"
else :
"Катя" "Дай списать!!!!! ПОЖАЛУСТА!!!!!"
"Катя" " Ты то точно написал ее!!!"
Разберем что тут мы записали
После выбора гулять или нет, мы видим после метки значение $ gul = True .
Значком $ в начале помечают коды питона, переменные. Делаем такой же отступ как и на обычный диалог,
$ gul – так мы назвали переменную, а значение ее True или False т.е.мы можем так же и цифры, и буквенно-цифровые значения прописать, самое главное не забыть как вы их записали. И что бы не было ошибки, вам нужно сделать прыжок к другой метке(jump den_2), т.к. если после выбора значение флага (=) не сделать этого - оно примет, то условие что будет записано в следующей метке.
После того как вы сделали выбор, у вас переменная приняла свое значение (= ) , потом на следующий день включается проверка переменной (if gul : ) если переменная включена (True ) то произойдет событие которое должно произойти при включенной переменной.
Если нужно значение переменной любое другое кроме тех что были прописаны ранее, то пишут (else : - оно так и переводитсялюбое другое).
|
|
Так же посмотрите на отступы фраза "Учитель" "Показываем ваши домашние задания" и if gul : они стоят на 1 уровне, это значит что фраза"Учитель" "Показываем ваши домашние задания" будет общей и для if gul : и для else : и она не попадает под проверку переменной gul
Дата добавления: 2018-10-27; просмотров: 641; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!