Мазмуну:
- 1 -кадам: Сиздин оюнчу түзүү
- 2 -кадам: Жаңы бөлмө коду
- 3 -кадам: Өзгөрмөдөн шилтеме түзүү
- 4 -кадам: Тест
- 5 -кадам: Бөлмөнүн тизмесин кошуу
- 6 -кадам: Бөлмөлөрдү жок кылуу
- 7 -кадам: Тестирлөө
- 8 -кадам: Sugarcube жана объекттер менен кызыктар
- 9 -кадам: Clone () функциясы
- 10 -кадам: Бул азырынча
Video: Sagarcube менен жиптен өзгөрмөлөрдөн алынган шилтемелер: 10 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Мага дагы кошулганыңызга абдан кубанычтамын! Бул Wumpus сени азырынча жеген жок дегенди билдирет. Жакшы!
Тааныш болбогондор үчүн, бул менин сүйкүмдүү оочи-скотчтуу видер жеңеме анын чоң долбоору менен жардам берүү үчүн жасап жаткан окуу куралдар жыйнагы. Бул окуу куралдары Twine жана Sugarcube программалоо өзгөчөлүктөрүнүн айрымдары менен эмне кыла алаарыңызга багытталган. Эгерде сиз ээрчүүнү кааласаңыз, бул жерде биринчи окуу куралын таба аласыз.
Акыркы үйрөтмөдө мен оюнчу изилдей турган бөлмөлөрдүн чакан топтомун курдум. Мен Wumpus объектисин коштум жана Wumpus турган жерге жараша ар бир бөлмөдө көрсөтүлгөн нерсени өзгөртүү үчүн жалпы бөлмөнүн кодун жасадым.
1 -кадам: Сиздин оюнчу түзүү
Бул кадам абдан жөнөкөй. Негизи мен $ wumpus менен бир эле кодду колдонуп жатам, бирок анын ордуна $ player өзгөрмөсү бар.
2 -кадам: Жаңы бөлмө коду
Бөлмөнүн жалпы кодун өзгөрттүңүз, ошондуктан $ player мааниси учурдагы бөлмө. Анда $ wumpus'ту азыркы бөлмөнүн ордуна $ playerке салыштырыңыз.
Бул кичинекей өзгөрүү, жана таптакыр кереги жок, бирок мен кодду иретке келтирүүнү жакшы көрөм.
3 -кадам: Өзгөрмөдөн шилтеме түзүү
Акыр -аягы, менин баштапкы бөлмөмдөгү шилтемени $ playerдин наркына жараша өзгөргөнгө алмаштыргым келет. Бул Sugarcubeдагы "" функциясы менен жасалышы мүмкүн. Бул тууралуу Sugarcube'дун документтер барагынан окуй аласыз.
Биздин буйруктан кийинки биринчи сап - бул биздин үзүндүбүздө пайда боло турган сөз айкашы. Экинчиси, биз шилтемелеген үзүндүнүн аты. Мен "Wumpus Hunt!" Колдонуп жатам. Менин фразам катары, бирок биз оюнчу кайда баратканын алдын ала билишин кааласак, анын ордуна биз өзгөрмөнү колдоно алабыз:
4 -кадам: Тест
Сиз кодуңузду текшергенде, сиздин шилтемеңиз мурда жазылган сөздөр менен алмаштырылганын билишиңиз керек. Аны басуу менен оюнуңуздагы туш келди бөлмөгө киресиз.
Тилекке каршы, бул сизди түз эле Wumpus бөлмөсүнө алып бара алат! Бул азыр анча деле мааниге ээ эмес, бирок чыныгы оюнда ал тез эле бүтөт. Биз муну оңдошубуз керек.
5 -кадам: Бөлмөнүн тизмесин кошуу
Биринчиден, биз бөлмөлөрдүн тизмесин түзүп, бөлмөлөрдү башкарууну жеңилдетебиз. Бул массивди жарыялоо менен, биз кодду кайталабастан $ player жана $ wumpus баалуулуктарыбызды орнотуу үчүн колдоно алабыз. Анын дагы бир артыкчылыгы бар, биз аны кийинкиде изилдейбиз.
Бул код менен тестирлөө мурункудай болушу керек.
6 -кадам: Бөлмөлөрдү жок кылуу
Мен коддон мурунку коддун бир сабын коштум (баса белгиленген).
Sugarcube массивдеринде элементтерди аты менен жок кылууга мүмкүндүк берген камтылган функция бар. Бул учурда, $ wumpus бөлмөсүн дайындагандан кийин, биз $ roomlistибизден ошол бөлмөнү өчүрө алабыз. Бирок, бул функция татаал. Функциянын чыгышы кандайдыр бир жол менен дайындалмайынча же колдонулбаса иштебейт. Буга кам көрүү үчүн, мен _temp убактылуу өзгөрмөсүн түздүм.
Sugarcubeде убактылуу өзгөрмөлөр доллардын ($) ордуна астын сызуу менен башталат (_). Алар пайдалуу, анткени алар өтмөктү иштеткенден кийин жок кылынат, андыктан өзгөрмөлүү аттардын бири -бирине кайчылаш келиши жөнүндө тынчсыздануунун кажети жок.
Мен $ playerlist бөлмөсүн $ roomlistден да жок кылам, албетте.
7 -кадам: Тестирлөө
Биз кодду азыркыдай иштете алганыбыз менен, бул өтө кылдат сыноо болмок эмес. Эгерде биз кодду иштетип, $ player менен $ wumpus башка бөлмөлөргө бөлүнгөнүн тапсак, анда бул код иштейби же бул жөн эле кокустукпу, билбейбиз. Албетте, биз кодду көп жолу иштете алабыз жана эгерде ал экөөнө тең эч качан бир бөлмөнү бербесе, бирок бул түбөлүккө созулат жана бул эч качан болбойт деп 100% кепилдик бербейт.
Анын ордуна, биз текшерүү үчүн бир жол керек.
Мен кириш үзүндүбүздүн чокусуна үч сап коштум, бул биздин $ wumpus, $ player жана $ roomlist өзгөрмөлөрүнүн маанилерин көрүүгө мүмкүнчүлүк берет. Биздин кодду кантип орнотконубуздан улам, $ wumpus бөлмөсү менен $ player бөлмөсүн $ roomlist тизмесинен алып салуу керек экенин билебиз.
Биз бул кодду иштеткенде, биз андай экенине ынануу үчүн текшере алабыз.
8 -кадам: Sugarcube жана объекттер менен кызыктар
Sugarcube объекттери бир аз кызыктай. Муну көрсөтүүгө уруксат этиңиз.
Мен бул долбоорду баштап жатканда мен бөлмөлөрдү өчүрө баштоодон мурун $ roomlist'имди $ saveroom өзгөрмөсүнө сактап койгум келди. Бул кийинчерээк пайдалуу болот деп ойлогом.
Бул коддон кандайдыр бир кызыктай жүрүм -турум болгондо, мен $ saveroom өзгөрмөмдү кароого уруксат берүү үчүн кириш баракчама дагы бир сапты коштум (экинчи сүрөт).
$ Roomlistтен өчүргөн элементтерим да сакталган тизмемден өчүрүлгөнүн көрүп таң калдым! Муну үчүнчү сүрөттө иш жүзүндө көрө аласыз.
Себеби, сиз мындай массивди көчүргөнүңүздө, сиз чындыгында Twineге массивди көчүрүүнү айтпайсыз, Twineге бул эки өзгөрмөнүн бир эле массив экенин айтып жатасыз. Бир массивге бир өзгөрмөнү колдонуп, ал башка өзгөрмө карап жаткан массивди өзгөртөт!
Биз муну clone () функциясы менен оңдой алабыз.
9 -кадам: Clone () функциясы
Сиз clone () функциясы жөнүндө Sugarcube документтер бетинен окуй аласыз.
"Тайыз" көчүрмө - биз мурда кылып жүргөн нерсе. Бүт массивдин толук көчүрмөсүн жасоонун ордуна, ал сиздин өзгөрмөнүн ошол эле массив менен иштеп жатканын болжойт. Тайыз көчүрмөнүн ордуна clone () сиз күткөндөй иштеген "терең" көчүрмөсүн жасайт. Массивдин ар бир элементи жаңы массивге көчүрүлөт жана түпнускадан таптакыр бөлөк.
Эгерде биз бул жаңы кодду текшере турган болсок, ал күтүлгөндөй иштейт.
Албетте, сиз $ roomlistди сактайсызбы же жокпу, маанилүү эмес. Менин долбоорумдун максаттары үчүн, мен барбайм. Мунун баары терең vs. тайыз нускаларды көрсөтүү үчүн болгон.
10 -кадам: Бул азырынча
Биз оюнчубузду туш келди бөлмөдөн баштоого мүмкүндүк берген кодду коштук. Мындан тышкары, биз оюнчу Wumpus менен бир бөлмөдө баштала турган катаны жойдук.
Биз өзгөрмөлөрдөн шилтемелерди кантип түзүү керектигин жана массивди көчүрүү Sugarcube тарабынан кандайча иштээрин билдик.
Иштер тездеп баратат, бирок биз жаңыдан баштайбыз!
Бактылуу аңчылык!
Сунушталууда:
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)
Микроцентрифуга Ачык булактан алынган биомедициналык аппарат: 11 кадам
Микроцентрифуга Ачык булактан алынган биомедициналык түзмөк: Бул коомчулуктун колдоосу жана андан аркы изилдөө жана нускоо менен жаңыртылып турган долбоор. Бул долбоордун максаты-булагы ачык, модулдук лабораториялык жабдууларды түзүү, аларды ташуу оңой жана арзан булактардан бир бөлүккө чейин курулган
Wifi көзөмөлгө алынган 12v Led Strip Raspberry Pi менен Tasker, Ifttt Integration .: 15 кадам (сүрөттөр менен)
Wifi көзөмөлү 12V Led Strip менен Raspberry Pi Tasker, Ifttt Integration менен .: Бул проектте мен сизге малина pi аркылуу wifi аркылуу жөнөкөй 12v аналогдук лентаны кантип башкарууну көрсөтөм. Бул долбоор үчүн сизге керек болот: 1x Raspberry Pi (I Мен Raspberry Pi 1 Model B+) 1x RGB 12v Le колдонуп жатам
CDдеги сатып алынган китептерден IPod үчүн аудиокитептер: 7 кадам
CDдеги сатып алынган китептерден IPod үчүн аудиокитептер: Бул көрсөтмө биздин iPod аркылуу алдын ала сатып алынган медиага толук жетүүнү каалагандар үчүн. Менин оюмча, бул система iTunes аркылуу иштей турган башка портативдүү түзмөктөр үчүн иштеши мүмкүн, бирок мен толук ишенбейм
Калемден алынган мультиметр зонду: 5 кадам
Калемден алынган мультиметр зонду: Менин мультиметр зондум өлүп, эски калемден жаңысын жасадым. Мына мен муну кантип жасадым