Tip:
Highlight text to annotate it
X
>> ZAMYLA צ'אן: שלום, וברוכים באים להדרכת סריטות.
השם שלי הוא Zamyla ואני אהיה מוביל ערוצים בשבילך השנה.
בCS50, כל קבוצת בעיה היא מלווה בהדרכה.
במהלך ערוצים האלה אני אלך על סט הבעיה של השבוע, להסביר את
מושגים הנדרשים ולהיפרד בעיה להגדיר לעקיצות לניהול.
>> עבור P-הסט הראשון בCS50, אנחנו בעצם לא להיכנס להקלדה ו
דברים קוד המכונה עדיין לא.
במקום זאת, אנחנו הולכים להשתמש בגרד, תכנית שמאפשרת לנו לחקור
מושגי תכנות ב דרך ויזואלית ויצירתי.
הדרכה זה תסקור מושגי יסוד שאנו נשתמש
לאורך CS50, כמו גם משרת כהדרכת סריטות.
בכל הדרכה אני אפרט סט של כלים שאתה יכול להשתמש עבור
סט בעיה.
ממושגים כמובן גדולים יותר לבפועל פונקציות, זה טוב ומועיל ל
יודע מה אתה מצויד בלפני התמודדות עם הבעיה הסט.
>> ראשית, בואו נדבר על שדונים.
שדונים הם מרכזי לביצוע פרויקטים בלגרד.
כל חפץ או כל דמות, יהיה זה חתול, כלב או
כדור, נקרא ספרייט.
אם אני רוצה, אניח, שני חתולים בפרויקט שלי, אני צריך לעשות שני
שדונים נפרדים בהתחלה, אפילו אם הם זהים לחלוטין.
>> לכל אחד יש ספרייט תסריטים הקשורים עם זה ספרייט הספציפי.
סקריפטים הם מה אתה הולך להיות בניין על ידי גרירה
ושחרור של בלוקים.
תסריטים הם הוראות ש לקבוע ולהגדיר
איך מתנהג התסריט.
>> עכשיו, שדונים הם לא רק תמונות.
תחפושת שדונים קובעת מה שנראה כמו ספרייט.
כל ספרייט נתון יכול להיות יותר מתחפושת אחת.
קצת מאוחר יותר במהלך הדרכה זה אני יהיה להראות לך איך אתה יכול להיות שלך
תלבושות שינוי ספרייט במהלך התכנית שלך.
>> כדי ליצור ספרייט בלגרד, שאתה יכול גם לבחור התחפושת הראשונית שלה עבור
הספרייה של השריטה, לצייר בעצמך שריטה של עורך המובנה צבע,
להעלות תמונה משלך, או לקחת את תמונה עם המצלמה של המחשב.
כל השדונים ממוקמים על מה שאנו מכנים את הבמה.
הבמה היא כמו הבד שלנו שבי שדונים יכולים לנוע.
>> למרות שיכול להיות לנו בכפולות שדונים, שם יכול להיות רק שלב אחד.
אחרת, שלבים ושדונים הם די דומה שבשלב יכול
יש גם תסריטים.
סקריפטים על הבמה הם מאוד שימושיים כאשר אין לך תסריט ש
לא בהכרח נוגע לספרייט אחד ספציפי.
אולי הוא נוגע למספר רב של פסים, או בכלל לא.
>> זה עיצוב טוב בדרך כלל למקום שלך סקריפטים על הבמה אם הם
כללי מספיק ואינם נוגע לשדונים ספציפיים.
ובדיוק כמו שיש לי שדונים תלבושות, יש שלבי תפאורות שיכולים לשנות
במהלך התכנית שלך.
ואתה יכול לצייר משלך, להעלות תמונה, צילום תמונה, או להשתמש
ספריית שריטה של תפאורות.
שניהם את הבמה והשדונים יכולים גם לשחק צלילים מספרייתו של גרד, או
אתה יכול להעלות ולהקליט את עצמך.
>> כדי להתחיל תכנית סריטות שלך אתה צריך ללחוץ על הדגל הירוק ב
פינה ימנית עליונה של חלון הבמה.
אבל אם אתה לא מתחבר לשום דבר בלוק ממש כאן זה, אז שום דבר לא
באמת הולך לקרות בגללך שדונים והשלב צריכים שיגידו לי
כדי להגיב למקרה של הדגל ירוק שלחיצה עליו.
אז תצטרך לצרף ללוקים חריץ בתחתית הירוקה
דגל, ולאחר מכן את התכנית תבצע אלה פעולות בעת ההפעלה
התכנית שלך.
>> ובכן, מה שבא אחרי זה?
ובכן, יש הרבה סריטות בלוקים כדי שתוכלו להשתמש בו, ואתה יכול
אפילו להפוך את עצמו.
אתה תראה שלוש לשוניות, סקריפטים, תלבושות וצלילים.
תחת תג סקריפטים הן קטגוריות דוחות.
דוחות הם בנוחות שאורגן על ידי צבע.
יש לך פעולות הקשורות לתנועה, קול, מראה, וכן הלאה.
למרות שתהיה לך בלוקים אחרים שנבנו סביב ההצהרות שלך, זה
דוחות שיעזרו לי את השדונים או את הבמה כדי לעשות משהו, ואילו
בלוקים אחרים יעזרו לקבוע מתי לעשות אותם.
>> בואו נגיד שאתה יוצר מאוד פרויקט ראשון ואתה רק רוצה
חתול מיאו תחת מסוים נסיבות.
כדי ליישם את זה, אנחנו יכולים לקחת יתרון של Booleans.
אלה הם ביטויים שלהעריך לאמת או שקר.
בגרד אלה מזוהים על ידי זוויות בסוף הגושים.
יהיה לך מגוון רחב של סוגים שונים של Booleans כגון הוא העכבר
כאשר לוחצים כלפי מטה, אין להשוות 2 בתוספת 2 עד 5, או המשתמש לוחץ
למטה מפתח מסוים במקלדת?
>> עכשיו, אתה לא יכול פשוט להשתמש אלה booleans לבד.
אתה צריך לשלב אותם עם מה שאנו מכנים תנאים.
ניתן למצוא בלוקים במצב דוחות הבקרה הכתומים.
תנאים נוח לי קטן מציין מיקום המציג את הצורה
הבלוק שאתה צריך כדי להכניס את זה.
אז תלוי בהקשר של מצב, אתה יכול לבחור בוליאני
ולמקם אותו בתוך המצב שלך.
וביחד, יש לך הצהרה מותנית.
ברגע שאתה שם את הדברים בפנים, כי לחסום יש לך להגדיר את מבנה
לפיה פעם במצב מסוים הוא נפגש, אז אתה לבצע אלה
הצהרות.
>> אחד היתרונות של מחשבים הוא כוח ומהירות העצום שבה הם
ניתן לבצע תהליכים חוזרים ונשנים.
במקום, יניח, חוזר הוראה שוב ושוב ושוב
שוב ובעצם להקליד את זה, או במקרה זה, גרירה ושחרור
וגרירה ושחרור, מה שאנחנו יכול לעשות הוא לתמצת בלולאה.
>> לולאות יכולות לשמש גם לביצוע דברים אינסוף עם לולאה לנצח,
או למספר מוגדר של פעמים.
כך, למשל, לחזור על ההצהרה, אומר היי, 10 פעמים, או אולי עד מסוים
המצב נכון.
ועם לחזור על זה עד לחסום אותך תראה סריטות כי הוא רומז כי
תצטרך למקם בוליאני לתוך חזור על פעולה עד בלוק לעשות
הצהרה מותנית.
>> עכשיו, אנחנו יודעים שאנחנו יכולים לתמצת תהליכים חוזרים ונשנים בתוך לולאות,
כך שאתה יכול להבין למה משהו כמו זה לא יכול להיות אידיאלי.
זה זמן רב סופר, זה פשוט עושה את אותו דבר שוב ושוב
שוב, 10 פעמים בעובדה.
הוא נע 10 צעדים, אומר שלום, לעבור 10 שלבים, אומר שלום.
אבל עם העזרה של לולאותינו יכול לסדר את זה קצת.
לראות איך זה הרבה יותר טוב.
הוא קצר יותר, זה קטן יותר ו זה משלים את אותו דבר.
>> על מנת להזיז משתנים.
משתנים הם בעצם מכולות לערכים.
בגרד, אלה סוגים של ערכים יכולים או להיות מילים או שהם יכולים להיות
מספרים, ערכים שאנחנו יש שליטה עליו.
בבלוק הראשון זה יש לנו משתנה טקסט המכיל את
ערך, שלום, עולם.
בדוגמא השנייה, זה שהניח כבר יש לנו משתנה בשם
דלפק ואנחנו להגדיל כל זה על ידי שלוש.
ולאחר מכן, בדוגמא האחרונה, אנו רואים דוגמה למשתנים בשימוש
בתוך של תנאים.
באזור זה, אנחנו שואלים אם משתנים דלפק הוא פחות מאפס.
>> עכשיו, כשאתה יוצר משתנה שיש לך להחליט אם אתה עושה
משתנה זמין לכל השדונים בתכנית השריטה שלך, או
רק לשדונים הספציפיים שנבחרו כשאתה עושה משתנה.
וזה חשוב מאוד החלטה לעשות.
זה מגיע לך מה היקף רוצה משתנה שיש.
>> דוגמה להיקף המקומי תהיה משתנה רק לספרייט ספציפי אחד,
מה שאומר שרק זה היית ספרייט תוכל לראות או לשנות אותה.
אם הגיע למסקנה משתנה עם עולמי היקף על ידי בחירה לכל
שדונים, אז זה אומר שעל הבמה, כמו גם את כל השדונים,
תוכל לראות, לשנות, וגישה ה
משתנה שיצרת.
ומבחינת עיצוב, זה הכי טוב לבחור היקף מקומי בכל פעם שאתה יכול
רק כדי ששאר השדונים ובמה לא צריכה לדאוג
שמירה על מסלול של משתנה זה.
>> אתה יכול למעשה יש שני משתנים של את אותו שם לשדונים שונים כמו
כל עוד אלה הם משתנים מקומיים.
אחד ספרייט, חתול, יכול להיות משתנה שם מונה, ושניים ספרייט, כלב,
יכול להיות גם משתנה בשם נגד כל עוד אלה
הם שני משתנים מקומיים.
בגלל היקף משתנה לא להאריך לשאר
תכנית, ואף אחד מהשדונים האחרים או השלב יהיה להתבלבל.
>> מוקדם יותר, שציינתי את נקודת הכניסה, כאשר הדגל ירוק לחץ בלוק.
בלוק ושהנלווה הצהרות הן בעצם אומרות לי
השדונים שלך או במה, על אישור, כאשר הדגל הירוק לוחץ, זה
מה אתה צריך לעשות.
אבל זה לא המקרה היחיד ש שדונים והבמה יכולים להגיב.
יש לנו, למשל, לאירוע כאשר מקש במקלדת נלחץ.
למעשה אתה יכול לבחור את האותיות עד Z, אפס עד תשע או
מקשי חצים.
>> ישנם אירועים אחרים, יותר מדי, כגון כאשר ספרייט שלך לחיצה עליו.
כשאתה מתחיל עם בלוקים אירוע כמו אלה, תוכלו להבחין במגמה.
כולם יש קבוצה אחת על חלק תחתון ועליון חלק, אשר
מצביע על כך ששום דבר מעל מתחבר לגוש זה.
אתה בונה באותם אירועים בלוקים ולבנות מטה.
>> עכשיו, מה קורה אם אנחנו רוצים איזה אירוע לקרות, למשל, כאשר חתול הוא
נגיעה בחלק מסוים מהבמה?
אנחנו למעשה אין לי שום מובנים אירוע כדי לסמן את זה, אז מה יהיה לנו
יש לך לעשות הוא ליצור אירוע משלנו.
וזה נקרא שידור.
>> לכן, כאשר אתה רוצה לאותת כי אירוע מסוים שקרה, אז אתה
להשתמש בשידור בשם שחור, אשר הוא נמצא בכרטיסיית הבקרה.
שם תוכל מקליד את שמו של אירוע שאתה רוצה לשדר, ו
אז לפי ספרייט או שלב יכול להגיב לזה
לשדר אם אתה כל כך רוצה.
הבלוק כשאני מקבל אומר לי שדונים מה לעשות כשהם
הודעתי שמותאם אישית שלך אירוע שקרה.
אז לזכור כי בכל פעם שאתה לשדר מקרה, זאת עם
הבנה שכל אחד מן שדונים או השלב הוא הולך
לקבל אירוע ושלהגיב אליו.
>> עכשיו, הרעיון האחרון לפני שאנו מקבלים לדוגמה ממשית של שריטה
תכנית, היא הרעיון של אשכולות.
זה היה רגע שהמחשב שלך הוא ביצוע בו זמני
תהליכים בו זמנית.
ואני בטוח שכולנו לקחנו יתרון של זה.
כמו גלישה באינטרנט בזמן האזנה למוסיקה.
המחשב יכול לבצע כמה דברים באותו הזמן.
>> בדוגמה זו כאן, שני אלה תסריטים יכולים לשמש עבור
בדיוק את אותו ספרייט.
בלוק נקודת הכניסה, כאשר הדגל ירוק לחץ, משמשת מספר רב של פעמים, אך
הם שני סקריפטים נפרדים.
ואכן, הדגל הירוק לחיצה בלוק יהיה כנראה אחד ביותר
לוקים פופולריים בתכנית שלך.
כאן אנו רואים שכאשר הדגל הירוק הוא לחץ, יש תהליך אחד הולך
ב, כמו גם אחר.
אז סריטות תהיה למעשה אלה לרוץ שתיים באותו הזמן בדיוק.
וידיעה שאתה יכול למעשה יש נקודת כניסה יותר מפעם אחת, גם אם
זה אותו נקודת הכניסה, הוא הולך כדי להיות באמת שימושי אם אתה רוצה
משימות שונות נפרדות אחד מהשני.
>> בסדר.
אז עכשיו שאנחנו כבר כיסינו את כל אלה מושגים, בואו נסתכל על דוגמה.
אני כבר עשיתי סדרה של תוכניות לגרד, כדי לנסות לבצע יחד כפי שאנו
לעשות משחק קטן.
בואו נתחיל על ידי פתיחה רעב אפס דינו.
>> בואו לחצו על הדגל הירוק להתחיל אותו ולראות מה הוא עושה.
יש לנו ספרייט באג שזז ל כמה צעדים, מאפס בגובה מסוים, ו
לאחר מכן נסוג לאחור.
ולאחר מכן יש לנו ספרייט דינו.
על ידי הקשה על מקשי החצים, אני עובר ספרייט דינו מסביב, מה שהופך אותו לפנות
ולסובב.
כי יכול להיות סוג של כיף, אבל יש לא רבים מאוד
תסריטים בתכנית זו.
אנחנו בהחלט יכולים להוסיף לזה.
>> לדוגמה, כאשר דינו להעבירו באמת יכול לרדת מהמסך ו
כמעט נעלמים מאתר.
אנחנו רוצים לשנות את זה כי אנחנו לא רוצה דינו לברוח.
אז בואו נפסיק התסריט שלנו עם אדום דגל ולאחר מכן לערוך את הסקריפטים דינו.
שים לב שיש לו תסריט המסוים הזה לולאה לנצח, המסתיימת עם
קצה ישר.
אין לו כל חריץ בתחתית.
וזה הגיוני מ שם, לולאה לנצח.
זה ביצוע משהו לאין שיעור ולעולם לא יסתיים.
אז זו הזדמנות מצוינת כדי להציג את נושא.
>> בסדר.
אז בואו נוסיף תסריט אחר.
אני הולך להתחיל עם ערך זה נקודה, כשהדגל ירוק לחיצה עליו.
ואני רוצה לבדוק ברציפות האם דינו הולך להיות
נוגע בקצה.
תחת תנועה יש גוש קטן ונחמד שאומר, אם בעזיבות אדג'.
וכך אנחנו רוצים ברציפות ביצוע הזה.
>> מה ההצהרה הזאת עושה הוא בודקת אם ספרייט הוא על הקצה
במה, וקופץ בחזרה אם זה הוא.
ובגלל שהמשתמש תמיד יכול להעביר את דינו, אנחנו רוצים למצוא איזשהו
לולאה שמאפשרת לנו באופן רציף לבצע את ההצהרה הזו.
מחפשים תחת בקרה אנחנו לבחור את הלולאה לנצח.
אז בואו לגרור את זה לתוך תסריטי דינו, ולאחר מכן
אם להוסיף על עזיבות אדג'.
ואז בואו לבדוק את התכנית שלנו.
>> אז הבאג הוא נע כרגיל, ו לאחר מכן, אם אנו בוחנים את התסריט החדש שלנו על ידי
נע דינו שלנו לקצה, אנחנו רואים שזה לא יכול
לברוח שלב יותר.
זה קופץ מייד בחזרה.
אולי עכשיו אתה תוהה מדוע דינו קפיצות אבל לא באג.
טוב, זה בגלל שכתבנו החדש ביותר שלנו בתוך תסריטי דינו תסריט
ולא באגים.
אז הבאג לא יקשיב לי הוראות שנתנו דינו.
>> בסדר.
אז בואו נוסיף משהו חדש עכשיו.
אם תלכו לכרטיסיית התחפושות שתראו כי התלבושות השונות ה
מגיע מראש עם ספרייט נבחר אם תבחר אחד מן
ספרייה מאפס.
אין דינו חמוד chomp הקטן הזה תחפושת, אז בואו ליישם את דינו
כאשר אנו לועסים הקש, לומר, על מקש הרווח.
>> חזור לתסריטי דינו.
בתסריט הזה כאן, אני כבר בדיקה בלולאה לנצח אם
מקשי חצים מסוימים שלחצו והעברת דינו בהתאם.
אם הם עזבו את החץ נלחץ, דינו מסתובב נגד כיוון השעון.
אם החץ הימני נלחץ, דינו מסתובב בכיוון השעון.
אז אם החץ למעלה נלחץ, ולאחר מכן דינו מתקדם קדימה.
אנחנו רק יכולים להוסיף לתסריט במקום הוספה אחד נפרד בגלל זה
כבר בבדיקת הנושא שמפתחות נמצאים נלחצו.
>> בואו נוסיף אחד שבודק מקש רווח מלחיצה.
גושים אלו כאן בודקים למקשים שנלחצו.
הם כולם בצבע הכחול הבהיר, ולכן בואו נלך לחישה כחולה בהירה
ההצהרות ולהסתכל מסביב.
הנה בלוק עיתונות במרווחי מפתח.
אז מה אנחנו רוצים לעשות הוא לקבל את דינו לעבור לקיצוץ שלה למטה תחפושת
אם, ורק אם, שטח מתבצע נלחץ מקש.
>> אז בואו לחקות את המבנה כאן.
עכשיו, שינוי התחפושת יש לעשות עם איך דינו נראה כל כך נלך ל
תראה הצהרה.
ואכן, יש לנו החלף תלבושות לדין Chomp.
כעת, כאשר אנו chomp למטה אנחנו לא רוצים דינו להיות לועס למטה לנצח,
אז בואו להוסיף משפט אומר לי בו כדי לעבור קדימה.
זה יהיה סוג של תלבושות לעבור במהירות, אם כי, כי בדוחות Scratch
יהיה לבצע גב אל גב באמת במהירות, באופן כמעט מיידי.
אז בואו נלך לבקרה ולאחר מכן לבצע את הפסקת דינו לקצת ידי המתנה
שנייה אחת אחרי זה Chomps למטה.
>> עכשיו בואו לערוך ספרייט באג.
ספרייט באג חמישה צעדים קדימה צעדים בסך הכל חמש פעמים לאחר
ההפסקה של הרגע.
בבלוק העליון כאן באג ממקם את עצמו בודאות
X-לתאם ערך.
כדי למצוא את הקואורדינטות אתה יכול למעשה במעבר עכבר על המסך ו
לאחר מכן, בפינה התחתונה של הבמה חלון הקואורדינטות יעדכנו כך
אתה יכול לנצל את זה שימושי תכונה ליישם את הקואורדינטות
שאתה רוצה.
וגם, בהצהרה זו כאן, אנו מורים באג כדי להתחיל באותה
x מעריך בכל פעם, אבל לבחור אקראי גובה עבור באג שעדיין
שהייה במסגרת המגבלות של הבמה.
>> ראה כאן, כי אני לוקח את היתרון של שידור אירוע בסריטות.
מטפל אירוע זה נקרא ניו Bug1.
אז בכל פעם שמקבל את הבאג אירוע החדש Bug1,
זה יהיה להפעיל את המשפט.
אז אחרי שהוא נע קדימה סטה כמות פעמים, זה ממש
שידורי האירוע החדש Bug1.
>> אבל מה דעתך עלינו לשנות סקריפט זה קטן?
כרגע יש לנו את הבאג נע חמישה שלבים.
זה לא הרבה, בסך הכל מחמש פעמים.
אנחנו לא באמת יודעים כמה פעמים תהיה יהיה צורך, עד שמגיע לבאג,
אומר, בסופו של המסך, אז בואו לעשות אבל להגיע לסוף
מסך, אבל משתמש בסוג כלשהו של מבנה אחר.
>> אני הולך להפריד את זה כי אנחנו הולכים לשנות כמה דברים.
כדי למחוק בלוקים מסריטות אתה גורר את אבני
עזב את המקום ואז לשחרר.
וזה מקבל שנמחק.
אם אתה מחליט שאתה לא רוצה את זה אז אתה יכול למחוק
ללכת לעריכה ומחיקתו.
אבל אנחנו לא רוצים להגיע להיפטר מהגוש הזה.
>> מה שאנחנו רוצים לעשות עכשיו הוא לעבור, נניח, 50 צעדים ולהשהות שנייה אחת, ו
לחזור על זה עד שניגע הסוף של המסך.
אז בואו להשתמש בלולאה שמאפשרת לנו חזור על תהליך עד מסוים
תנאי מתקיים, בצדק חזור על פעולה עד ששמו.
>> מה שקורה בתוך המצב חזור על פעולה עד ל?
משהו שאומר לנו אם באג נוגע בקצה
מסך, שהוא הולך להיות תחת דוחות חישה.
הנה בוליאני זה, לגעת.
ואתה יכול לבחור מה שכאן אתה רוצה לבדוק.
כך יהיה לנו אדג' בחר לגעת ולהוסיף הצהרה זו מותנית בחזרה פנימה
>> אז עכשיו אם אנחנו צופים בבאג שלנו, זה יהיה לחזור שוב פעם שהיא נוגעת
קצה הבמה.
גדול.
אנחנו גמרנו עם דינו רעב אפס, אז בואו לפתוח את דינו רעב אחד.
כמו סוג של תכנית בישול, אני הוספתי קצת יותר תכונות.
למשל, אתה תראה שבאג למעשה מחליק בפשטות עכשיו
בניגוד לקודם.
תחת תנועה יש את זה לגלוש הצהרה.
עכשיו, באג גולש 70 יחידות ל זכותו של מיצג הנוכחי שלה, אבל
נשאר באותה תנוחת y כאן.
ואנחנו יכולים עכשיו יש לי דינו לועס כפי שאנו יישמנו בעבר.
>> אבל, תכנית זו לא נקראת רעבה דיון לשום דבר אז בואו יש לי
דינו לאכול בחיידק.
איך ייתכן שאנחנו אומרים את הבאג, או לספר דינו, כי יש לו כרת?
כיצד ייתכן שאנו מתקשרים האירוע הזה?
ובכן, אנו יודעים שכאשר אנו עוברים תחפושת לדין לצ'ומפ דינו
שאנחנו כבר טחנו למטה.
ואומרים שאנחנו רוצים את הבאג להיעלם ברגע שהוא יאכל.
ובכן, אנחנו נצטרך לבדוק אם הבאג כבר לעס ו
מתקשר לבאג שיהיה לו להסתיר או להיעלם מהמסך
פעם אחת זה כבר טח למטה.
>> אז איזה סוג של רעיון, איזה סוג של כלי אנחנו יכולים להשתמש בו כדי לקבל את דינו
מתקשר לבאג ש היא לעסה את?
שידור.
אז בואו נלך לאירועים ולהוסיף אירוע לשידור.
Chomp.
אישור.
אך יש לזכור כי ברגע שאנחנו משדר משהו שאנחנו גם צריכים
לקבל האירוע הזה.
אז איזה ספרייט ישדר צ'ומפ?
ובכן, בואו אעשה את זה דינו כאשר מקש הרווח נלחץ.
>> בואו נוסיף בלוק לקבל צ'ומפ.
עכשיו, כאשר דינו מסתכם רק ב חלל ריק שאנחנו לא רוצים את הבאג
כדי להגיב לזה בכלל, רק אם דינו היה נוגע ללב, אבל בזמן
של צ'ומפ לעשות אנחנו באמת לעשות משהו.
לכן אנו נשתמש בתנאי אם כי אנחנו בודקים אם משהו הוא
נכון או לא.
>> עכשיו, אם אנחנו חוזרים לחישה, ולאחר מכן אנחנו יכולים להשתמש בזה נוגע ללב
לחסום ובחר דינו.
לאחר מכן, תחת מבטים, אנו מוצאים להסתיר את זה בלוק שבעצם יעשה את הבאג
להיעלם מהבמה.
>> אנחנו נעשה את זה להסתיר, אבל אנחנו עושים רוצה באג אחר, נכון?
דינו שלנו הוא רעב.
אז אנחנו רוצים לתת לו עוד באג למרדף.
אז בואו גם לשדר האירוע החדש Bug1.
אלא שאנו רוצים אותו לחכות לזמן לפני באג אחר מופיע, אז בואו
כמו כן לחכות שני אחת.
>> בסדר.
אז בואו לבדוק את זה.
אנחנו טחנו למטה, אבל נעלם, עוד אחד מופיע, ואנחנו chomp למטה
על זה שוב.
זה נראה כמו די משחק מהנה, אבל כל המשחקים
צריך להבקיע, נכון?
אז מה אנחנו יכולים להשתמש בו כדי לעקוב אחר כמה באגים דינו אכל?
משתנה.
אז בואו נוסיף ציון שם משתנה.
>> ועכשיו נצטרך להחליט מה יש משתנה זה היקף.
אז בואו נחשוב.
למרות שאולי אנחנו רוצים, אבל כדי להגדיל הציון אם זה היה
אכלתי בהצלחה, ואולי השלב יש משהו לעשות עם
ציון, כמו גם, אז בואו להקצות משתנה זה לכל השדונים.
>> אנחנו רוצים להגדיל את התוצאה, אם ו רק אם, באג כבר אכלתי.
ואנחנו כבר כתבנו תסריט ש עוסק בבאג שאכל כל כך
בואו נוסיף משפט אחד זו ב, שינוי בציון אחד.
זה אומר שברגע שאתה אוכל באג עליות הציון.
>> בואו נשחק קצת ולאכול, אני לא יודע, שלושה חרקים.
אז אתה מקבל עייף של המשחק, טוב, אתה לוחץ על לעצור באדום
היכנס כדי לעצור את המשחק.
וכשאתה רוצה לחזור אתה לחץ על הדגל הירוק שוב.
אבל הציון הוא עדיין שלוש אפילו למרות שאני משחק במשחק חדש.
אנחנו לא רוצים לתת למשתמשים את הראש להתחיל, ולכן אנחנו צריכים לאפס את
לקלוע כל פעם שהם להתחיל משחק חדש.
אז בואו נוסיף להצהרתו של שלב תסריט נקודת כניסה כדי להגדיר את
ציון משתנה לאפס.
אז עכשיו, בכל פעם שאתם מתחילים את משחק, הציון יתחיל בשעה אפס.
>> עכשיו בואו לפתוח רעבים דינו שבו 2 אני הוספתי עוד כמה דברים.
אני לוחץ ממש על ספרייט באג לשכפל את הדמות המונפשת שגרמה
ספרייט הזהה לקודמתה שלי.
באג רעל הוא בעצם זהה ל Bug1 אבל אני בחרתי תחפושת חדשה, כי
אני חשבתי שזה נראה, טוב, סוג של רעל.
במקום להגדיל את התוצאה כש באג הרעל נאכל, אני בעצם
להקטין את התוצאה על ידי שינוי ציון על ידי שלילי.
>> ואז עשיתי עוד תחפושת ל דינו שלנו באמצעות עורך צבע כדי
להפוך את דינו מחפש חולה ושם זה דינו חולה.
אבל אנחנו לא משתמשים בזה בתחפושת שלנו תכנית עדיין, אז בוא נוסיף קצת
הצהרות ובלוקים שישנו התחפושת של דינו לחולים ירוקים
תחפושת בכל פעם שהוא אוכל באג מורעל.
>> עכשיו, מכיוון שאנחנו משוכפלים ספרייט באג, יש באג הרעיל את כל
את הסקריפטים ש הבאג מקורי עושה.
אם אתה רוצה להעתיק את התסריטים מ שדונים אחרים, אתה יכול לגרור את
תסריט על גבי ספרייט שברצונך להעתיק.
אבל אנחנו לא צריכים לעשות את זה כאן משום שכבר יש לו את הבאג המורעל
תסריט שבודק שבאג כבר טח על.
ואנחנו יכולים לנצל את זה כדי מתקשר לדין כי היא אכלה
באג רעיל.
ואנו מתקשרים בין שדונים על ידי שידור.
אז בואו שודרו חדש אירוע הנקרא דינו חולה.
>> ואנחנו יודעים שיש לנו לתחפושת דינו כדי לשנות, אבל אנחנו גם
יודע מקודם שזה הכי טוב להוסיף בהפסקה
בין שינויי תחפושת.
לכן, כאשר אני מקבל דינו חולה, אני הולך כדי לשנות תחפושת לדין חולה, המתן
שנייה אחת, ולאחר מכן לעבור לגבות לדין רעב.
בסדר.
בואו נשחק את המשחק שלנו ולאכול באג והחיפושית.
והציון פוחת באחת.
>> עכשיו, לפעמים ייתכן שתבחין כי משתנה לא תופיע על
פינה שמאלית של המסך.
אם אתה מנווט לסעיף נתונים תחת את התסריטים, תראו סימן ביקורת זו
לצד המשתנים שאתה יוצר.
וזה מסתיר או ביטול הסתרה של את משתנה מהמסך.
אבל אתה גם יכול להשתמש בהצהרה הצג או בשם
הסתר משתנה ספציפי.
אז בואו להשתמש ציון משתנה הצג זה כדי לוודא כי בכל פעם שאנחנו מתחילים
המשחק, משתנה מוצג.
גדול.
>> אז בואו להפעיל את המשחק ולאכול באג רעל מייד.
עכשיו, זה קצת מוזר שיש משחק יש נקודות שליליות, נכון?
אז בואו להציג את תכונה אחרת.
אם דינו אוכל יותר מדי רעיל באגים ואז זה נהיה חולה מדי ו
משחק נגמר.
אז ליישם את זה, אנחנו נשדר עוד אירוע, משחק נגמר.
איך אנחנו יודעים מתי לבצע המשחק הזה במהלך שידור?
>> ובכן, אנחנו יכולים לעשות את זה כמה דרכים.
אנחנו יכולים להיות תסריט בשלב זה ברציפות בודק אם הציון
הוא שלילי או לא, ושידורים משחק נגמר כאשר
ציון הופך להיות שלילי.
או שאנחנו יכולים לנצל את העובדה כי הדרך לתוצאה יכלה אי פעם רק
יהיה שלילי, הוא כאשר רעיל באג הוא אכל.
משום שכאשר אתם אוכלים אחרים באג, עולה הציון.
אין טעם בבדיקה אם זה צריך להיות משחק מעל או לא כאשר אתה
לאכול באג אכיל.
>> אז אנחנו יכולים למעשה רק להוסיף תסריט שמקבל את דינו החולה
שידור אירוע.
אנחנו רוצים להנחות את דינו כדלקמן.
אם התוצאה היא פחות מאפס, שידור משחק נגמר.
כך יהיה לנו לבנות את הציון פחות מאפס מצב באמצעות בלוק מ
סעיף מפעיל, וגרירה בציון שלנו לגוש זה.
ורואה כאן שאתה יכול פשוט לגרור את ציון משתנה ולשים פחות מאפס.
ואנחנו הולכים לשדר אירוע חדש, משחק נגמר.
>> אבל אם הציון לא נעלם מתחת אפס, אנחנו רוצים את דינו ל
להמשיך במשחק.
אז במקום להשתמש אם כאן, בואו להשתמש אם אחר לבנות.
אם אחר אומר לבנות דינו שלנו לעשות דבר אחד אם התנאי הוא אמת
ועוד דבר, אם מצב הוא שקרי.
הגוף שלנו הראשון אם יכול להיכנס אם אחר, אז בואו לגרור שבי
אבל אם התוצאה היא לא פחות מאפס, אז בואו לעבור בחזרה ל
תחפושת דינו רעבה.
אנחנו לא רוצים לעשות את זה מנע.
גדול.
>> אבל מאז ששודרנו במהלך משחק, אנחנו עדיין צריכים לעשות
בלוק מקלט אירוע.
אין למעשה להפסיק את כל ההצהרה בשליטה, אז בואו להתחבר לזה
כאשר אני מקבל משחק נגמר.
אבל אנחנו גם רוצים את הבאג כדי לעצור, ולכן בואו לגרור את התסריט הזה לכל
באג שדונים, כמו גם את הבמה.
בואו ננסה את זה.
>> אכילת חרק ארסי מייד, התכנית מפסיקה כצפוי.
אף אחד ממהלך החרקים האחרים ולא עושה דינו אם תלחץ
למטה במקשי החיצים.
אבל בואו נגיד שאנחנו לא רוצים להזכיר המשתמש של הציון השלילי שלהם, ולכן
בואו להסתיר ציון משתנה מ השלב בכל פעם שהמשחק
במהלך אירוע הוא קיבל.
בסדר.
>> אז זה משחק די הגון.
עם זמן ככל שאתה יכול להוסיף עוד שדונים ועוד תסריטים.
אולי את החרקים יכולים להזיז במהירויות שונות.
אתה יכול להוסיף רקע חדש על הבמה -
Game Over רקע -
כך, שכאשר מקבלת את הבמה משחק נגמר אירוע, זה יכול לעבור
Game Over רקע וכל מלהסתיר שדונים.
המון טריקים קטנים יכול להיעשות כדי להפוך המשחק שלך קצת יותר מלוטש.
>> וזו רק דוגמה אחת פרויקט שאתה יכול לעשות בסריטות
שימוש בכל הכלים ש דנו קודם לכן -
שדונים, תלבושות, תפאורות, בשלבים, תנאים, לולאות, משתנה,
אירועי שידור וחוטים.
רעב דינו אינו משתמש בכל צליל לוואי, אבל אתה יכול בקלות להוסיפך
שלו על ידי ניווט לכרטיסיית הצלילים ו לחקור דוחות הקול.
שריטה היא מבוא מצוין מושגים בתכנות, ולכן להיות יצירתיים
והכי חשוב, שיהיה כיף.
השם שלי הוא Zamyla, וזה CS50.