PracticU

תרגול - משחק קלפים - תרגול מסכם בשפת swift

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode › תרגול - משחק קלפים - תרגול מסכם בשפת swift
מילון מושגים:
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
אינדקס - מבנה במסד נתונים שמאיץ חיפוש ושליפה. גם מספר המציין מיקום של איבר במערך.

תרגול - משחק קלפים - תרגול מסכם בשפת swift
התרגול הזה בונה משחק קלפים מלא: enum לדרגות, enum לצורות, סטרקט לקלף ומבנה שמייצר חפיסה שלמה. בכל שלב משתמשים ב-CustomStringConvertible כדי להציג את הקלף.
איך זה עובד
1. enum הדרגות: הדרגות כוללות את המספרים 2 עד 10, וגם נסיך, מלכה, מלך ואס. תיאור הדרגה מוחזר בעזרת switch על self, כשהאס מוצג באות A והמלכים באותיות שלהם.
2. ערך הקלף: תכונה מחושבת בשם value מחזירה מספר לכל דרגה. האס מקבל 11, נסיך, מלכה ומלך מקבלים 10, ושאר הקלפים מקבלים את הערך המספרי שלהם.
3. ערך מספרי: בתיאור הקלפים המספריים משתמשים ב-rawValue, כך שהקלף 2 מוצג כ-2 וכך הלאה.
4. enum הצורות: ארבע הצורות לב, יהלום, ספייד וקלאבס מיוצגות באותה דרך, עם תיאור משלהן.
5. סטרקט הקלף: הקלף הוא סטרקט עם צורה ודרגה שמוגדרות כ-let, כי לא צריך לשנות אותן, ותכונה description.
6. בניית החפיסה: מערך של קלפים מאותחל בבנאי. לולאה על הצורות ולולאה על הדרגות מוסיפות קלף בכל איטרציה בעזרת append, ובסך הכל מתקבלים 13 דרגות ו-4 צורות.
תרגיל
מגרילים קלף רנדומלי מתוך החפיסה ומציגים אותו. התרגיל מבוסס על הגרלת מספר ועל בחירת קלף לפי האינדקס.
בסיום התרגול תדעו לבנות enum עם תכונה מחושבת, סטרקט שמכיל אותו, ולמלא חפיסה שלמה בלולאות.
השיעור הבא בקורס: רב-צורתיות, בדיקת סוג משתנה בזמן ריצה והמרת סוג המשתנה

פרקי ההרצאה: תרגול - משחק קלפים - תרגול מסכם בשפת swift

  1. 00:00

    תרגול מסכם: משחק קלפים בסוויפט

  2. 00:42

    תרגיל: enum לדרגות קלף עם תיאור מחרוזת

  3. 01:37

    פתרון: enum לדרגות והחזרת תיאור

  4. 03:18

    ערכי הקלפים המספריים בברירת המחדל

  5. 04:33

    enum ל-Suit: הצורות של הקלפים

  6. 05:49

    תרגיל: ערך מספרי לכל דרגת קלף

  7. 06:27

    פתרון: switch על self לערך המספרי

  8. 07:50

    תרגיל: בניית קלף משחק כסטראקט

תמלול ההרצאה: תרגול - משחק קלפים - תרגול מסכם בשפת swift

