Специальных значения - True, False, None



 

$ gul = True    верное истинное значение

$ gul = False   ложь, ложное значение

$ gul = None ни один, отцутствие значения

Числовые значения переменных

До этого мы рассматривали, как прописать флаги, теперь мы рассмотрим значения числовые.

label start:

$ gul = 0

"Ты будешь гулять сегодня?"

menu:

   "Да":

       $ gul +=1

       jump da_gul

   "Нет":

       jump net_gul

 

label da_gul:

"Катя" "Хорошо ждем тебя на улице"

"Во время прогулки ты ее поцелуешь?"

menu:

   "Да":

       $ gul +=1

       "ок"

   "Нет":

       "ок"

jump den_2

label net_gul:

"Катя" "Жалко… Тогда до завтра"

jump den_2

label den_2:

if gul ==1:

   "Катя" "Классно мы вчера с компанией погуляли))) Почаще выходи в белый свет)

elif gul >1:

   "Девушка покраснела когда встретилась взглядом с тобой"

else:

   "Катя" "Мы вчера так весело погуляли!!! Жалко тебя не было…"

"Учитель" "Показываем ваши домашние задания"

if gul ==1:

   "Катя" "Упс…."

elif gul >1:

   "Катя" "*шепотом* Какие блин уроки после вчерашнего...."

else:

   "Катя" "Дай списать!!!!! ПОЖАЛУСТА!!!!!"

   "Катя" " Ты то точно написал ее!!!"

 

Теперь рассмотрим что мы тут записали.
В начале строки мы прописываем переменную со значением 0, т.к. мы только начали ($ gul = 0 ), потом мы выбираем пойдет он($ gul +=1) или нет гулять, и пропишем поцелует он ее($ gul +=1 ) или нет. символ =+ обозначает что мы к переменной прибавляем ее значение, а 1 знак равно будет значить что переменная приняла такое значение. В отличии от фагов в числах можно кучу событий прописать и развязок…. и фагами в принципе можно, но это куча лишних переменных, и еще бы их всех запомнить. А в числовых переменных можно кучу условий прописать для скрытой концовки всего 1 переменной.
Далее на следующий день у нас должна произойти развязка после событий.
Что бы заработало по выбранным условиям, нам необходимо прописать эти условия.

Опять обращаю внимание на фразу "Учитель" "Показываем ваши домашние задания" она на таком же уровне пишется, как и все остальные условия

if gul ==1: - Если мы пошли, но не поцеловались, что бы система прочитала правильноточноезначение то пишут знак = два раза( = = )

elif gul >1: - Если нужно прописать еще одно возможное событие то его необходимо записать в elif, и что бы его значение было больше 1 то пишут >1: (больше 1) или пишут (равен или больше 2) =>2: или (точное значение) ==2

else : - Если не совпадает с предыдущими событиями

 

Как скрыть после выбора кнопку, экран, пункты меню, или отобразить только в нужных местах

После написания метки, кнопки в конце мы пишем переменную, при которой она будет отображена.

label test:

$ kafe1 = 0

"Тест"

menu:

"Кафе" if kafe1>=1:

   jump kafe

"Пойти еще куда то":

      jump kuda_to

label kafe:

"Конец"

 

label kuda_to:

 $ kafe1 += 1

"По дороге я увидел кафешку…"

jump test

А так же посмотрите выражение not для сокращения текста.

Еще 1 пример, данный пример я видел в группе ренпая – ее выложил парень со словами, надеюсь она кому ни будь поможет…

#Персонажи

define e = Character("Eileen")

 

define c = Character("CodARM")

 

define q = Character("sv")

 

init:

#Переменные

$ end = False

$ nopain = True

$ pain = False

$ noskovorodka = True

$ skovorodka = False

$ skovorodka_on_warm = True

$ skovorodka_on_warm_no_eggs = False

$ skovorodka_on_warm_with_eggs = True

$ noeggs = True

$ eggs = False

$ blow_eggs = False

$ eggs_on_skovorodka = False

$ bad_end = False

 

