Агуулгын хүснэгт:

Sugarcube бүхий twine дахь хувьсагчдын линк: 10 алхам
Sugarcube бүхий twine дахь хувьсагчдын линк: 10 алхам

Видео: Sugarcube бүхий twine дахь хувьсагчдын линк: 10 алхам

Видео: Sugarcube бүхий twine дахь хувьсагчдын линк: 10 алхам
Видео: Рецепт свежей измирской фасоли с оливковым маслом / Как приготовить свежую измирскую фасоль? 2024, Арваннэгдүгээр
Anonim
Sugarcube бүхий twine дахь хувьсагчдын линкүүд
Sugarcube бүхий twine дахь хувьсагчдын линкүүд

Та надтай дахин нэгдэж байгаадаа маш их баяртай байна! Энэ нь Вумпус чамайг хараахан идээгүй байгаа гэсэн үг юм. Сайн байна!

Танил бус хүмүүст зориулан энэ бол миний өхөөрдөм царайлаг авга ахынхаа ахлах төсөлд туслах зорилгоор хийж буй хичээлүүд юм. Эдгээр заавар нь Twine болон Sugarcube програмчлалын зарим онцлог шинж чанаруудын тусламжтайгаар юу хийж болох талаар лавлах болно. Хэрэв та дагахыг хүсч байвал эхний хичээлийг эндээс олж болно.

Сүүлийн хичээл дээр би тоглогчийн судлах боломжтой жижигхэн өрөөнүүдийг барьсан. Би Wumpus объект нэмж Wumpus хаана байгаагаас шалтгаалан өрөө тус бүрт харуулсан зүйлийг өөрчлөхийн тулд өрөөний ерөнхий кодыг хийсэн.

Алхам 1: Тоглогчоо үүсгээрэй

Тоглогчийг бий болгох
Тоглогчийг бий болгох

Энэ алхам нь маш энгийн. Үндсэндээ би $ wumpus -тойгоо ижил кодыг ашиглаж байна, гэхдээ оронд нь $ player хувьсагч байна.

Алхам 2: Өрөөний шинэ код

Өрөөний шинэ код
Өрөөний шинэ код

Өрөөнийхөө ерөнхий кодыг өөрчилсөн тул $ player -ийн утга нь одоогийн өрөө юм. Дараа нь $ wumpus -ийг одоогийн өрөөний оронд $ player -тэй харьцуулаарай.

Энэ бол өчүүхэн өөрчлөлт бөгөөд огт шаардлагагүй, гэхдээ би кодыг эмх цэгцтэй байлгах дуртай.

Алхам 3: Хувьсагчийн холбоос үүсгэх

Хувьсагчнаас линк үүсгэх
Хувьсагчнаас линк үүсгэх

Эцэст нь, миний тоглож буй өрөөний линкийг $ player -ийн үнээс хамаарч өөрчилдөг линкээр солихыг хүсч байна. Үүнийг Sugarcube дахь "" функцээр хийж болно. Та энэ талаар илүү ихийг Sugarcube -ийн баримт бичгийн хуудаснаас уншиж болно.

Бидний тушаалын дараах эхний мөр бол бидний ишлэлд гарч ирэх хэллэг юм. Хоёр дахь нь бидний холбохыг хүсч буй хэсгийн нэр юм. Би "Wumpus Hunt!" Ашиглаж байна. Миний хэллэгээр бол тоглогчид хаашаа явж байгаагаа урьдчилан мэдэхийг хүсч байвал бид хувьсагчаа тэнд ашиглаж болно.

Алхам 4: Туршилт

Туршилт
Туршилт
Туршилт
Туршилт

Та кодоо туршиж үзэхдээ таны линкийг өмнө нь бичсэн өгүүлбэрээр сольсон болохыг олж мэдэх хэрэгтэй. Үүнийг дарахад тоглоомынхоо санамсаргүй өрөөнд орно.

Харамсалтай нь энэ нь таныг шууд Вумпусын өрөөнд хүргэж өгөх болно! Энэ нь одоогоор тийм ч чухал биш, гэхдээ жинхэнэ тоглоом дээр энэ нь хурдан дуусах болно. Үүнийг бид засах ёстой.

Алхам 5: Өрөөний жагсаалт нэмэх

Өрөөний жагсаалт нэмэх
Өрөөний жагсаалт нэмэх

Нэгдүгээрт, бид өрөөг удирдах ажлыг хөнгөвчлөхийн тулд өрөөнүүдийн жагсаалтыг гаргах болно. Энэ массивыг зарласнаар бид үүнийг ашиглан $ player болон $ wumpus утгуудаа кодоо давтахгүйгээр тохируулж болно. Энэ нь бас нэг давуу талтай бөгөөд бид дараа нь судлах болно.

Энэ кодоор тест хийх нь өмнөх шигээ ажиллах ёстой.

Алхам 6: Өрөөнүүдийг устгах

Өрөөнүүдийг устгах
Өрөөнүүдийг устгах

Би кодын өмнөх кодын нэг мөрийг нэмж оруулсан (тодруулсан).

Sugarcube дахь массивууд нь элементүүдийг нэрээр нь устгах боломжийг олгодог суулгагдсан функцтэй. Энэ тохиолдолд бид $ wumpus өрөө оноож өгсний дараа бид $ roomlist -ээсээ энэ өрөөг устгах боломжтой. Гэсэн хэдий ч энэ функц нь төвөгтэй юм. Функцийн гаралтыг ямар нэгэн байдлаар оноож, ашиглахгүй бол энэ нь ажиллахгүй болно. Үүнийг анхаарч үзэхийн тулд би _temp түр зуурын хувьсагч үүсгэсэн.

