Вежбајте своје Питхон програмирање уз једноставну обраду текста и руковање одлукама да бисте креирали игрицу која се може играти.
Текстуална авантуристичка игра је забаван пројекат који можете предузети ако учите како да програмирате. Можете направити текстуалну авантуристичку игру користећи Питхон, покренути је у командној линији и променити причу на основу текста који играч унесе.
Питхон скрипта ће покрити неколико врста основних програмских концепата. Ово укључује изјаве за штампање, иф изјаве и функције.
Како креирати Питхон скрипту и додати садржај приче
Можете креирати скрипту користећи стандардну текстуалну датотеку са екстензијом .пи. Ако нисте упознати са Питхон синтаксом, погледајте неке основни Питхон примери који вам могу помоћи да га научите брже. Можете погледати и друге корисни једноструки Питхон-ови за обављање одређених послова.
У главној функцији Питхон датотеке подесите своју причу и поруку добродошлице.
- Направите нову датотеку под називом "АдвентуреГаме.пи".
- У датотеци додајте главну почетну функцију. Функција ће укључити кратку уводну причу која ће пожељети добродошлицу играчу у авантуристичку игру. Затим ће позвати другу функцију интроСцене().
ако је __име__ == "__главни__":
докИстинито:
штампа ("Добродошли у авантуристичку игру!")
принт("Као страствени путник, одлучили сте да посетите париске катакомбе.")
штампа ("Међутим, током свог истраживања, нађете се изгубљени.")
штампа ("Можете одабрати да ходате у више праваца да бисте пронашли излаз.")
принт("Хајде почетакса твој име: ")
име = улаз()
штампа ("Срећно, " +име+ ".")
интроСцене()
Како направити више сцена и опција у причи
Ваша прича ће садржати неколико сцена или „соба“. Можете креирати функцију за сваку сцену тако да је можете поново користити касније ако играч поново уђе у исту просторију.
Свака сцена ће такође имати различите изборе где да иде. Добра је идеја да мапирате своју причу пре кодирања сценарија, како бисте били сигурни да је ваша прича добро организована.
Свака сцена ће имати листу важећих упутстава и иф-изјаву за више путања којима играч може да иде. У зависности од путање којом играч иде, програм ће позвати следећу сцену.
Креирајте функције за сцене које ће се појавити у причи.
- Цреате тхе интроСцене() функција изнад главне функције. Додајте поруку и упутства у којима играч може да уђе.
дефинтроСцене():
правци = ["лево","јел тако","напред"]
штампа ("Налазите се на раскрсници и можете изабрати да идете низ било који од четири ходника. Где би сте волели да идете?")
усерИнпут = ""
док усерИнпут не ин упутства:
штампа ("Опције: лево/десно/назад/напред")
усерИнпут = инпут()
ако је кориснички унос == "лево":
сховСхадовФигуре()
елиф усерИнпут == "јел тако":
сховСкелетонс()
елиф усерИнпут == "напред":
хаунтедРоом()
елиф усерИнпут == "уназад":
штампа ("Открићете да се ова врата отварају у зид.")
друго:
штампа ("Унесите важећу опцију.") - У зависности од уноса корисника, програм ће позвати другу сцену. На пример, ако играч унесе „лево“, програм ће приказати сцену сховСхадовФигуре() играчу. Из ове собе, ако се играч врати уназад, игра ће га вратити на уводну сцену. Ако крену лево или десно, или ће ући у другу просторију или ће ударити у ћорсокак.
дефсховСхадовФигуре():
правци = ["јел тако","уназад"]
штампа ("Видите тамну сенковиту фигуру која се појављује у даљини. Преплашен си. Где би сте волели да идете?")
усерИнпут = ""
док усерИнпут не ин упутства:
штампа ("Опције: десно/лево/назад")
усерИнпут = инпут()
ако је кориснички унос == "јел тако":
цамераСцене()
елиф усерИнпут == "лево":
штампа ("Открићете да се ова врата отварају у зид.")
елиф усерИнпут == "уназад":
интроСцене()
друго:
штампа ("Унесите важећу опцију.") - Додајте сцену камере ако скрену десно. Овде играч може пронаћи један од излаза. Звати одустати() функција за завршетак игре. Играч такође може изабрати да се врати назад на претходну сцену.
дефцамераСцене():
правци = ["напред","уназад"]
штампа ("Видите камеру која је пала на земљу. Неко је недавно био овде. Где би сте волели да идете?")
усерИнпут = ""
док усерИнпут не ин упутства:
штампа ("Опције: напред/назад")
усерИнпут = инпут()
ако је кориснички унос == "напред":
штампа ("Успео си! ти'нашао сам излаз.")
одустати()
елиф усерИнпут == "уназад":
сховСхадовФигуре()
друго:
штампа ("Унесите важећу опцију.") - Назад на почетак авантуристичке игре, и даље ћете морати да додате функције за преостале сцене. Додајте хаунтедРоом() сцена ако играч одлучи да крене напред. Ово ће такође завршити игру у зависности од избора играча.
дефхаунтедРоом():
правци = ["јел тако","лево","уназад"]
штампа ("Чујеш чудне гласове. Мислите да сте пробудили неке од мртвих. Где би сте волели да идете?")
усерИнпут = ""
док усерИнпут не ин упутства:
штампа ("Опције: десно/лево/назад")
усерИнпут = инпут()
ако је кориснички унос == "јел тако":
принт(„Више створења налик гулу почетак у настајању као уђеш у собу. ти су убијен.")
одустати()
елиф усерИнпут == "лево":
штампа ("Успео си! ти'нашао сам излаз.")
одустати()
елиф усерИнпут == "уназад":
интроСцене()
друго:
штампа ("Унесите важећу опцију.") - Такође можете додати занимљивији садржај игри. Направите глобалну променљиву, на самом врху датотеке, под називом "оружје". Биће тачно или нетачно у зависности од тога да ли га играч пронађе.
оружје = Фалсе
- У једној од соба поставите променљиву оружја на труе ако је играч пронађе. Играч га може користити у суседној соби ако је потребно.
дефсховСкелетонс():
правци = ["уназад","напред"]
глобално оружје
принт(„Видите зид од скелета као уђеш у собу. Неко те посматра. Где би сте волели да идете?")
усерИнпут = ""
док усерИнпут не ин упутства:
штампа ("Опције: лево/назад/напред")
усерИнпут = инпут()
ако је кориснички унос == "лево":
штампа ("Открићете да се ова врата отварају у зид. Отворите део сувог зида да бисте открили нож.")
оружје = Истинито
елиф усерИнпут == "уназад":
интроСцене()
елиф усерИнпут == "напред":
чудно биће()
друго:
штампа ("Унесите важећу опцију.") - Ако играч пронађе оружје, може убити непријатеља у суседној соби и пронаћи други излаз. У супротном, непријатељ ће их убити.
дефчудно биће():
акције = ["борба","бежати"]
глобално оружје
принт(„Појавило се чудно створење налик гулу. Можете или да трчите или Бори се. Шта бисте желели да урадити?")
усерИнпут = ""
док усерИнпут не ин акције:
штампа ("Опције: бежи / бори се")
усерИнпут = инпут()
ако је кориснички унос == "борба":
ако оружје:
принт("Ти убити гул са нож ти нашао раније. После напредујући, наћи ћете једног оф излази. Честитам!")
друго:
штампа ("Створење налик гулу те је убило.")
одустати()
елиф усерИнпут == "бежати":
сховСкелетонс()
друго:
штампа ("Унесите важећу опцију.")
Како покренути Питхон скрипту
Можете покренути скрипту помоћу терминала или командне линије. Како унесете унос у терминал, прича ће наставити да се креће напред ка следећој сцени.
- Користећи терминал или командну линију, идите до локације на којој сте сачували датотеку.
цд Ц:\Усерс\Схарл\Десктоп\Питхон
- Покрените скрипту.
питхонАдвентуреГаме.пи
- Почетна порука ће вам пожелети добродошлицу да почнете да играте игру.
- Унесите неку од доступних опција на листи, као што су „лево“, „десно“ или „назад“. Ако унесете неисправан унос, игра ће од вас затражити исправан унос.
- Такође можете поново да играте игру да бисте изабрали другу путању.
Овде можете преузети комплетан изворни код за пројекат ГитХуб репозиторијум.
Направите једноставну игру користећи само једну Питхон скрипту
Можете креирати текстуалну авантуристичку игру користећи Питхон скрипту и покренути је у терминалу или командној линији. Унутар Питхон датотеке, плејеру можете представити поруку добродошлице и почетну причу. Играч затим може да унесе своје акције на основу опција које представите.
Ако желите да постанете свеобухватнији Питхон програмер, можете погледати неке од корисних алата које можете користити или интегрисати са Питхон-ом.