# The game starts here.

 

label start:

 

"Данная игра не претендует на историческую достоверность, все совпадения случайны, а персонажи вымошлены, во время создания игры не постродало ни одно яйцо"

scene bg room

"Вы находитесь в на кухне, вам необходимо приготовить омлет"

label center:

   

   menu:

       "Сейчас вы находитесь в центре кухни"

       "Подойти к плите" if nopain:

           jump warm

       "Подорйти к холодильнику" if nopain:

           jump cold

       "Подойти к аптечке" if pain:

           "Вы поползли к аптечке"

           jump paprika

       "Подойти к раковине" if nopain:

           jump water

       "Подойти к столу" if end:

           jump end

 

return

 

label warm:

menu:

   "Вы у плиты"

   "Положить сковородку на плиту" if skovorodka:

       $ skovorodka = False

       $ skovorodka_on_warm_no_eggs = True

       "Вы избавились от холодного оружия, вы очень рады"

       jump warm

   "Разбить яйца" if skovorodka_on_warm_no_eggs:

       "Вы разбили яйца, вам больно"

       $ nopain = False

       $ pain = True

       $ skovorodka_on_warm_no_eggs = False

       $ blow_eggs = True

       $ eggs = False

       "Вы прибежали в центр комнаты"

       jump center

   "Разбить яйца" if eggs:

       "Вы разбили яйца"

       $ eggs_on_skovorodka = True

       "Яйца героически смотрят на вас своими желтками"

       $ eggs = False

       jump warm

   "Жарить" if blow_eggs:

       "Вы начали жарить яйца, скупая слеза потекла по вашей щеке"

       "После готовки вы положили яйца на блюдо, вы грустите"

       $ blow_eggs = False

       $ end = True

       $ bad_end = True

       jump warm

   "Жарить" if eggs_on_skovorodka:

       $ eggs = False

       $ eggs_on_skovorodka = False

       "Вы начали жарить яйца"

       "Яйца странно шкварчат"

       $ end = True

       jump warm

   "Идти в центр комнаты":

       jump center

return

 

label cold:

 

menu:

   "Вы у холодильника"

   "Взять яйца" if skovorodka_on_warm_no_eggs:

       $ noeggs = False

       $ skovorodka_on_warm_no_eggs = False

       $ eggs = True

       "Вы взяли яйца, вы сделали что-то великое"

       jump cold

   "Идти в центр комнаты":

       jump center

 

return

 

label paprika:

 

menu:

   "Вы у аптчечки"

   "Перебинтовать яйца" if pain:

       $ pain = False

       $ nopain = True

       "Вы перебинтовали яйца, чудесным образом это помогло"

       jump paprika

   "Идти в центр комнаты":

       jump center

return

 

label water:

menu:

   "Вы у раковины"

   "Взять сковородку" if noskovorodka:

       "Теперь у вас есть холодное оружие"

       $ noskovorodka = False

       $ skovorodka = True

       jump water

   "Идти в центр комнаты":

       jump center

return

 

label end:

if bad_end == False:

   "Вы приготовили яйца, поздравляю"

else:

   "Приготовление омлета закончилось поездкой в больницу."

"Спрасибо за тест офигитительной фишки ренпи"

return

Основные выражения if elif else…

1) if – если выражение верное, или единственное решение

2) elif – если есть дополнительное решение или вариант

3) else – все кроме выше стоящих решений, всегда должно присутствовать – спасете себя от ошибок, и так будет верно.

После if  или elif всегда пишется переменная с ее значениями и на конце двоеточие, т.е. мы прописываем события при таком то условии - if gul ==1:  

После else  всегда пишется : и описываемы события.

 

4) while – временная петля, пока не закончится данный периуд, оно не пойдет дальше.

 

 

