İçindekiler:
- Adım 1: Kısalık uğruna…
- Adım 2: Fikir
- 3. Adım: Bazı Odalar Oluşturun
- 4. Adım: Bir Wumpus ekleyin
- Adım 5: Bir Wumpus olup olmadığını kontrol edin
- Adım 6: Test Et
- 7. Adım: Genel Oda Kodu Ekleme
- Adım 8: Test Et
- Adım 9: Neden Boş Hatlar Var?
- Adım 10: Test Et
- Adım 11: Şimdilik Bu Kadar
Video: Sicimli Şeker Küplü Genel Odalar: 11 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Merhaba merhaba ve Sugarcube ile Twine'da Wumpus Hunt oluşturma konusundaki eğitimime hoş geldiniz!
Twine, metin macera oyunları oluşturmak için tasarlanmış çok basit bir araçtır! En sevdiğim küçük kuzenim, kıdemli projesi için Twine ile bir oyun yapmayı seçti ve ben de yardım edeceğim, bu yüzden bu eğitim serisini oluşturuyorum!
Bu seri, bir projenin kendisi olmaktan çok, sicimli oyun tasarımı için bir referans olarak tasarlanmıştır. Twine'ın bazı özelliklerini ve bunları oyununuzun bir parçası olarak nasıl kullanabileceğinizi göstereceğim.
Hunt the Wumpus'u inşa ederken benimle birlikte olmak isterseniz, ilerledikçe bazı şeyleri değiştirmenizi tavsiye ederim. Özellikler eklemeyi veya şeyleri yeni şekillerde kullanmayı deneyin. Bu şekilde sadece benimkini takip etmek yerine kendi oyununuzu yapabilirsiniz.
Şimdi avlamamız gereken bir Wumpus var!
Adım 1: Kısalık uğruna…
Bu öğretici, bazı temel bilgilere aşina olduğunuzu varsayacaktır. Normalde derslerimi olabildiğince ulaşılabilir hale getirmekten hoşlanırım, ancak bu sefer sevimli kuzenim için et ve patateslere gitmem gerekiyor.
Twine'a biraz aşina olduğunuzu varsayıyorum; nasıl indireceğinizi (veya çevrimiçi sürümü kullanacağınızı) ve nasıl yeni pasajlar oluşturacağınızı ve bunları nasıl birbirine bağlayacağınızı bildiğinizi. Ayrıca değişkenler ve fonksiyonlar gibi bazı temel programlama kavramlarına ve bunların Sugarcube'da nasıl kullanıldığına aşina olduğunuzu varsayıyorum.
Hunt the Wumpus oyununa aşina olduğunuzu varsaymalıyım. Kelimelerle tarif edilmesi zor bir kavram ve resimlerle açıklamak sonsuza kadar sürecek. Bunu açıklayan bir video ya da başka bir şey bulmaya çalıştım ama sadece anlatım içermeyen bir oyun bulamadım. Sanırım bu kuşaktan kuşağa geçen şeylerden biri ve herkes senin bunu bildiğini zannediyor. Sanırım bu konuda yardımcı olmuyorum.
Adım 2: Fikir
Bu projenin arkasındaki fikir, Twine'ın pasajlarını ayrı odalar olarak kullanabilmemizdir. Oyuncu bu odaları bağlantılar aracılığıyla dolaşabilir ve kod, Wumpus'un orada olup olmamasına bağlı olarak odanın metnini değiştirir.
Bu konsept beklediğimden daha zorlayıcı oldu ama genel olarak bence çoğunlukla Twine'ın tekerlek yuvasına uyuyor.
3. Adım: Bazı Odalar Oluşturun
Yukarıda gördüğünüz gibi, 3x3 bir oda ızgarası oluşturarak başladım. Ayrıca oyuncunun başlayacağı ve ızgaradaki bir odaya bağlanan bir giriş bölümüm var. Bunların kodu çok basit, sadece bazı metinler ve bağlantılar. Her odadaki bağlantıları düzenlemek için biraz biçimlendirme yaptım (üçüncü resimde görebileceğiniz gibi), ancak minimum düzeyde tuttum.
Bu adımın anahtarı minimalizmdir. Bu şeylerin çoğunu periyodik olarak yeniden çalışmak isteyeceksiniz, bu yüzden bir sürü işi yeniden yapmak zorunda kalmak istemezsiniz. Toplamda 10'dan az odaya bağlı kalın, oda açıklamalarını kısa tutun, henüz işleri güzelleştirmeyin. Sadece işlevsel olmaları gerekir.
Kodu çalıştırdıktan sonra, güzel olabilir.
4. Adım: Bir Wumpus ekleyin
Wumpus'umuzu eklemek için bir StoryInit pasajı oluşturmamız gerekiyor.
Bu pasaj SugarCube'a özeldir ve oyuncu başlangıç pasajını görmeden önce çalıştırılır. Oyun başlamadan önce oluşturulması gereken değişkenleri ve nesneleri ayarlamak için kullanılır. Pasajın başlığının "StoryInit" olması çok önemlidir ve büyük/küçük harf duyarlıdır.
Wumpus değişkenimizi bir dizge olarak ilan ediyoruz ve ona rastgele bir odanın başlığını atadık. Bir dizi listesinden rastgele bir dizi atamak için ya() işlevini kullanabiliriz. Bu şekilde, Wumpus her zaman rastgele bir odada başlayacaktır.
Adım 5: Bir Wumpus olup olmadığını kontrol edin
Odaların her birine, Wumpus'un mevcut odada olup olmadığını kontrol eden bir "" ifadesi ekleriz. Eğer öyleyse, kısa bir dize yazdırır. Değilse, hiçbir şey görünmüyor.
Bunu oluşturduğumuz için bazı hata ayıklama bilgileri de ekleyeceğiz. Wumpus'umuzun nerede olduğunu ve düzgün çalıştığını önceden bilmek isteriz.
Şimdilik bu kodu her odaya ayrı ayrı kopyalayıp yapıştırmanız gerekecek. Bu yüzden sana sadece birkaç odaya bağlı kalmanı söyledim.
Adım 6: Test Et
Kodumuzu oynayarak test ediyoruz. Elbette, Wumpus'un ekranın üst kısmında nerede olduğunu görebiliriz. Eğer o odada değilsek, "A Wumpus burada!" metin görünmüyor.
Doğru odaya giderek metnin görünmesini sağlayabiliriz. Her oyun için Wumpus'umuzu rastgele bir odaya bu şekilde atayacağız!
7. Adım: Genel Oda Kodu Ekleme
Her odanın Wumpus'u kontrol etmesini sağlamak için yapılan tüm bu kopyalama ve yapıştırma işleri sıkıcı. Bu oyunu geliştirirken, bu kodu epeyce değiştirmek isteyeceğiz. Bunu yapmanın daha iyi bir yoluna ihtiyacımız olacak. Bazı genel oda kodu oluşturalım.
Bir pasaj yapın ve ona özel bir ad verin. Ben sadece benimkini küçük harfle "oda" olarak adlandırıyorum. Sizinkini benzersiz kılmak için özel karakterler veya tümü büyük harf kullanmak isteyebilirsiniz, böylece gerçek oda adlarınıza benzemez.
"" ifademizi kesip bu genel oda koduna yapıştıracağız. Ardından, gerçek odalarınızın her birinde bir "" ifadesi kullanın. Bu, "oda" pasajımızın içeriğini tam anlamıyla kopyalayıp her odanın o kısmına yapıştıracaktır. Bu şekilde, biz koda odaklanırken makinenin sıkıcı bitleri halletmesine izin verebiliriz!
"" ve diğer ifadeler hakkında daha fazla bilgiyi Sugarcube 2 dokümantasyon sayfasından okuyabilirsiniz.
Adım 8: Test Et
Bunu test etmek elbette öncekiyle aynı sonuçları verir, ancak sık sık test etmek önemlidir. Tatmin edici de.
Bununla birlikte, tüm kodlamalarımızın artık daha düzgün bir şekilde ele alabileceğimiz talihsiz bir yan etkisine işaret ediyor. Her pasaja daha fazla kod ekledikçe oyunumuzda daha fazla boş alan olduğunu fark edebilirsiniz. Bundan sonrakilerle ilgileneceğiz.
Adım 9: Neden Boş Hatlar Var?
Belirli kod satırlarının sonuna nasıl ters eğik çizgi eklediğimi yukarıda görebilirsiniz. Bunları nerede ve ne zaman kullandığım çok bilinçli ve bunu anlamak için neden garip satır kesintileri aldığımızı anlamanız gerekecek.
Normal metinle karışmak Twine'daki kodun doğasıdır. Köşeli parantezler (bu şeyler:) Twine'a içeriğin metin değil kod olduğunu söyler. Sorunu bununla açıklayayım. Diyelim ki aşağıdaki koda sahipsiniz:
<> Oyunda görünen normal metin… <
Birçok metin işlemcisi, boşluk karakterlerini görüntülemenizi sağlayan bir seçeneğe sahiptir; boşluklar, sekmeler ve satır sonları gibi şeyler. Sicim değil, ama olsaydı, şöyle görünürdü:
¶
Normal˙metin˙oyunda˙görünüyor…¶ ¶ Daha Fazla˙oyun˙metin…
Şu paragraf işaretlerini görüyor musun? (¶) Bunlar köşeli parantez içinde değil. Bu, Twine'ın bunların normal metinler olduğunu düşündüğü ve onları oyununuza koyduğu anlamına gelir. Bu yüzden oyunu oynarken şöyle görünür:
Oyunda görünen normal metin…
Daha fazla oyun metni…
Onlardan kurtulmak için, bir ters eğik çizgi karakteri kullanarak Twine'a o satır sonunu istemediğimizi söyleyebiliriz. Kodunuzda şöyle görünecek:
¶
Normal˙metin˙oyunda˙görünüyor…¶ \¶ Daha fazla˙oyun˙metin…
Bu, oyununuzda beklediğiniz gibi görünecektir:
Oyunda görünen normal metin…
Daha fazla oyun metni…
Yalnızca köşeli parantezlerin dışındaki satır sonlarının buna ihtiyaç duyduğunu unutmayın. Örneğin, aşağıdaki kodumuz olsaydı:
¶
Sadece bir ters eğik çizgiye ihtiyacımız var, çünkü ilk satır sonu (¶) açılı ayraçların () içinde.
İkinci olarak, ters eğik çizgi () eğik çizgiden (/) farklıdır ve hangisini nerede kullandığınıza dikkat etmeniz gerekir, çünkü bunlar farklı şeyler yaparlar.
Adım 10: Test Et
Testiniz, hatalı boş alanı ortadan kaldırdığınızı ortaya çıkarmalıdır! Görkemli!
Adım 11: Şimdilik Bu Kadar
Şimdilik sahip olduğum tüm zaman bu. Şimdiye kadar her şey oldukça basit Twine şeyler. Genel oda kodu, yapmanız gereken kopyala ve yapıştır işlemini azaltmak için kullanışlı bir numaradır ve bu ters eğik çizgiler, pasajlarınızın temiz görünmesini ve kodunuzun okunabilir olmasını sağlamak için kesinlikle gereklidir.
İşler buradan hızla kalkacak!
İyi avlar!
Önerilen:
KS-Garden:Genel Bakış: 9 Adım
KS-Garden:Genel Bakış: KS-Garden, arka bahçenizdeki bahçe/sera bitkilerinizi veya iç mekan yetiştirme kutusu bitkilerinizi sulamak/havalandırmak/aydınlatmak için kullanılabilir (Modüler tasarım) KS-Garden sistemi temel olarak aşağıdaki modüllerden oluşur- Ana sistem kutusu - Röle ve güç kaynağı kutusu
Arduino 1-telli Genel İstemci/Slave Aygıt (Sensör): 4 Adım
Arduino 1 telli Genel İstemci/Bağımlı Aygıt (Sensör): Durum ve mevcut kitaplıklar hakkında daha fazla bilgi almak için lütfen Arduino 1 telli Ekranın (144 Karakter) nasıl oluşturulacağına ilişkin talimatımın Giriş ve Adım 2'sini okuyun. Orada açıklandığı gibi OneWire-Hub kitaplığını kullanacağız
Genel 433MHz RF Modüllü DIY Telsiz: 4 Adım
Genel 433MHz RF Modüllü DIY Telsiz: Bu projede, işlevsel bir Telsiz oluşturmak için Ebay'den genel 433MHz RF modüllerinin nasıl kullanılacağını göstereceğim. Bu, farklı RF Modüllerini karşılaştıracağımız, d sınıfı bir amplifikatör hakkında biraz öğreneceğimiz ve sonunda Walkie-Talkie'yi oluşturacağımız anlamına geliyor.
Uzaktan Kumandalı Transistör Kontrollü Motor; Devreye Genel Bakış: 9 Adım
Transistör Kontrollü Uzaktan Kumandalı Motor;Devreye Genel Bakış: Bu devre uzaktan kumandalı transistör kontrollü bir motordur.Uzaktan kumanda gücü açar.Transistör motoru çalıştırır.Programın kodu motorun hızını artıracak ve ardından motor hızını sıfıra kadar azaltın.
Breadboard'da 8-Bit Bilgisayara Genel Bakış: 3 Adım
Breadboard Üzerindeki 8-Bit Bilgisayara Genel Bakış: Bu projedeki amacım, bilgisayar mimarisi, donanım tasarımı ve montaj düzeyindeki dillerin daha iyi anlaşılmasını sağlamaktı. Üniversitede bilgisayar mühendisliği okuyan bir Junior olarak, yakın zamanda elektronik, laboratuvarlar ve