הטקסט המלא של הדקות הראשונות בהרצאה «תרגול - משחק קלפים - תרגול מסכם בשפת swift» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום וברוכים הבאים לפני שנסיים את המודול הבסיסי שלנו בשפת סוויפט אנחנו חייבים חייבים לתרגל והרבה אז הכנתי לכם יופי של תרגול ואני מקווה שתהנו התרגול השלב הראשון שלנו בתרגול הוא לייצר בעצם אינם עבור הדרגה של קלף מה זה הדרגה של קלף זה המספר נגיד 2 3 4 5 6 וכולי כולל גם יכולים להיות קלפים נוספים כמו נסיך, מלכה ומלך

  2. 00:33

    ובנוסף יכול להיות לנו הקייס של אסט אוקיי? אז אנחנו רוצים בעצם לייצר אינאם שכזה שיתאר את כל המקרים זה כבר כתבתי עבורכם כפי שאתם יכולים לראות אבל מה אני עוד רוצה מכם?

  3. 00:48

    אני רוצה שאתם תממשו את האוטוקול שנקרא Custom String Convertible ופה ב-Description תחזירו איזשהו סטרינג איך תעשו את זה? ממליץ כמובן לעשות סוויץ' בסדר כדי לבדוק את סלף ולהחזיר איזשהו סטרינג בהתאם כפי שדיברנו בקורס שלנו בהקשר של אינמים אז אני מזמין אתכם לבדוק שם רק כמובן עבור הקלף מספרי תחזירו את המספר כסטרינג תחזירו נניח

  4. 01:17

    2 ואם היינו בקלף של קינג אז אתם צריכים להחזיר את כל הכתב או שאתם בעצם רוצים לעשות כמו פה בקלף k עבור us להדפיס a בסדר בדיוק כפי שאתם רואים פה בקלפים אז זה התרגיל שלכם תעצרו פה את הסרטון ואנחנו ניפגש עם הפתרון אז בואו נראה פתרון אני אתיק את

  5. 01:41

    ההתחלה הטובה הזאת פה בסדר ואנחנו נשים את כל הדבר הזה בקובץ swift חדש אז אני אעשה לעצמי new swift file וזה יהיה swift file נקרא לדבר הזה רנק ורנק צריך להיות אינאם שמממש את קאסטום סטרינג קונברטיבל ויש לו רואו ואליו של מספר של אינט.

  6. 02:07

    עכשיו הדסקריפצ'ן שלנו לא תקין, נכון? כי מה בעצם צריך לעשות פה? אנחנו צריכים לעשות, אתם זוכרים? סוויץ' על סד, יפה. עכשיו, בקייסים השונים אנחנו נרצה להשלים את הקייסים.

  7. 02:23

    הקייס הראשון יכול להיות לי נניח אייס. באייס אנחנו רוצים להחזיר נכון איזה עוד קייסים יש לי יש לי קייס נקודה קינג ופה אנחנו רוצים להחזיר קייס נוסף רגע בקינג אנחנו רוצים לשים נקודתיים קייס נוסף יש לנו את דוט ג'ק וכאן אנחנו רוצים להחזיר ג'יי יפה ומה לגבי יתר המקרים בוא נראה אני רוצה רגע לחשוב איתכם

  8. 02:59

    ביחד אייס ג'ק קינג חסר לנו קווין נכון אז בוא נוסיף עוד אחד אלה הקלפים המיוחדים לקחתי את האס ג'ק קווין וקינג ועכשיו נשארו לי כל הקלפים המספריים במקרה הדפולטי אני יכול להחזיר סטרינג כזה שבו אני אשים פשוט את ה-row value שזה הערך המספרי של הקלף עבור 2 זה יצא 2 עבור 3 זה יצא 3 וכך הלאה כסטרינג בסדר אז הנה לכם

  9. 03:38

    המימוש של custom string convertible עבור רינה ואני חושב שזה דוגמה מאוד נחמדה ככה שמדגימה את כל היכולות של סוויף ולמה בכלל שהנה יממש פרוטוקול אם אני עכשיו אדפיס את הדבר הזה מהוויו קונטרולר נגיד יש לי איזשהו רנק let rnk שווה לrnk חדש נגיד ניקח אייס ואני אדפיס את זה רגע אז בוא נדפיס את

  10. 04:08

    הרנק שלנו שיצרנו אז כמובן זה ידפיס לי אותו תוך כדי שימוש ב-custom string convertible וידפיס לי את האות a הגדולה באנגלית בואו נראה מצוין יפה.

  11. 04:20

    אותו דבר אם אנחנו נעשה פה 10, בואו נבדוק כי זה דרך מספרי בכל זאת, אז זה קצת שונה. בואו נראה שאנחנו מדייקים. מצוין, יפה. אז עד כאן לחלק הראשון של התרגול.

  12. 04:37

    אנחנו רוצים להמשיך ולייצר אינם נוסף עבור הציורים של הקלפים. איזה מקרים יש לכם עבור הציורים? יש את המקרה של לב, יהלום, ספייט וטילטן, נכון?

  13. 04:52

    אז בואו תעשו לעצמכם עוד אינאם עבור ה-suit הפעם שיש לו בדיוק את אותם דברים ומממש custom string convertible אז הנה החתימה של האינאם שאנחנו רוצים לכתוב בסדר בואו נעצור פה את הסרטון וניפגש עוד מעט אתם תפתרו את זה בינתיים ואנחנו ניפגש עוד מעט לפתרון אז בואו נציג פתרון אנחנו נקפוץ לסוויפט אני אפתח פה קובץ חדש בדומה למה שעשינו עם הרן

  14. 05:21

    אנחנו פשוט רוצים לפתוח קובץ חדש עבור הsuit אז אני עומד על הגרופ שלי קליק ימני new file בואו נקרא לפייל שלנו אחרי שנייצר swift file נקרא לפייל שלנו suit.swift כאן אנחנו רוצים עדיין ליצור enum תרגיל שלנו אומר את הדבר הבא אנחנו רוצים לייחס ערך לקלפים אנחנו רוצים שה-as יהיה שווה 11 זה יהיה הערך שלו

  15. 05:49

    אנחנו רוצים שכל הקלפים עם הערך המספרי יהיו שווים 2, 3, 4, 5 אני רוצה לתת להם ערך מספרי כזה ואני רוצה ש-jack יהיה שווה ל-10, queen יהיה שווה ל-10 ו-king יהיה שווה ל-10 עכשיו זה לא מתכתב עם ה-raw value ה-raw value הוא מספר רץ, אני לא יכול להגיד ששלושת אלה שווים ל-10 ולכן אנחנו צריכים לייצר עוד תכונה מחושבת

  16. 06:13

    למשל שתיקרא value בסדר? עכשיו E תהיה מסוג של אינטג'ר והתפקיד שלכם זה לעשות פה סוויץ' על ה-self לבדוק את המקרים שאתם רוצים לבדוק ולהחזיר לי פה ערך מספרי כפי שדיברנו עבור s11 עבור כל המספרים להחזיר את המספר ועבור שלושת האחרונים להחזיר 10. אני אעצור את הסרטון וניפגש בפתרון.

  17. 06:41

    אז בואו נציג פתרון אני עושה סוויץ' על self והמקרה הראשון אני אקח את as בייס אני מחזיר כמו שאמרנו 11 נכון יפה עכשיו יש לי עוד מקרה מעניין של הקינג וג'ק וקווין וכל החברה האלה אז נקודה קינג ויש לי גם נקודה קווין ונקודה ג'ק אנחנו מחזירים פה כמה אמרנו 10 יפה עכשיו בכל יתר המקרים זה בעצם המקרים של המספרים

  18. 07:13

    לקחתי את המיוחדים לקחתי את אייס ולקחתי את ג'ק קינג וקווין עכשיו המספרים בעצם זה כל היתר זה הדיפולט אני לא יכול לרשום פה את כל הדבר הזה ארוך זה נקרא המקרה הדפולטי ובמקרה הדפולטי אני רוצה להחזיר פשוט פשוט פשוט את הראו וליו וזה יהיה המספר בסדר הראו וליו הוא יהיה 2 עבור 2 3 עבור 3 4 עבור 4 וכן הלאה אז אני חושב שזה מאוד חסכוני ומאוד אלגנטי

  19. 07:45

    וזה בדיוק הפתרון שאני רוצה להגיע אליו בסדר עכשיו בואו נעצור את הסרטון ונעבור לתרגיל הבא. התרגיל הבא שלנו אומר שאנחנו בעצם רוצים לייצר קלף משחק.

  20. 08:03

    עכשיו, מה אתם תעדיפו בקלף משחק? אתם תעדיפו סטראקט או קלאס? מה עדיף לכם? אני אטען שעדיף לנו לעשות פה סטראקט.

  21. 08:13

    הסיבה א' אני לא צריך כאן ירושה ואם הייתי צריך אז אין מה לעשות היינו הולכים על ירושה אז אם ככה אז קלאס אז אני לא רוצה לעשות פה ירושה במשחק אין לי תוכנית כזאת ודבר שני אני רוצה שקלפים לא יהיו ניתנים לשינוי ואם אני מעביר למישהו קלף הוא לא יוכל לשנות את הערך שלו באף צורה אוקיי ומה זאת אומרת זאת אומרת שהם לא יועברו ב-reference הם יועברו ב-value ויהיה לו רק עותק של הקלף

  22. 08:39

    אז אם ככה אנחנו הולכים פה על סטראקט איזה תכונות אנחנו נרצה בסטראקט שלנו אתם יכולים בגלל שזה קלף משחק איזה תכונות יש לקלף משחק בואו נסתכל רגע על מה שכבר עשינו קודם ממה שאני מתרשם מקלף משחק אני רואה שלקלף משחק יש פשוט suit וrank אוקיי אז בואו נממש את זה בתכנות פשוט זה מה שאנחנו רוצים לעשות אנחנו רוצים שלקלף משחק שלנו הוא יהיה

  23. 09:07

    struct ויהיה לו suit וrank אז כאן יהיה לכם תכונה עבור suit ותכונה עבור rank ובנוסף אתם תצטרכו לממש את הפרוטוקול הזה של custom string convertible כלומר להוסיף description יפה אז אני אעצור פה את הסרטון וניפגש עוד מעט לפתרון בואו תעשו את הפתרון אתם אז בואו נציג פתרון אני אתיק את

לקורס המלא: קורס פיתוח אפליקציות לאייפון

ההרצאה הקודמת: פרוטוקולים ומימושם - Protocols

ההרצאה הבאה: רב-צורתיות, בדיקת סוג משתנה בזמן ריצה והמרת סוג המשתנה

הרצאות קשורות מקורסים אחרים

  • תרגול מסכם על פונקציות
  • תרגיל 23 - משחק מרוץ מכוניות
  • תרגול לולאות
  • סוגי משתנים בשפת Dart

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון