Здравствуйте.
Я пытался сделать текстовый квест\программу\игру на языке python основываясь на уже готовой программе, сделанной учеником 11 класса.
У меня до сегодняшнего дня не было опыта с python.
Я думал просто посмотреть на код чужой программы и сделать свою с другим сюжетом и структурой программы.
Но когда дело дошло до переделывания структуры программы - > начались проблемы с не знанием символов, операторов, логических уровней python
------
Под спойлером текстовый квест ученика 11кл.
Удалил из-за лимита символов -_-.
Вот начало моего кода, после которого мой прогресс написания программы застопорился:
spoilerprint ("Dungeon raid")
print ("*************************************************")
print ("Вы - матерый воин Гатс, жаждущий славы и богатства")
print ("Недавно вами было взято задание - отправиться в жуткое подземелье ради спасения похищенной злым некромантом дочери графа Паулето")
print ("Вам предстоит подготовить свое снаряжение и собрать рюкзак перед дорогой, взяв то, что поможет вам в борьбе со зловещим некромантом")
print ("Нажмите |1| чтобы начать выбор экипировки")
a =int(input())
while a!=1 :
a=int(input())
print ("*************************************************")
print ("Варианты действий")
print ("*********************************************************")
print ("Взять с собой тяжелый серебрянный двуручный меч - для действия нажмите |1|")
print ("Надеть на себя волшебный мифриловый доспех - для действия нажмите |2|")
print ("Положить в рюкзак лечебную эссенцию регерации жизни - для действия нажмите |3|")
print ("Взять с собой связку отмычек - для действия нажмите |4|")
print ("Засунуть в рюкзак лом - для действия нажмите |5|")
print ("Положить в голенища своих сапог два легких стальных ножа - для действия нажмите |6|")
print ("*********************************************************")
b=int(input())
if b>6 or b<=0 :
print ("Сосредоточьтесь на сборе экипировки!")
if b==1 :
print ("Этот меч мог бы показаться для кого то тяжелым - но только не для вас")
if b==2 :
print ("Надев доспех вы ощущаете небольшую тяжесть и скованность движений, но решаете, что защита важнее")
if b==3 :
print ("Ваша уверенность в успех рейда повысилась, ведь есть страховка в виде лечебного зелья")
if b==4 :
print ("Немалую пользу может принести столь малый груз")
if b==5 :
print ('Хоть лом и тяжел, но вы видете в нем помощника в будущих препядствиях')
if b==6 :
print ('Вы не ассасин - но ножи никогда не бывают лишними')
print ("*********************************************************")
print ("Хотите ли вы взять что-то еще?")
print ("Нажмите |1| если хотите продолжить сбор снаряжения")
print ("Нажмите |2| если вы уже полностью готовы к походу")
a =int(input())
if a==1 :
c =int(input())
c!=b
if с>6 or с<=0 :
print ("Сосредоточьтесь на сборе экипировки!")
if с==1 :
print ("Этот меч мог бы показаться для кого то тяжелым - но только не для вас")
if с==2 :
print ("Надев доспех вы ощущаете небольшую тяжесть и скованность движений, но решаете, что защита важнее")
if с==3 :
print ("Ваша уверенность в успех рейда повысилась, ведь есть страховка в виде лечебного зелья")
if с==4 :
print ("Немалую пользу может принести столь малый груз")
if с==5 :
print ('Хоть лом и тяжел, но вы видете в нем помощника в будущих препядствиях')
if с==6 :
print ('Вы не ассасин - но ножи никогда не бывают лишними')
if a==2 :
print ("*************************************************")
print ("Вы наконец-то собрались в дорогу")
Вот алгоритм написания моей программы:
Основные проблемы с написание текстового квеста у меня:
1) Как сделать так, чтобы программа запоминала уже выбранные варианты игрока и не предалагала их к выбору, после того как он выбрал его;
2) Как сделать так, чтобы программа запомнила набор выборов-чисел игрока по типу 3-4-1 в любой последовательности для дальнейшего использования этого набора как условие прохождения\не прохождения игрока дальше по шагам игры;
3) Как обозначить ввод переменной "С", когда нужно сперва ввести переменную "А", которая при условии "А" ==1 должна перебрасывать на ввод переменной "С" и проверку ее условий (у меня не перебрасывает) и при условии "А"==2 должна просто дальше читать строки программы.
Вот код проблемы с переменной "С":
a =int(input())
if a==1 :
c =int(input())
c!=b
if с>6 or с<=0 :
print ("Сосредоточьтесь на сборе экипировки!")
if с==1 :
print ("Этот меч мог бы показаться для кого то тяжелым - но только не для вас")
if с==2 :
print ("Надев доспех вы ощущаете небольшую тяжесть и скованность движений, но решаете, что защита важнее")
if с==3 :
print ("Ваша уверенность в успех рейда повысилась, ведь есть страховка в виде лечебного зелья")
if с==4 :
print ("Немалую пользу может принести столь малый груз")
if с==5 :
print ('Хоть лом и тяжел, но вы видете в нем помощника в будущих препядствиях')
if с==6 :
print ('Вы не ассасин - но ножи никогда не бывают лишними')
if a==2 :
print ("*************************************************")
print ("Вы наконец-то собрались в дорогу")
Вот ошибка при компиляции с такой трактовкой кода:
--------
Помогите, пожалуйста, продолжить написание текстового квеста, игры.
Просто для меня это как чек поинт - если я это не сделаю, то зачем тогда учусь в этой области.
Я точно разобрался с тем, что == - это равно, а != -> не равно.
Знаю немного о операторах If, While и else, но у меня проблемы огромные с восприятием таких операторов как While True, break, continue, elif.