Sugarcube -д түр зуурын хувьсагчид доллар ($) биш харин доогуур зураас (_) -аар эхэлдэг. Эдгээр хэсгийг ашиглах үед тэдгээр нь устдаг тул хувьсагчийн нэр давхцах талаар санаа зовох хэрэггүй болно.

Би $ тоглогчийн өрөөг бас $ roomlist -ээс устгаж байгаа нь мэдээжийн хэрэг.

Алхам 7: Туршилт

Туршилт
Туршилт
Туршилт
Туршилт

Хэдийгээр бид кодыг одоогийнх шиг ажиллуулж болох боловч энэ нь тийм ч нарийн шалгалт биш байх болно. Хэрэв бид кодыг ажиллуулаад $ player болон $ wumpus -ийг өөр өөр өрөөнд хуваарилсан болохыг олж мэдвэл энэ нь код ажилладаг учраас үү, эсвэл энэ бол зүгээр л тохиолдлын хэрэг үү гэдгийг бид мэдэхгүй. Мэдээжийн хэрэг, бид кодыг олон удаа ажиллуулж болох бөгөөд хэрэв энэ нь хоёуланд нь хэзээ ч өгөхгүй нэг өрөөнд өгөхгүй бол энэ нь үүрд үргэлжлэх болно, гэхдээ энэ нь хэзээ ч болохгүй гэсэн 100% баталгаа биш юм.

Үүний оронд бидэнд шалгах арга хэрэгтэй байна.

Би танилцуулгын хэсгийн дээд хэсэгт $ wumpus, $ player, $ roomlist -ийн хувьсагчдын утгыг харах боломжтой гурван мөр нэмсэн. Бид кодоо хэрхэн тохируулж байгаагаас шалтгаалан $ wumpus өрөө болон $ тоглогчийн өрөөг $ roomlist -ээс хасах ёстой гэдгийг мэддэг.

Бид энэ кодыг ажиллуулахдаа ийм зүйл байгаа эсэхийг шалгах боломжтой.

Алхам 8: Sugarcube ба объектуудын өвөрмөц байдал

Sugarcube ба объектуудын өвөрмөц байдал
Sugarcube ба объектуудын өвөрмөц байдал
Sugarcube ба объектуудын өвөрмөц байдал
Sugarcube ба объектуудын өвөрмөц байдал
Sugarcube ба объектуудын өвөрмөц байдал
Sugarcube ба объектуудын өвөрмөц байдал

Sugarcube объектууд нь жаахан хачин юм. Үүнийг харуулъя.

Би энэ төслийг анх барьж байхдаа би өрөөнүүдээ устгаж эхлэхээсээ өмнө $ roomlist -ийг $ saveroom хувьсагч руу хадгалахыг хүссэн юм. Энэ нь дараа нь хэрэг болно гэж би бодсон.

Би энэ кодоос ямар нэгэн хачин зан авир авсны дараа би $ saveroom хувьсагчаа харах боломжийг олгохын тулд танилцуулга хуудсандаа өөр нэг мөр нэмж оруулав (хоёр дахь зураг).

Миний $ roomlist -ээс устгасан элементүүдийг миний хадгалсан жагсаалтаас устгасан болохыг хараад би үнэхээр гайхсан! Та үүнийг гурав дахь зурган дээрх үйлдлээс харж болно.

Учир нь та ийм массивыг хуулбарлахдаа Twine -д массивыг хуулна гэж хэлээгүй, харин энэ хоёр хувьсагч ижил массив байна гэж Twine -д хэлж байгаа юм. Та нэг хувьсагчийг ашиглан массивт ямар нэгэн зүйл хийх үед энэ нь нөгөө хувьсагчийн харж буй массивыг өөрчилдөг!

Бид үүнийг clone () функцийн тусламжтайгаар засах боломжтой.

Алхам 9: Clone () функц

Clone () функц
Clone () функц
Clone () функц
Clone () функц

Та Sugarcube баримт бичгийн хуудаснаас clone () функцын талаар уншиж болно.

"Гүехэн" хуулбар бол бидний өмнө нь хийж байсан зүйл юм. Бүх массивыг бүрэн хуулбарлахын оронд энэ нь таны хувьсагч ижил массивтай ажиллаж байгаа гэж үзнэ. Гүехэн хуулбарын оронд clone () нь "гүнзгий" хуулбарыг хийдэг бөгөөд энэ нь таны бодож байгаа шиг ажилладаг. Массивын элемент бүрийг шинэ массив руу хуулдаг бөгөөд эх хувилбараасаа тусдаа байдаг.

Хэрэв бид энэ шинэ кодыг туршиж үзвэл энэ нь хүлээгдэж буй байдлаар ажиллах болно.

Мэдээжийн хэрэг, та $ roomlist хөтлөх эсэх нь хамаагүй. Миний төслийн зорилгын үүднээс би тэгэхгүй. Энэ бүхэн нь гүехэн, гүехэн хуулбарыг харуулахын тулд хийгдсэн юм.

Алхам 10: Энэ бол одоохондоо

Энэ бол одоохондоо!
Энэ бол одоохондоо!

Манай тоглогчийг санамсаргүй өрөөнд эхлүүлэх боломжийг олгодог код нэмсэн. Нэмж дурдахад бид тоглогч Вумпусын нэг өрөөнд эхлэх алдааг арилгасан.

Хувьсагчдаас хэрхэн холбоос үүсгэх, массив хуулбарлах ажлыг Sugarcube хэрхэн хийдэг талаар бид олж мэдсэн.

Бүх зүйл хурдацтай хөгжиж байна, гэхдээ бид дөнгөж эхэлж байна!

Аз жаргалтай ан!

Зөвлөмж болгож буй: