Satura rādītājs:
- 1. darbība: izveidojiet atskaņotāju
- 2. darbība. Jauns telpas kods
- 3. darbība. Saites izveide no mainīgā
- 4. solis: pārbaudiet
- 5. darbība: pievienojiet istabu sarakstu
- 6. darbība: telpu likvidēšana
- 7. darbība: pārbaude
- 8. darbība: dīvainības ar cukura kubu un priekšmetiem
- 9. darbība. Funkcija Klons ()
- 10. solis: pagaidām tas ir viss
Video: Saites no mainīgajiem auklām ar cukura kubu: 10 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
Es ļoti priecājos, ka atkal pievienojāties man! Tas nozīmē, ka Wumpus vēl nav tevi apēdis. Labi!
Tiem no jums, kuri nav pazīstami, šis ir pamācību komplekts, ko es daru, lai palīdzētu manam burvīgajam oochy-skootchy widdle brālēnam ar savu vecāko projektu. Šīs apmācības ir domātas kā atsauce tam, ko varat darīt ar dažām auklas un Sugarcube programmēšanas funkcijām. Ja vēlaties sekot līdzi, pirmo pamācību varat atrast šeit.
Pēdējā apmācībā es uzbūvēju nelielu istabu komplektu, ko spēlētājs var izpētīt. Es pievienoju Wumpus objektu un izveidoju vispārēju telpas kodu, lai mainītu katrā telpā redzamo atkarībā no tā, kur atrodas Wumpus.
1. darbība: izveidojiet atskaņotāju
Šis solis ir ļoti vienkāršs. Būtībā es vienkārši izmantoju to pašu kodu, ko izmantoju savā $ wumpus, bet tā vietā izmantoju $ player mainīgo.
2. darbība. Jauns telpas kods
Mainīts jūsu vispārējais istabas kods, lai $ player vērtība būtu pašreizējā istaba. Pēc tam salīdziniet $ wumpus ar $ player, nevis pašreizējo istabu.
Šīs ir nelielas izmaiņas un nav pilnīgi nepieciešamas, taču man patīk saglabāt savu kodu sakārtotu.
3. darbība. Saites izveide no mainīgā
Visbeidzot, es vēlos aizstāt saiti savā sākuma telpā uz saiti, kas mainās, pamatojoties uz $ player vērtību. To var izdarīt, izmantojot funkciju "" Sugarcube. Vairāk par to varat izlasīt Sugarcube dokumentācijas lapā.
Pirmā virkne pēc mūsu komandas ir frāze, kas parādīsies mūsu fragmentā. Otrais ir tā fragmenta nosaukums, uz kuru vēlamies saistīt. Es izmantoju "Medīt Wumpus!" kā mana frāze, bet mēs varētu izmantot savu mainīgo tur, ja vēlamies, lai spēlētājs iepriekš zinātu, kurp dodas, piemēram:
4. solis: pārbaudiet
Pārbaudot kodu, jums vajadzētu atklāt, ka jūsu saite ir aizstāta ar jebkuru iepriekš rakstīto frāzi. Noklikšķinot uz tā, jūs nokļūsit nejaušā spēles telpā.
Diemžēl tas var arī aizvest jūs tieši uz Wumpus istabu! Šobrīd tam nav lielas nozīmes, bet reālā spēlē, kas būtu tūlītēja spēle. Mums tas ir jālabo.
5. darbība: pievienojiet istabu sarakstu
Pirmkārt, mēs izveidosim telpu sarakstu, lai atvieglotu telpu pārvaldību. Deklarējot šo masīvu, mēs varam to izmantot, lai iestatītu mūsu $ player un $ wumpus vērtības, neatkārtojot kodu. Tam ir arī cita priekšrocība, kuru mēs izpētīsim tālāk.
Testēšanai ar šo kodu vajadzētu rīkoties tāpat kā iepriekš.
6. darbība: telpu likvidēšana
Iepriekš pievienotajam kodam esmu pievienojis vienu koda rindu (iezīmēts).
Sugarcube masīviem ir iebūvēta funkcija, kas ļauj izdzēst no tiem elementus pēc nosaukuma. Šajā gadījumā, tiklīdz mēs piešķiram $ wumpus istabu, mēs varam izdzēst šo istabu no mūsu $ roomlist. Tomēr šī funkcija ir smalka. Tas nedarbosies, ja vien funkcijas izvade netiks piešķirta vai izmantota kādā veidā. Lai par to parūpētos, esmu izveidojis pagaidu mainīgo _temp.
Cukura kubā pagaidu mainīgie sākas ar pasvītrojumu (_), nevis dolāru (USD). Tie ir noderīgi, jo tiek izdzēsti, kad fragments ir izpildīts, tāpēc jums nav jāuztraucas par mainīgo nosaukumu pārklāšanos.
Es arī izdzēsu $ spēlētāju istabu no $ roomlist, gluži kā pašsaprotami.
7. darbība: pārbaude
Lai gan mēs varētu palaist kodu tādu, kāds tas ir tagad, tas nebūtu ļoti rūpīgs tests. Ja mēs izpildām kodu un konstatējam, ka $ player un $ wumpus ir piešķirti dažādām telpām, mēs nezinām, vai tas ir tāpēc, ka kods darbojas, vai arī tā ir tikai nejaušība. Protams, mēs varētu palaist kodu daudzas reizes un pieņemt, ka, ja tas viņiem abiem nekad nepiešķir vienu istabu, tas nekad nenotiks, bet tas prasīs mūžīgi, un tā joprojām nav 100% garantija, ka tas nekad nevar notikt.
Tā vietā mums ir nepieciešams veids, kā pārbaudīt.
Mūsu ievada fragmenta augšpusē esmu pievienojis trīs rindas, kas ļaus mums redzēt mūsu $ wumpus, $ player un $ roomlist mainīgo vērtības. Tā kā mēs izveidojām savu kodu, mēs zinām, ka $ wumpus istaba un $ player istaba ir jāizslēdz no $ roomlist.
Palaižot šo kodu, mēs varam pārbaudīt, vai tas tā ir.
8. darbība: dīvainības ar cukura kubu un priekšmetiem
Cukura kuba objekti ir nedaudz dīvaini. Ļaujiet man to parādīt.
Kamēr es sākotnēji veidoju šo projektu, es vēlējos saglabāt savu $ istabu sarakstu mainīgajā $ saveroom, pirms sāku no tā dzēst telpas. Es domāju, ka tas vēlāk noderēs.
Kad es saņēmu kādu dīvainu uzvedību no šī koda, es savai ievadlapai pievienoju vēl vienu rindiņu, lai es varētu apskatīt savu $ saveroom mainīgo (otrais attēls).
Es biju šokēts, atklājot, ka elementi, kurus es biju izdzēsis no $ roomlist, tika izdzēsti arī no mana saglabātā saraksta! To var redzēt darbībā trešajā attēlā.
Tas ir tāpēc, ka, kopējot šādu masīvu, jūs faktiski neliekat auklai kopēt masīvu, jūs sakāt auklai, ka šie divi mainīgie ir viens un tas pats masīvs. Kad jūs kaut ko darāt masīvam, izmantojot vienu mainīgo, tas maina to pašu masīvu, uz kuru skatās otrs mainīgais!
Mēs to varam novērst, izmantojot funkciju clone ().
9. darbība. Funkcija Klons ()
Par funkciju clone () varat lasīt Sugarcube dokumentācijas lapā.
"Sekla" kopija ir tas, ko mēs darījām iepriekš. Tā vietā, lai izveidotu pilnu visa masīva kopiju, tiek pieņemts, ka jūsu mainīgais darbojas ar to pašu masīvu. Seklas kopijas vietā klons () veic “dziļu” kopiju, kas darbojas tā, kā jūs varētu gaidīt. Katrs masīva elements tiek pārkopēts jaunā masīvā un ir pilnībā atdalīts no oriģināla.
Ja mēs pārbaudām šo jauno kodu, mēs atklājam, ka tas darbojas, kā paredzēts.
Protams, nav svarīgi, vai saglabāt $ roomlist vai nē. Mana projekta nolūkos es to nedarīšu. Tas viss bija tikai, lai demonstrētu dziļas un seklas kopijas.
10. solis: pagaidām tas ir viss
Mēs esam pievienojuši kodu, kas ļauj mūsu spēlētājam sākt nejaušā telpā. Papildus tam mēs esam novērsuši kļūdu, kurā spēlētājs sāktu tajā pašā telpā kā Wumpus.
Mēs uzzinājām, kā izveidot saites no mainīgajiem un kā masīva kopēšanu apstrādā Sugarcube.
Lietas pieaug, bet mēs tikai sākam!
Priecīgas medības!
Ieteicams:
Kā modificēt servo, lai saņemtu atgriezeniskās saites atsauksmes: 7 soļi
Kā modificēt servo, lai iegūtu slēgtas cilpas atsauksmes: ► Braucot ar servo ar mikrokontrolleri (kā Arduino), jūs varat viņam norādīt tikai mērķa atrašanās vietu (PPM signālā). Ar šo rīkojumu servo pārvietosies uz šo mērķi atrašanās vietu. Bet tas nav acumirklī! Jūs precīzi nezināt, kad
Augsnes mitruma atgriezeniskās saites kontrolētā interneta pilienu apūdeņošanas sistēma (ESP32 un Blynk): 5 soļi
Augsnes mitruma atgriezeniskās saites kontrolētā interneta pilienu apūdeņošanas sistēma (ESP32 un Blynk): dodoties garās brīvdienās, uztraucieties par savu dārzu vai augiem, vai arī aizmirstiet laistīt savu augu katru dienu. Lūk, risinājums - tā ir augsnes mitruma kontrolēta un globāli savienota pilienveida apūdeņošanas sistēma, ko kontrolē ESP32 programmatūras priekšpusē
Vispārīgas telpas auklā ar cukura kubu: 11 soļi
Vispārējās telpas auklās ar cukura kubu: Sveiki, sveicināti un laipni lūdzam manā apmācībā par Wumpus medību veidošanu auklā ar Sugarcube! Aukla ir ļoti vienkāršs rīks, kas paredzēts teksta piedzīvojumu spēļu veidošanai! Mana mīļākā mazā māsīca ir izvēlējusies izveidot spēli ar auklu savam vecākajam projektam
Cukura dozators: 7 soļi (ar attēliem)
Cukura izsmidzinātājs: KOPSAVILKUMS: Parasti mēs izmantojam cukura paciņas, lai cukura izšķiešana un cukura paciņu atkritumu nerastos. mēs izmantojam divas rokas, lai saplēstu paketes, ko ir ļoti grūti izdarīt ļoti aizņemtiem cilvēkiem, lai samazinātu šo problēmu, ko mēs ieviešam “
Kā pārbaudīt cukura līmeni asinīs: 10 soļi (ar attēliem)
Kā pārbaudīt cukura līmeni asinīs: cukura līmeņa kontrole asinīs ir ļoti svarīga tiem, kas cieš no diabēta. Ir svarīgi zināt, kā pareizi kontrolēt šos līmeņus. Lai rezultāti būtu precīzi, ir jāveic vairākas darbības