Часто задаваемый вопрос: «Как сделать так, чтобы, например, четвертая концовка становилась доступной только при прохождении остальных трёх?»
Сделать это довольно просто и быстро, если воспользоваться списками. В нашем случае важно, что каждую концовку нужно посчитать только один раз. И при накоплении в списке нужного количества (пусть будет 3) концовок, становится доступной последняя. Кстати, в список можно закидывать не индекс концовки, а, например, ее название или описание.
init python: # инициализация постоянных данных при первом запуске if persistent.ends is None: persistent.ends = [] # функция. запоминаем, что мы прошли концовку, вносим в список, если ее там не было. def end(name): if not name in persistent.ends: persistent.ends.append(name) # Игра начинается здесь. label start: "Текст новеллы. Бла-бла-бала." # конструкцию ниже можно использовать в ллюбом месте скрипта # if len(persistent.ends) >= 3: # jump end4 # даже прямо в меню выбора # последний пункт появится, когда будут выбраны хотя бы по разу все остальные menu: "Выберите каждый вариант хотя бы по разу. Затем снова запускайте игру." "К концовке 1": jump end1 "К концовке 2": jump end2 "К концовке 3": jump end3 # следующий пункт меню появится только # если длина списка пройденных концовок равна 3 и больше "К концовке 4" if len(persistent.ends) >= 3: jump end4 return # сюда переходим при выборе одного из пунктов label end1: "Концовка 1." # запоминаем, что мы ее прошли, вносим в список, если ее там не было $ end(1) return label end2: "Концовка 2." $ end(2) return label end3: "Концовка 3." $ end(3) return label end4: "Концовка 4!" return
Блин, кто нибудь напишите пример пожалуйста потому-что я вообще не понимаю что писать (или вообще не писать) тут:
ОтветитьУдалить(именно за место name, и что писать (если надо) в эти [] скобки во втором предложении)
if persistent.ends is None:
persistent.ends = []
def end(name):
if not name in persistent.ends:
persistent.ends.append(name)