תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46
אני כל כך שמח שהצטרפת אלי שוב! זה אומר שהוומפוס עדיין לא אכל אותך. טוֹב!
לאלו מכם שאינם מכירים, זוהי קבוצת הדרכות שאני מכינה כדי לסייע לבת דודתי הקסומה המדהימה של אוצ'י-סקוטצ'י בפרויקט הבכיר שלה. הדרכות אלה נועדו להוות אסמכתא למה שאתה יכול לעשות עם כמה מתכונות התכנות של חוט וקוביות סוכר. אם אתה רוצה לעקוב, תוכל למצוא כאן את ההדרכה הראשונה.
במדריך האחרון בניתי קבוצה קטנה של חדרים שהנגן יכול לחקור. הוספתי אובייקט Wumpus ועשיתי קוד כללי לחדר כדי לשנות את מה שמוצג בכל חדר בהתאם למקום שבו Wumpus נמצא.
שלב 1: צור את הנגן שלך
שלב זה פשוט מאוד. בעיקרו של דבר אני משתמש באותו קוד כמו $ wumpus שלי, אבל עם משתנה $ player במקום זאת.
שלב 2: קוד חדר חדש
שינית את קוד החדר הגנרי שלך כך שהערך של $ player הוא החדר הנוכחי. לאחר מכן השווה $ wumpus לשחקן $ במקום החדר הנוכחי.
זהו שינוי מינורי, ואינו הכרחי לחלוטין, אך אני אוהב לשמור על הקוד שלי מאורגן.
שלב 3: יצירת קישור ממשתנה
לבסוף, אני רוצה להחליף את הקישור בחדר ההתחלה שלי לכזה שמשתנה בהתאם לערך של $ player. ניתן לעשות זאת באמצעות הפונקציה "" ב- Sugarcube. תוכל לקרוא עוד על כך בדף התיעוד של Sugarcube.
המחרוזת הראשונה אחרי הפקודה שלנו היא הביטוי שיופיע בקטע שלנו. השני הוא שם הקטע שאליו ברצוננו לקשר. אני משתמש ב"צוד את הגוזל! " כביטוי שלי, אך נוכל להשתמש במשתנה שלנו במקום אם נרצה שהשחקן יידע לאן הוא הולך לפני כן, כך:
שלב 4: בדוק
כאשר אתה בודק את הקוד שלך, אתה אמור לגלות שהקישור שלך הוחלף בכל ביטוי שכתבת קודם. לחיצה עליו מעבירה אותך לחדר אקראי במשחק שלך.
למרבה הצער, זה יכול גם לקחת אותך ישר לחדר Wumpus! זה לא משנה הרבה כרגע, אבל במשחק אמיתי זה יהיה משחק מיידי. אנחנו צריכים לתקן את זה.
שלב 5: הוסף רשימת חדרים
ראשית, אנו הולכים ליצור רשימת חדרים, כדי להקל על ניהול החדרים. על ידי הצהרת מערך זה, אנו יכולים להשתמש בו כדי להגדיר את ערכי $ player ו- $ wumpus שלנו מבלי לחזור על הקוד. יש לו גם יתרון נוסף שנחקור בהמשך.
בדיקה עם קוד זה אמורה להתנהג בדיוק כפי שהייתה בעבר.
שלב 6: חיסול חדרים
הוספתי שורה קוד אחת לקוד מלפני (מודגש).
למערכים ב- Sugarcube יש פונקציה מובנית המאפשרת לך למחוק מהם אלמנטים בשמם. במקרה זה, ברגע שאנו מקצה $ wumpus לחדר, נוכל למחוק את החדר הזה מרשימת החדרים $ שלנו. עם זאת, פונקציה זו היא מסובכת. זה לא יעבוד אלא אם תפוקת הפונקציה תוקצה או תשתמש בה בדרך כלשהי. כדי לטפל בכך, יצרתי את המשתנה הזמני _temp.
ב- Sugarcube, משתנים זמניים מתחילים עם קו תחתון (_) במקום דולר ($). הם שימושיים מכיוון שהם נמחקים לאחר הפעלת המעבר, כך שאינך צריך לדאוג לשמות משתנים חופפים.
אני מוחק את חדר השחקן $ גם מרשימת $ roomlist, כמובן כמובן מאליו.
שלב 7: בדיקה
למרות שנוכל להריץ את הקוד כפי שהוא כעת, זו לא תהיה בדיקה יסודית במיוחד. אם נריץ את הקוד ונגלה ש- $ player ו- $ wumpus מוקצים לחדרים שונים, איננו יודעים אם זה בגלל שהקוד עובד, או שזה רק במקרה. בטח, נוכל להריץ את הקוד פעמים רבות, ולהניח שאם זה לעולם לא יקצה לשניהם את אותו החדר שהוא לעולם לא יקבל, אבל זה ייקח לנצח ועדיין לא מובטח במאה אחוז שזה לעולם לא יכול לקרות.
במקום זאת, אנו צריכים דרך לבדוק.
הוספתי שלוש שורות לראש קטע המבוא שלנו שיאפשרו לנו לראות את הערכים של משתני $ wumpus, $ player ו- $ roomlist. בגלל האופן שבו הגדרנו את הקוד שלנו, אנו יודעים שחדר $ wumpus וחדר $ שחקנים צריכים להימחק מרשימת החדרים $.
כאשר אנו מפעילים את הקוד הזה, אנו יכולים לבדוק לוודא שזה המצב.
שלב 8: מוזרות עם קוביית סוכר וחפצים
חפצי קוביית הסוכר מעט מוזרים. תן לי להדגים זאת.
בזמן שבניתי את הפרויקט הזה במקור, רציתי לשמור את רשימת החדרים שלי במשתנה $ saveroom לפני שהתחלתי למחוק ממנו חדרים. הבנתי שזה יהיה שימושי אחר כך.
כאשר קיבלתי התנהגות מוזרה מהקוד הזה, הוספתי שורה נוספת לדף ההקדמה שלי כדי לאפשר לי להסתכל על משתנה $ saveroom שלי (תמונה שנייה).
הייתי המום לגלות שהרכיבים שמחקתי מרשימת החדרים $ נמחקו גם מהרשימה השמורה שלי! אתה יכול לראות זאת בפעולה בתמונה השלישית.
הסיבה לכך היא שכאשר אתה מעתיק מערך כזה, אתה בעצם לא אומר לטוויין להעתיק את המערך, אתה אומר לטוויין ששני המשתנים האלה הם אותו מערך. כאשר אתה עושה משהו למערך באמצעות משתנה אחד, הוא משנה את אותו מערך שהמשתנה השני מסתכל עליו!
נוכל לתקן זאת בעזרת הפונקציה clone ().
שלב 9: פונקציית השיבוט ()
תוכל לקרוא על הפונקציה שיבוט () בדף התיעוד של קוביית הסוכר.
עותק "רדוד" הוא מה שעשינו בעבר. במקום ליצור עותק מלא של המערך כולו, הוא רק מניח שהמשתנה שלך עובד עם אותו מערך. במקום עותק רדוד, שיבוט () עושה עותק "עמוק", שמתנהג כמו שהיית מצפה. כל אלמנט של המערך מועתק למערך חדש, והוא נפרד לחלוטין מהמקור.
אם נבדוק את הקוד החדש הזה, נגלה שהוא פועל כצפוי.
כמובן, זה לא משנה אם אתה שומר $listlist או לא. לצורך הפרויקט שלי, אני לא מתכוון. כל זה היה רק כדי להדגים עותקים עמוקים לעומת רדודים.
שלב 10: זהו בינתיים
הוספנו קוד המאפשר לשחקן שלנו להתחיל בחדר אקראי. בנוסף לכך, חיסלנו באג שבו השחקן יתחיל באותו חדר שבו נמצא הוומפוס.
למדנו כיצד ליצור קישורים ממשתנים וכיצד מטפלים בהעתקת מערך על ידי Sugarcube.
העניינים מתגברים, אבל אנחנו רק מתחילים!
ציד שמח!
מוּמלָץ:
כיצד להכין קוביית LED - קוביית LED 4x4x4: 3 שלבים
כיצד להכין קוביית LED | קוביית LED 4x4x4: ניתן לראות קוביית LED כמסך LED, שבו נוריות LED 5 מ"מ פשוטות ממלאות את תפקיד הפיקסלים הדיגיטליים. קוביית LED מאפשרת לנו ליצור תמונות ודפוסים על ידי שימוש במושג תופעה אופטית המכונה התמדה בראייה (POV). לכן
חדרים גנריים בחוטים עם קוביית סוכר: 11 שלבים
חדרים גנריים בחוטים עם קוביית סוכר: שלום שלום וברוכים הבאים להדרכה שלי בנושא בניית ציד וואמפוס בחוט עם קוביית סוכר! חוט הוא כלי פשוט מאוד, המיועד ליצירת משחקי הרפתקאות טקסט! בת הדודה הקטנה האהובה עלי בחרה לעשות משחק עם טווין לפרויקט הבכיר שלה
קוביית מג'יק או קוביית מיקרו-בקר: 7 שלבים (עם תמונות)
קוביית מג'יק או קוביית בקר מיקרונית: במדריך זה, אראה לך כיצד להכין קוביית מג'יק מבקר מיקרו פגום. הרעיון הזה בא כאשר לקחתי את פקד ATmega2560 פגום מ- Arduino Mega 2560 ועושה קובייה. .על חומרת Magic Cube, יש לי יצרן כמו
צור קישורים לשותפים (הפניה) של Banggood קלים מתמיד: 4 שלבים
צור קישורים של שותפי Banggood (הפניה) יותר קלים מאי פעם: ניתן למצוא גרסה מרוכזת של הוראה זו בבלוג האישי שלי מכירות שותפים מהוות מקור הכנסה רב יותר ליוצרי תוכן, ואנשים רבים על מדריכים משתמשים בהם. על אתרים פופולריים יותר שיש בהם תוכנית השותפים היא לחסום
מבוא למישיגן קישורים: 5 שלבים
היכרות עם MichiganLinks: קישורים מאוניברסיטת מישיגן, חיפשו והוצגו * ישירות * בדף החיפוש של Google. כרגע מכיל: (1) קישורי גישה ישירה ל -34,000+ כתבי עת של ספריית האוניברסיטה (2) קישורים לדפי מעבדה של חוקר UM המבוססים על פרופיל עניין מחקר