label start: $ count = 10 while count > 0 :    "Т-минус [count]."    $ count -= 1 "Запуск!" Или мини игра про красную шапочку define r = Character('Красная шапочка', color="#CD0000")define w = Character('Волк', color="#B5B5B5") image dev = "dev.jpg"image hi = "hi.jpg"image ko = "ko.png"image viktory = "viktory.jpg"image end = "end.jpg" label start: scene black with dissolve centered "Мини битва Красной шапочки" call battle_game_1 ###старт игры screen simple_stats_screen: ###бары жизни frame: ###шкала жизни красной шапки   xalign 0.01 yalign 0.05 ###координаты ее   xminimum 220 xmaximum 220 ### ограничиваем ее размеры   vbox:       text "Красная шапочка" size 22 xalign 0.5       null height 5       hbox:           bar:               xmaximum 130               value red_hood_hp               range red_hood_max_hp               left_gutter 0               right_gutter 0               thumb None               thumb_shadow None                              null width 5                          text "[red_hood_hp] / [red_hood_max_hp]" size 16 ###отображаем ее жизнь при ранении и полную                             frame:         ###тоже самое и у волка   xalign 0.99 yalign 0.05   xminimum 220 xmaximum 220   vbox:       text "Волк" size 22 xalign 0.5       null height 5       hbox:           bar:               xmaximum 130               value wolf_hp               range wolf_max_hp               left_gutter 0               right_gutter 0               thumb None               thumb_shadow None                              null width 5                          text "[wolf_hp] / [wolf_max_hp]" size 16              text "Девочка vs. Волк" xalign 0.5 yalign 0.05 size 30 ###Надпись битвы                     # The game starts here.label battle_game_1: $ wolf_max_hp = 30 ###Жизнь волка $ red_hood_max_hp = 50 ###Жизнь красной шапки $ wolf_hp = wolf_max_hp ###шкала волка для изменения в баре если его ранят $ red_hood_hp = red_hood_max_hp ###шкала шапки для изменения в баре если ее ранят $ cookies_left = 13 ###зелье жизни, в нашем случае печенье     scene dev with dissolve     "Когда-то давно там жила в деревне маленькая девочка, самое симпатичное существо, которое когда-либо замеченное в стране." "Ее мать чрезмерно любила ее; и ее бабушка, любившая до безумия ее еще больше." "У этой хорошей женщины была маленькая Красная Шапочка, сделанная для нее. Это подошло девочке так чрезвычайно хорошо, что все стали назвали ее Красной Шапочкой." "Однажды ее мать, сделав немного печенья, сказала ей, \«Иди, мое золотце посмотри, как Ваша бабушка поживает, поскольку я слышала, что она заболела. Возьмите ей немного печенья и эту небольшую кружку масла." "Красная Шапочка намеревалась немедленно идти к ее бабушке, которая жила в другой деревне." scene hi with dissolve "Поскольку она проходила лес, она встретилась с волком, {w} который внезапно...." jump battle_1_loop ###Запускаем битву label battle_1_loop:     #### Показываем шкалу жизни волка и шапки # show screen simple_stats_screen     #### Петля игры. # Это будет существовать, пока у обоих врагов не будет больше чем 0 хп. while (wolf_hp > 0) and (red_hood_hp > 0):          menu:       "Удар!":           $ blow = renpy.random.randint(1, 6) ###задаем случайный урон от 1 до 6           $ wolf_hp -= blow ###blow показывает сколько мы нанесли урона, но оно равно здоровью со знаком минус, значит в тексте покажет урон, а в шкале здоровья сколько здоровья осталось           r "Ки-я-я-я-я-яяя!!! (нанесли урона - [blow] hp)"                      "Съешьте печенье (осталось [cookies_left] печенья)" if cookies_left > 0: ###условие что будет активна при значении больше 0           $ red_hood_hp = min(red_hood_hp+5, red_hood_max_hp) ###востанавливает 5 здоровья, и оно ограниченно макс здоровьем           $ cookies_left -= 1 ###-1 печенье           r "Mmm, вкусный... (восстанавливают 5hp)"                       "Пропустить ход":           r "Не бей меня!!!!"           $ wolf_damage = renpy.random.randint(2, 6) ###случайный урон от волка          $ red_hood_hp -= wolf_damage ###показываем урон, жизни волка          w "РрррррРрррр! {i}*волк кусает вас*{/i} (урон здоровью - [wolf_damage] hp)"   hide screen simple_stats_screen ### закрываем шкалу жизни и ставим условия когда они закроются     ### Когда они друг друга одновременно прикончат if wolf_hp <= 0:   if red_hood_hp <= 0:       scene ko with dissolve       "Двойной Накаут!!!"              else: ###если так       scene viktory with dissolve       r "Я Выиграла !!!!!"       r "Наконец то мама сошьет мне серую шапку!!!"       "(Вы принесли бабушке [cookies_left] печеньев)"          else: ###если так   scene end with dissolve   w "Ням-ням-ням-ням {i}*волк сьел вас*{/i} (вместе с корзиной)"   scene viktory with fade   "Никогда не сдавайся"          jump battle_1_ending ###Играем дальше или конец  label battle_1_ending: "Конец." return

