Mundarija:
- 1 -qadam: O'yinchini yarating
- 2 -qadam: Yangi xona kodi
- 3 -qadam: O'zgaruvchidan havola yaratish
- 4 -qadam: Sinov
- 5 -qadam: Xonalar ro'yxatini qo'shing
- 6 -qadam: Xonalarni yo'q qilish
- 7 -qadam: sinov
- 8 -qadam: Sugarcube va ob'ektlar bilan g'alati narsalar
- 9 -qadam: Clone () funktsiyasi
- 10 -qadam: Bu hozircha
Video: Shakar bilan kubdagi o'zgaruvchilardan havolalar: 10 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Menga yana qo'shilganingizdan juda xursandman! Bu shuni anglatadiki, Wumpus sizni hali yemagan. Yaxshi!
Sizlarga tanish bo'lmaganlar uchun bu mening ajoyib loyihamda o'zimning yoqimtoy va g'ayrioddiy amakivachchamga yordam berish uchun tayyorlagan darsliklar to'plami. Bu o'quv qo'llanmalari Twine va Sugarcube -ning ba'zi dasturiy xususiyatlari bilan nima qilish mumkinligi haqida ma'lumot beradi. Agar siz kuzatishni xohlasangiz, bu erda birinchi darslikni topishingiz mumkin.
Oxirgi darsda men o'yinchi o'rganishi mumkin bo'lgan kichik xonalar majmuasini qurdim. Men Wumpus ob'ektini qo'shdim va har bir xonada ko'rsatiladigan narsalarni Wumpus qaerda bo'lishiga qarab o'zgartirish uchun umumiy xona kodini yaratdim.
1 -qadam: O'yinchini yarating
Bu qadam juda oddiy. Aslida men $ wumpus bilan bir xil kodni ishlataman, lekin uning o'rniga $ player o'zgaruvchisi.
2 -qadam: Yangi xona kodi
Xonaning umumiy kodini o'zgartirdingiz, shuning uchun $ player qiymati hozirgi xona. Keyin $ wumpus -ni hozirgi xonaning o'rniga $ player bilan solishtiring.
Bu kichik o'zgarish va umuman kerak emas, lekin men o'z kodimni tartibga solishni yaxshi ko'raman.
3 -qadam: O'zgaruvchidan havola yaratish
Nihoyat, mening boshlang'ich xonamdagi havolani $ player qiymatiga qarab o'zgarishi kerak. Buni Sugarcube -dagi "" funktsiyasi yordamida amalga oshirish mumkin. Siz bu haqda Sugarcube -ning hujjatlar sahifasida o'qishingiz mumkin.
Bizning buyruqdan keyingi birinchi satr - bu bizning parchamizda paydo bo'ladigan ibora. Ikkinchisi, biz bog'lamoqchi bo'lgan parchaning nomi. Men "Wumpusni ovlang!" Mening iboram sifatida, lekin agar biz o'yinchi qayerga ketayotganini oldindan bilishini istasak, biz u erda o'z o'zgaruvchimizdan foydalanishimiz mumkin:
4 -qadam: Sinov
Kodni sinab ko'rganingizda, sizning havolangiz ilgari yozgan har qanday ibora bilan almashtirilganligini ko'rishingiz kerak. Uni bosish sizni o'yinning tasodifiy xonasiga olib boradi.
Afsuski, bu sizni to'g'ridan -to'g'ri Wumpus xonasiga olib borishi mumkin! Bu hozir juda muhim emas, lekin haqiqiy o'yinda bu bir zumda tugaydi. Biz buni tuzatishimiz kerak.
5 -qadam: Xonalar ro'yxatini qo'shing
Birinchidan, biz xonalarni boshqarishni osonlashtirish uchun xona ro'yxatini tuzamiz. Bu qatorni e'lon qilib, biz $ player va $ wumpus qiymatlarini kodni takrorlamasdan o'rnatishimiz mumkin. Uning yana bir afzalligi bor, biz bundan keyin o'rganamiz.
Ushbu kod bilan test qilish, avvalgidek bo'lishi kerak.
6 -qadam: Xonalarni yo'q qilish
Kodga bitta kod qatorini avvaldan qo'shib qo'ydim (ajratilgan).
Sugarcube-dagi massivlar elementlardan nom bilan o'chirish imkonini beruvchi o'rnatilgan funktsiyaga ega. Bu holda, biz $ wumpus xonasini tayinlaganimizdan so'ng, biz bu xonani $ xona ro'yxatidan o'chirib tashlashimiz mumkin. Biroq, bu funktsiya murakkab. Funktsiyaning chiqishi qandaydir tarzda tayinlanmasa yoki ishlatilmasa, u ishlamaydi. Bunga g'amxo'rlik qilish uchun men _temp vaqtinchalik o'zgaruvchisini yaratdim.
Sugarcube -da vaqtinchalik o'zgaruvchilar dollar ($) o'rniga pastki chiziqdan (_) boshlanadi. Ular foydalidir, chunki ular parcha ishga tushirilgandan so'ng o'chiriladi, shuning uchun siz o'zgarmaydigan nomlarning bir -biriga o'xshashligi haqida qayg'urmasligingiz kerak.
Men $ playerlistni $ roomlistdan ham o'chirib tashlayman.
7 -qadam: sinov
Biz kodni hozirgidek ishlatishimiz mumkin bo'lsa -da, bu juda puxta sinov bo'lmaydi. Agar biz kodni ishga tushirsak va $ player va $ wumpus har xil xonalarga tayinlanganligini aniqlasak, bu kod ishlaydimi yoki tasodifmi, bilmaymiz. Albatta, biz kodni ko'p marotaba ishga tushirishimiz mumkin va agar u hech qachon ikkalasiga ham hech qachon bir xil xonani bermasa, lekin bu abadiy davom etadi va bu hech qachon bo'lmaydi, degan 100% kafolat emas.
Buning o'rniga, tekshirish usulini topishimiz kerak.
Men kirish qismining yuqori qismiga uchta satr qo'shdim, bu bizga $ wumpus, $ player va $ roomlist o'zgaruvchilarining qiymatlarini ko'rish imkonini beradi. Bizning kodni sozlash usuli tufayli biz $ wumpus xonasi va $ player xonasini $ roomlistdan olib tashlash kerakligini bilamiz.
Biz ushbu kodni ishga tushirganimizda, biz uning to'g'riligiga ishonch hosil qilishimiz mumkin.
8 -qadam: Sugarcube va ob'ektlar bilan g'alati narsalar
Sugarcube ob'ektlari biroz g'alati. Buni ko'rsatishga ijozat bering.
Men dastlab bu loyihani qurayotganimda, xonalarni o'chirishni boshlashdan oldin, $ roomlist -ni $ saveroom o'zgaruvchisiga saqlamoqchi edim. Men bu keyinchalik foydali bo'ladi deb o'yladim.
Men bu koddan g'alati xatti -harakatlarga duch kelganimda, $ saveroom o'zgaruvchisiga qarashim uchun kirish sahifamga boshqa qator qo'shdim (ikkinchi rasm).
Men $ roomlistdan o'chirib tashlagan elementlar ham saqlangan ro'yxatimdan o'chirilganini ko'rib hayron bo'ldim! Buni uchinchi rasmda amalda ko'rishingiz mumkin.
Buning sababi shundaki, siz bunday qatorni nusxalashda, siz aslida Twine -ga qatorni nusxalashni aytmaysiz, siz Twine -ga bu ikkita o'zgaruvchining bir xil qator ekanligini aytasiz. Agar siz bitta o'zgaruvchidan foydalanib, massivga biror narsa qilsangiz, u boshqa o'zgaruvchi ko'rib turgan qatorni o'zgartiradi!
Buni clone () funktsiyasi yordamida tuzatishimiz mumkin.
9 -qadam: Clone () funktsiyasi
Clone () funktsiyasi haqida Sugarcube hujjatlar sahifasida o'qishingiz mumkin.
"Sayoz" nusxa - bu biz oldin qilgan ishimiz. Butun qatorning to'liq nusxasini olishning o'rniga, u sizning o'zgaruvchingiz bir xil qator bilan ishlayotganini taxmin qiladi. Sayoz nusxaning o'rniga, clone () "chuqur" nusxasini oladi, u siz kutgandek harakat qiladi. Massivning har bir elementi yangi massivga ko'chiriladi va asl nusxadan butunlay ajralib turadi.
Agar biz ushbu yangi kodni sinab ko'rsak, u kutilganidek ishlaydi.
Albatta, siz $ roomlistni saqlaysizmi yoki yo'qmi, muhim emas. Loyihamning maqsadlari uchun men bormayman. Bularning barchasi chuqur va sayoz nusxalarni ko'rsatish uchun qilingan.
10 -qadam: Bu hozircha
Biz o'yinchi tasodifiy xonadan boshlashiga ruxsat beruvchi kod qo'shdik. Bunga qo'shimcha ravishda, biz o'yinchi Wumpus bilan bir xonada boshlanadigan xatoni bartaraf qildik.
Biz o'zgaruvchilardan havolalar yaratish va Sugarcube tomonidan massivlardan nusxa ko'chirish usullari haqida bilib oldik.
Ishlar tezlashmoqda, lekin biz endigina boshlayapmiz!
Baxtli ov!
Tavsiya:
Qattiq shakar bilan haykaltaroshlik tajribalari: 9 qadam (rasmlar bilan)
Qattiq shakar bilan haykaltaroshlik tajribalari: u quyma, egiluvchan va shaffof. Vaqt o'tishi bilan o'zgarib turadi, uni issiqlik, suv yoki bosim bilan eroziya qilish mumkin. U tortishish kuchiga javoban asta -sekin shaklini o'zgartiradigan shakllarga bo'linadi, u har qanday rangni oladi va turli xil to'qimalarga ega bo'ladi
Led kubdagi 3D Tic-Tac-Toe: 11 qadam
Led Cube-dagi 3D Tic-Tac-Toe: Siz hech qachon uyda 3 o'lchovli Tic Tac Toe o'ynashni xohlaganmisiz? Agar javob ha bo'lsa, bu ko'rsatma sizga uni yaratish uchun barcha kerakli ma'lumotlarni beradi. 3x3x3 o'lchamli LED kub. Har bir nuqta bitta rangli LED, har bir LE
Shakar tarqatuvchi: 7 qadam (rasmlar bilan)
Shakar tarqatuvchi: XULOSA: Umuman olganda, biz shakar paketlarini ishlatamiz, shunda shakar isrof qilinadi va shakar paketining chiqindilari bo'lmaydi. biz paketlarni yirtib tashlash uchun ikki qo'limiz bilan ishlaymiz, bu juda band odam uchun juda qiyin, biz kiritayotgan muammoni kamaytirish uchun “
Shakar yordamida PDA / uyali telefoningizdan logotiplarni qanday olib tashlash mumkin: 4 qadam (rasmlar bilan)
Shakar yordamida PDA / uyali telefoningizdan logotiplarni qanday olib tashlash mumkin: Agar siz telefoningizni ozgina xavf ostiga qo'yishingizga ishonchingiz komil bo'lmasa, buni sinab ko'rmang … men telefonlarni ta'mirlay olmayman … Eslatma: Bu plastik qopqoq bilan ishlamaydi! Shakar iz qoldiradi
Precision Wire Stripper - Yangi video havolalar: 3 qadam
Precision Wire Stripper - Yangi video havolalar: Bic qalam, tornavida va ustara pichog'idan qo'lda aylanadigan simli striptizchi. Men yaqinda 30AWG teflon simli g'altakni sotib oldim. Men prototiplash juda yaxshi bo'ladi deb o'yladim, chunki issiq lehimli temir izolyatsiyani eritmaydi. Xo'sh, unday emas