فهرست مطالب:
- مرحله 1: پخش کننده خود را ایجاد کنید
- مرحله 2: کد اتاق جدید
- مرحله 3: ایجاد پیوند از یک متغیر
- مرحله 4: آزمایش کنید
- مرحله 5: یک لیست اتاق اضافه کنید
- مرحله ششم: حذف اتاق ها
- مرحله 7: آزمایش
- مرحله 8: عجیب و غریب با Sugarcube و اشیاء
- مرحله 9: تابع Clone ()
- مرحله 10: فعلا همین
تصویری: پیوندهای متغیرهای Twine With Sugarcube: 10 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
خیلی خوشحالم که دوباره به من ملحق شدید! این بدان معناست که وومپوس هنوز شما را نخورده است. خوب!
برای کسانی از شما که آشنایی ندارید ، این مجموعه ای از آموزش هایی است که من برای کمک به پسرعموی شگفت انگیز من در پروژه ارشد خود تهیه می کنم. این آموزشها مرجع کارهایی هستند که می توانید با برخی از ویژگی های برنامه نویسی Twine و Sugarcube انجام دهید. اگر می خواهید ادامه دهید ، می توانید اولین آموزش را در اینجا پیدا کنید.
در آخرین آموزش ، من مجموعه کوچکی از اتاق ها را ساختم که بازیکن می تواند در آن کاوش کند. من یک شی Wumpus اضافه کردم و تعدادی کد اتاق عمومی برای تغییر آنچه که در هر اتاق نمایش داده می شد بسته به جایی که Wumpus است تغییر دادم.
مرحله 1: پخش کننده خود را ایجاد کنید
این مرحله بسیار ساده است. در اصل من فقط از کد مشابه wumpus $ خود استفاده می کنم ، اما در عوض از یک متغیر $ player استفاده می کنم.
مرحله 2: کد اتاق جدید
کد اتاق عمومی خود را تغییر دادید تا ارزش $ player اتاق فعلی باشد. سپس $ wumpus را به جای اتاق کنونی با $ player مقایسه کنید.
این یک تغییر جزئی است و کاملاً ضروری نیست ، اما من دوست دارم کد خود را منظم نگه دارم.
مرحله 3: ایجاد پیوند از یک متغیر
در نهایت ، می خواهم پیوندی را در اتاق شروع خود جایگزین کنم که بر اساس ارزش $ player تغییر می کند. این کار را می توان با عملکرد "" در Sugarcube انجام داد. می توانید در صفحه مستندات Sugarcube بیشتر در مورد آن بخوانید.
اولین رشته بعد از دستور ما عبارتی است که در قسمت ما ظاهر می شود. دوم نام قسمتی است که می خواهیم به آن پیوند دهیم. من از "Hunt the Wumpus!" استفاده می کنم. به عنوان عبارت من ، اما اگر بخواهیم بازیکن از قبل بداند کجا می رود ، می توانیم از متغیر خود در آنجا استفاده کنیم ، مانند این:
مرحله 4: آزمایش کنید
وقتی کد خود را آزمایش می کنید ، باید متوجه شوید که پیوند شما با هر عبارتی که قبلاً نوشته اید جایگزین شده است. با کلیک روی آن شما را به یک اتاق تصادفی در بازی خود می برد.
متأسفانه ، این می تواند شما را مستقیماً به اتاق Wumpus برساند! این در حال حاضر زیاد مهم نیست ، اما در یک بازی واقعی که یک بازی فوری به پایان می رسد. ما باید آن را برطرف کنیم.
مرحله 5: یک لیست اتاق اضافه کنید
اول ، ما قصد داریم یک لیست اتاق ایجاد کنیم تا مدیریت اتاق ها آسان تر شود. با اعلام این آرایه ، می توانیم از آن برای تعیین مقادیر $ player و $ wumpus خود بدون تکرار کد استفاده کنیم. این مزیت دیگری نیز دارد که در ادامه به بررسی آن می پردازیم.
آزمایش با این کد باید مانند قبل رفتار کند.
مرحله ششم: حذف اتاق ها
من یک خط کد را از قبل به کد اضافه کرده ام (برجسته شده).
آرایه ها در Sugarcube دارای یک عملکرد داخلی هستند که به شما امکان می دهد عناصر را با نام آنها حذف کنید. در این حالت ، هنگامی که یک اتاق را به $ wumpus اختصاص می دهیم ، می توانیم آن اتاق را از لیست اتاق $ خود حذف کنیم. با این حال ، این عملکرد مشکل است. کار نخواهد کرد مگر اینکه خروجی تابع اختصاص داده شود یا به نحوی مورد استفاده قرار گیرد. برای مراقبت از آن ، من متغیر موقتی _temp را ایجاد کرده ام.
در Sugarcube ، متغیرهای موقتی به جای یک دلار ($) با خط زیر (_) شروع می شوند. آنها مفید هستند زیرا با حذف گذرنامه حذف می شوند ، بنابراین لازم نیست نگران همپوشانی نام متغیرها باشید.
من اتاق پخش $ player را نیز از لیست اتاق $ حذف می کنم ، البته به طور طبیعی.
مرحله 7: آزمایش
در حالی که ما می توانیم کد را همانطور که در حال حاضر است اجرا کنیم ، این یک آزمایش بسیار دقیق نخواهد بود. اگر کد را اجرا کنیم و دریابیم که $ player و $ wumpus به اتاقهای مختلف اختصاص داده شده است ، نمی دانیم که این به این دلیل است که کد کار می کند ، یا فقط یک شانس است. مطمئناً ، ما می توانیم کد را بارها اجرا کنیم ، و فرض کنیم که اگر هیچ وقت به هر دو یک اتاق اختصاص ندهد ، اما این برای همیشه طول خواهد کشید و هنوز اطمینان 100٪ نیست که هرگز اتفاق نمی افتد.
در عوض ، ما نیاز به راهی برای بررسی داریم.
من سه خط به بالای قسمت معرفی خود اضافه کرده ام که به ما اجازه می دهد مقادیر متغیرهای $ wumpus ، $ player و $ roomlist ما را ببینیم. به دلیل نحوه تنظیم کد خود ، می دانیم که اتاق wumpus $ و اتاق پخش $ باید از لیست اتاق $ حذف شود.
هنگامی که این کد را اجرا می کنیم ، می توانیم بررسی کنیم که آیا چنین است.
مرحله 8: عجیب و غریب با Sugarcube و اشیاء
اشیاء نیشکر کمی عجیب هستند. بگذارید این را نشان دهم
در حالی که من در ابتدا این پروژه را می ساختم ، می خواستم قبل از شروع حذف اتاق ها از آن ، لیست اتاق $ خود را در متغیر $ saveroom ذخیره کنم. من فکر کردم بعداً مفید خواهد بود.
وقتی رفتار عجیبی از این کد دریافت کردم ، یک خط دیگر به صفحه معرفی خود اضافه کردم تا به من اجازه دهید متغیر $ saveroom خود را نگاه کنم (تصویر دوم).
وقتی متوجه شدم عناصری که از $ room room حذف کرده بودم از لیست ذخیره شده من نیز حذف شده بود ، شوکه شدم! شما می توانید این کار را در تصویر سوم مشاهده کنید.
این به این دلیل است که وقتی آرایه ای مانند این را کپی می کنید ، در واقع به Twine نمی گویید که آرایه را کپی کند ، بلکه به Twine می گویید که این دو متغیر یک آرایه هستند. وقتی کاری را در آرایه با استفاده از یک متغیر انجام می دهید ، همان آرایه ای را که متغیر دیگر در حال مشاهده آن است تغییر می دهد!
با تابع clone () می توانیم این مشکل را برطرف کنیم.
مرحله 9: تابع Clone ()
می توانید در مورد عملکرد clone () در صفحه مستندات Sugarcube مطالعه کنید.
یک نسخه "کم عمق" کاری است که قبلاً انجام می دادیم. به جای ایجاد یک کپی کامل از کل آرایه ، فقط فرض می شود که متغیر شما با همان آرایه کار می کند. به جای یک کپی کم عمق ، clone () یک کپی "عمیق" انجام می دهد ، که همانطور که انتظار دارید رفتار می کند. هر عنصر آرایه در یک آرایه جدید کپی شده و کاملاً از نسخه اصلی جدا است.
اگر این کد جدید را آزمایش کنیم ، متوجه می شویم که آنطور که انتظار می رود کار می کند.
البته ، مهم نیست که $ room room را نگه دارید یا نه. برای اهداف پروژه ام ، قصد ندارم. همه اینها فقط برای نشان دادن نسخه های عمیق در مقابل سطوح کم عمق بود.
مرحله 10: فعلا همین
ما کدی را اضافه کرده ایم که به بازیکن اجازه می دهد در یک اتاق تصادفی شروع به کار کند. علاوه بر این ، ما اشکالی را که بازیکن در همان اتاق Wumpus شروع می کند ، برطرف کرده ایم.
ما با نحوه ایجاد پیوند از متغیرها و نحوه برخورد کپی آرایه توسط Sugarcube آشنا شدیم.
اوضاع رو به افزایش است ، اما ما تازه شروع کرده ایم!
شکار مبارک!
توصیه شده:
مرحله به مرحله ساخت کامپیوتر: 9 مرحله
گام به گام ساخت کامپیوتر: لوازم: سخت افزار: مادربرد CPU & amp؛ CPU coolerPSU (منبع تغذیه) ذخیره سازی (HDD/SSD) RAMGPU (لازم نیست) مورد ابزار: پیچ گوشتی دستبند ESD/خمیر ماتریسمی با اپلیکاتور
سه مدار بلندگو -- آموزش مرحله به مرحله: 3 مرحله
سه مدار بلندگو || آموزش گام به گام: مدار بلندگو سیگنال های صوتی دریافت شده از محیط را بر روی MIC تقویت می کند و از محل تولید صدای تقویت شده به بلندگو ارسال می کند. در اینجا ، من سه روش مختلف برای ساخت این مدار بلندگو با استفاده از موارد زیر را به شما نشان خواهم داد
اتاقهای عمومی در Twine با Sugarcube: 11 مرحله
Generic Rooms in Twine With Sugarcube: سلام سلام و به آموزش من در مورد ساخت Wumpus Hunt in Twine with Sugarcube خوش آمدید! Twine یک ابزار بسیار ساده است که برای ایجاد بازی های ماجراجویی متنی طراحی شده است! پسر عموی کوچک مورد علاقه من تصمیم گرفته است برای پروژه ارشد خود با Twine بازی کند ،
ایجاد پیوندهای وابسته (ارجاع) Banggood آسان تر از همیشه: 4 مرحله
پیوندهای وابسته Banggood (ارجاع) را راحت تر از همیشه ایجاد کنید: نسخه فشرده این دستورالعمل را می توانید در وبلاگ شخصی من پیدا کنید. فروش همکاران منبع عالی درآمد اضافی برای تولیدکنندگان محتوا است و بسیاری از افراد قابل آموزش از آنها استفاده می کنند. در سایت های محبوب تری که دارای برنامه وابسته ممنوع است
Precision Wire Stripper - پیوندهای ویدیویی جدید: 3 مرحله
Stripper Precision Wire - پیوندهای ویدئویی جدید: سیم برنده دوار دستی از قلم Bic ، پیچ گوشتی و تیغ تیغ. من اخیراً یک قرقره سیم تفلون 30AWG خریدم. من فکر کردم برای نمونه سازی عالی است ، زیرا یک آهن لحیم کاری داغ عایق را ذوب نمی کند. خوب ، به نوعی نیست