5) pass- ничего не делает. Когда после написания условия переменной вам требуется описать события, но если вам не хочется ничего там записывать, то пишут ее

if points >= 10: "Событие описываем"elif points >= 1: pass else: "Событие описываем."

 

6) and – когда вам требуется использовать значение 2, 3 и более разных переменных (например день 1 и событие) например:

 

label start:

$ gul = 0

$ kiss = 0

"Ты будешь гулять сегодня?"

menu:

   "Да":

       $ gul +=1

       jump da_gul

   "Нет":

       jump net_gul

 

label da_gul:

"Катя" "Хорошо ждем тебя на улице"

"Во время прогулки ты ее поцелуешь?"

menu:

   "Да":

       $ kiss +=1

       pass

   "Нет":

       pass

jump den_2

label net_gul:

"Катя" "Жалко… Тогда до завтра"

jump den_2

label den_2:

if gul ==1:

   "Катя" "Классно мы вчера с компанией погуляли..."

if gul >=1 and kiss >=1:

   "Девушка покраснела когда встретилась взглядом с тобой"

elif gul >=1 and kiss ==0:

   "Жалко, что тебя там не было…"

else:                             

   "Катя" "Мы вчера так весело погуляли!!! Жалко тебя не было…"

"Учитель" "Показываем ваши домашние задания"

if gul ==1:

   "Катя" "Упс…."

if gul >=1 and kiss >=1:

   "Катя" "*шепотом* Какие блин уроки после вчерашнего...."

else:

   "Катя" "Дай списать!!!!! ПОЖАЛУСТА!!!!!"

   "Катя" " Ты же ведь точно написал ее!?"

Обратите внимание, if gul ==1: и на if gul >=1 and kiss >=1:

Первая переменная появится и если целовались, и если нет, и если мы заменим if gul >=1 and kiss >=1: на elif gul >=1 and kiss >=1: то покажет или то что целовался или гулял, а так if gul >=1 and kiss >=1: вам нет необходимости писать кучу раз 1 и тоже текст

7) or - или, применяется когда нам подойдет 1 из 2 условий

label start2:

"Выберите варианты"

menu:

"Дружить":

   $ drushba = True

   "ок"

"Не целоваться":

   "ок"

"Поцеловаться":

   $ pochely =1

   "ок"

"Поругаться":

   $ rugan = True

if pochely <= 0 or drushba:

  "Мне она нравится, но я вижу ее только как подругу…"

if pochely >= 1 or rugan:

"После произошедшего, мое сердце бешено колотилось…"

 

 

8) not, если оно стоит, то та переменная что там указана при данных значениях не будет отображаться.

label test:

"Тест"

menu:

"Кафе" if not kafe1:

   jump kafe

"Пойти еще куда то":

      jump kuda_to

label kafe:

 "Анегдот рассказал"

 "И теперь мы не сможем вернуться сюда"

 $ kafe1 = True

 jump test

 

label kuda_to:

"Конец"

 


Дата добавления: 2018-10-27; просмотров: 984; Мы поможем в написании вашей работы!

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






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