Делаем ссылки на имена персонажей — КиберПедия 

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Делаем ссылки на имена персонажей

2017-09-27 586
Делаем ссылки на имена персонажей 0.00 из 5.00 0 оценок
Заказать работу

Теперь каждому персонажу даем свой номер, или ссылку на него, через которую можно будет его вызвать простым сокращением. Выглядит оно так

define rish = Character('Рыжий')

где rish – ссылка на имя Рыжий, и оно пишется только на английском

'Рыжий' – если вы обратили внимание, Имя персонажа пишется в одинарных кавычках. (Для вызова этой кавычки переведите клавиатуру на английскую раскладку, и нажмите на клавишу э)

И давайте дадим всем персонажам имя, для удобства нам потребуется создать новый файл all_resourse.rpy и сохранить его, и ввести следующие строки

 

 

init:

###Ваши персонажи

define rish = Character('Рыжий') ### Лидер банды

define gol_1 = Character('Шестерка 1') ### Его шестерка

define gol_2 = Character('Шестерка 2') ###Очередная шестерка

define sadshi = Character('Анжи) ### Детдомовец, главный герой

Теперь разбираем что мы тут написали.

init: -пишется для того что бы программа видела файлы и скрипты написанные здесь

###Ваши персонажи - ### тремя решетками пишут ваши комментарии внутри сценариев, и программа их не видит.

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

 

Домашнее задание

Теперь, когда мы научились делать ссылки на имена персонажей, замените везде имена на эти ссылки и у вас получится следующее

 

Именам цвет

Сохранив проект вы заметили, что имена у героев одного цвета(голубого), так почему бы не сделать их цветными?

Делается это просто здесь в define …. = Character('…..') после русского имени пишем добавив color="здесь номер цвета" и у нас получится

define rish = Character('Рыжий', color="#008000")

"#008000" – рыжий цвет

Коды цветов можно получить в фотошоппе

 

 

И давайте остальным пропишем цвета

define rish = Character('Рыжий', color="#008000") ### Лидер банды

define gol_1 = Character('Шестерка 1',color="ffff99") ### Его шестерка

define gol_2 = Character('Шестерка 2',color="9966ff") ###Очередная шестерка

define anshi = Character('Анжи',color="66ff66") ### Детдомовец, главный герой

Посмотрите в программе, что у вас получилось.

 

 

Переменные и с чем их едят

 

Что бы сделать секретную концовку в игре нужно ввести переменные. Для этого нам следует после label start: Прописать переменную и что она равна 0

label start:

$ udacha = 0

Далее в тексте выбора нам нужно будет поставить +1 от выбора, и мы получим

Далее нам нужно прописать в самой игре, что произойдет от выбора его. Последствия пишутся через if имя переменной Далее следует поставить условие, например больше, либо равно 1 или меньше равное 0, оно будет выглядеть так

А теперь запишите в проект то что на картинке сверху, и вы увидите как удобно пользоваться переменными.

label gruppa_tatu:

if udacha <=0:

"Анжи резко развернулся и побежал от банды в противоположную сторону"

"Банда была готова к тому, что он побежит, и погнались за ним"

"Продолжение следует"

if udacha >=1:

"Пробежав два коридора и свернув в третий, взял заготовленную балку из дюрали, и когда подбежал Гек ударил его по шее, потом начал бил ногами"

Это еще не конец возможностям переменных.

 

Если в игре вы захотите поставить 2 и более условий, для скрытой концовки,или прописать локацию по дням, то оно примет следующий вид.

if guard == 0 and day == 1:

где переменные guard и day
По смыслу:
if guard == 0 and day == 1: стража 1 день,
if guard == 0 and day == 2: стража 2 день,
if guard == 1 and day == 2: чето случилось со стражником 2 день(например поговорили с ним и он вас гонит, после повторного обращения к нему.
Что бы добавить к переменной значение +1 или -1 пишут так
$ guard += 1 или $ guard -= 1

А and является связующим звеном между 2 переменными

== означают что они должны быть равны тому то
Если нужно что бы значение переменной было больше 4 или меньше 2, то пишут
if guard <= 2 and day >= 4: ( например стражник спился значение 1 или 0, и это событие происходит после 4 дня, почка отказала и он умер)

label hata_guard:
….if guard == 0 and day == 1:
…….."Дай денег- выпить хочу"
….if guard == 0 and day == 2:
…….."Дай еще денег"
……..$ guard += 1
….if guard == 1 and day == 2:
…….."Вы заходите обратно в дом и видите пьяного спящего стражника"

….if guard <= 2 and day ==3:
…….."Стражник ушел в запой и вы спокойно проходите в его дом"

….if guard <= 2 and day >= 4:
…….."Стражник умер – почка отказала и вы спокойно обходите его труп "

Так же переменным можно задавать значение, например имя который захочет выбрать игрок:
label start:
…."Ты кто? Мальчик или девочка?"

…. "Я еще не определился…"
….$ name = renpy.input(_("А как тебя зовут то...?")) or_("Никак")
…."[name], зовут тебя так?"###и в тексте вместо [name] будет введенное имя
….$ renpy.block_rollback() ###что бы нельзя было вернуться назад
…."И я бы забыл, как меня зовут, с таким то именем…"

Можно и так


А что бы у этой переменной было имя как у персонажа, прописать нужно как ссылку имен и получим:
define mc1 = Character ('[name]')
и в тексте меток пишем
mc1 "Текст" ###


Теперь давайте разберем что тут записанно.
label name_input: - имя метки, можно любое имя взять(name_input), но только на английском.
….$ name = renpy.input("А как тебя зовут то...?") - мы переменной ($ name которую можно на свой вариант на английском) задаем значение(=) ввод с клавиатуры(renpy.input) а ("А как тебя зовут то...?") - значит вопрос в текстовом боксе
…."[name], зовут тебя так?" – пример использования имени в тексте
….$ renpy.block_rollback() – что бы игрок не мог вернуться назад и поменять свой выбор имени

 

В общем, есть условие, оно задаётся через IF,
Есть вариант со вторым условием, которое проверяется, если первое не подходит, оно задаёся через ELIF

И есть вариант если не подходит ничего из этого ELSE
IF cvet == 'белый':
...действие 1
ELIF cvet == 'чёрный':
....действие 2
ELIF cvet == 'красный':
....действие 3
ELSE:
....действие если не 1 по 3

Запомните так же. Если логика подразумевает (все что угодно кроме), то логическое событие должно быть ELSE!

 


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

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.019 с.