Основные действия с переменными(часто используемые)
Изменение значений
1) $ rep +=1 и $ rep -=1 – мы прибавили и отняли значение у переменной rep
2) $ rep = rep +2 и $ rep = rep -2 – как и первый вариант, + и – к переменной
3) $ mwar = mwar + renpy.random.choice([1,3]) – к переменной мы прибавляем случайное значение 1-3
4) умножаем
$ sila = 10
$ ves = 5*ves
получим 50 веса, но так никто не делает на рпг – ошибки будут
5) делим
$ zashita = 10
$ uron = 2/zashita
получим 5 урона, но так никто не делает на рпг – ошибки будут
Устанавливаем значение
1) $ rep = 10 и $ rep = -100 – Значение переменной будет равна 10 и -100, т.е. допустим у персонажа 10 отнощений, он украл что то и отношение сразу стали равны -100
2) $ wolf_hp = wolf_max_hp – значение 1 переменной равна значению другой
Условие
1) if mmo – При значении True
2) if mmo == 1 - При точном значении 1
3) if mmo >= 1 или if mmo <= 1 - при равном или большем значении 1 или наоборот
4) if mmo >1 или if mmo < 1 - Если больше 1 или меньше
Постоянны значения
Постоянные переменные используют что бы использовать изменения в глобальном виде. Т.е. выйдя из игры значения переменных обычных возвращаются в исходное положение, а в постоянных значениях эти изменения сохранятся. И их используют в достижениях, изменениях изображения главного меню при прохождении эпизода, в галереи и т.д….
Различие в отличии от обычных переменных в приставке к имени переменной if persistent.imya_peremennoi
$ persistent . one = False
label startlilieroute:
if persistent.one:
menu:
"Пропустить историю?"
|
|
"Да":
jump afterintro
"Нет":
pass
"Текст с историей"
$ persistent . one = True
label afterintro:
"Сам проект начался"
И получается, когда мы пойдем историю, и начнем новую игру, программа нам предложит пропустить историю.
Генераторы случайных чисел
1) renpy . random . choice
Генератор переменных и значений
Возьмем простой пример – камень ножницы и бумага
# Игра начинается здесь.
label start:
$ rps_beats = [("камень", "ножницы"), ("ножницы", "бумага"), ("бумага", "камень")] ###условия победы
"камень ножницы и бумага"
menu :
"Камень!":
$ rps _ player = "камень"
"Бумага!":
$ rps_player = " бумага "
" Ножницы !":
$ rps_player = " ножницы "
$ rps_npc = renpy.random.choice([" камень ", " бумага ", " ножницы "])
e "Я выбрала %(rps_npc)s!"
if (rps_player, rps_npc) in rps_beats:
e "Ты выиграл! Давай еще сыграем"
Jump rps
elif (rps_npc, rps_player) in rps_beats:
e "Я выиграла! Давай еще раз сыграем"
Jump rps
else:
e " Ничья ! Давай еще сыграем "
Jump rps
label rps:
"Ты как будто знала, что у меня будет [ rps _ player ]!!!"
"А Ты как будто знал, что у меня будет [rps_npc]!!!"
Разберем что мы тут записали
|
|
Мы прописываем список значений при победе, и прописываем все в 1 переменную $ rps_beats = [("камень", "ножницы"), ("ножницы", "бумага"), ("бумага", "камень")]
Потом делаем выбор пользователя с тем, какая будет переменная у пользователя $ rps _ player
menu:
" Камень ":
$ rps_player = " камень "
"Бумага!":
$ rps _ player = "бумага"
"Ножницы!":
$ rps _ player = "ножницы"
Далее вызываем генератор случайных чисел, и в нем пишем переменную, что выпала у компьютера $ rps_npc
$ rps_npc = renpy.random.choice(["камень", "бумага", "ножницы"])
И потом мы прописываем условие, если будет совпадение со списком победы у пользователя
if (rps_player, rps_npc) in rps_beats:
e "Ты выиграл! Давай еще сыграем"
Jump rps
и такое же условие прописываем и на победу компьютера
elif (rps_npc, rps_player) in rps_beats:
e "Я выиграла! Давай еще раз сыграем"
Jump rps
И если будет ничья тоже необходимо условие прописать. В любом варианте переменной в конце всегда пишите else, что избегать ошибок
else :
e "Ничья! Давай еще сыграем"
Jump rps
Переменные используют аналогичным способом, только слегка модернизируют значение(переменные в квадратные скобки)
|
|
label start:
$ r1 = 1
$ r2 = 0
"Что я сегодня буду делать...."
$ r3 = renpy.random.choice([r1, r2])
label vibor:
if r3 == 1:
"Спать"
else:
"Работать"
Мы рассмотрели функцию случайных перменных(renpy.random.choice), а что делать, если требуется отобразить случайное целое число? Для этого используют (renpy.random.randint)
2) renpy.random.randint
Числовые значения
Простой пример
$ mwar = mwar + renpy.random.choice([1,3])
И еще пример
# Игра начинается здесь.
label start:
$ money = 7
$ r1 =0
" У меня [money] монет "
$ r1 = renpy.random.randint(1, 101)
$ money2 = money + r1
"Когда я пошла домой я нашла [r1] монет"
"Итого у меня монет стало - [money2]"
Или еще больше запутайте пользователя
label start :
$ money = renpy.random.randint(1, 101)
$ r1 = renpy.random.randint(1, 101)
$ money2 = money + r1
" У меня [money] монет "
"Когда я пошла домой я нашла [ r 1] монет"
"Итого у меня монет стало - [ money 2]"
Дата добавления: 2018-10-27; просмотров: 2187; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!