Прописываем имя и фамилию персонажа



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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!