Основные действия с переменными(часто используемые)



 

Изменение значений

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

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






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