מדריך משחק פשוט זה יעזור לך לתרגל את היסודות של תכנות Python.

יצירת משחק "רוק, נייר, מספריים" ב-Python היא דרך מצוינת לשפר את כישורי התכנות שלך. אתה יכול ליצור את המשחק עם סקריפט Python יחיד, ולשחק אותו בשורת הפקודה.

המשחק מתחיל בשאלה מהשחקן לבחירתו: "רוק", "נייר" או "מספריים". לאחר מכן הוא ממתין שהם יכנסו לתגובתם. אתה יכול לשחק את המשחק נגד שחקן "מחשב", שיבחר אוטומטית את המהלך שלו.

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

כיצד להגדיר את המשחק ולבקש מהשחקן את המהלך שלו

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

הקוד המלא של הדרכה זו זמין ב מאגר GitHub.

  1. צור קובץ חדש בשם RockPaperScissors.py.
  2. פתח את קובץ Python החדש באמצעות כל עורך טקסט, כגון Notepad++ או Visual Studio Code.
  3. בחלק העליון של הקובץ, ייבא את המודול האקראי. תשתמש בזה בהמשך המשחק כדי לבחור מהלך אקראי לתורו של המחשב.
    יְבוּא אַקרַאִי
  4. הצג הודעה לשחקן, בבקשה להזין אבן, נייר או מספריים.
    userChoice = קלט("אבן, נייר או מספריים? ").נמוך יותר()
  5. instagram viewer
  6. אתחול מערך בשם "moveOptions" המאחסן רשימה של המהלכים הזמינים שאתה או המחשב יכולים לשחק.
    moveOptions = ['סלע', 'עיתון', 'מספריים']
  7. כאשר השחקן מזין קלט, אשר אותו כדי לוודא שהוא אחד המהלכים הזמינים. לאחר שהשחקן הזין מהלך חוקי, הדפס הודעת אישור.
    בזמן (בחירה של משתמש לא ב moveOptions):
    userChoice = קלט("בחירה לא חוקית. חייב להיות אבן, נייר או מספריים: ").נמוך יותר()

    הדפס("")
    הדפס(ו"אתה בחרת {userChoice}.")

איך לעשות תורות עם המחשב ולהשוות מהלכים

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

  1. השתמש במודול האקראי כדי לגרום למחשב לבחור באקראי מרשימת המהלכים הזמינים.
    computerChoice = random.choice (moveOptions)
    הדפס(f"המחשב בחר {computerChoice}.")
  2. תצטרך להשוות את המהלך שלך למהלך של המחשב כדי לקבוע מי זכה. אתה יכול לעשות זאת על ידי יצירת מילון חדש. מילון זה מכיל כל מהלך (לדוגמה, "סלע"), ואיזה מהלך הוא מנצח או מפסיד (לדוגמה, "רוק" מנצח "מספריים" ומפסיד ל"נייר").
    מהלכים = {
    'סלע': { 'פעימות': 'מספריים', 'מפסיד ל': 'עיתון' },
    'מספריים': { 'פעימות': 'עיתון', 'מפסיד ל': 'סלע' },
    'עיתון': { 'פעימות': 'סלע', 'מפסיד ל': 'מספריים' },
    }
  3. השתמש בהצהרת Python if כדי לבדוק אם המהלך שלך והמהלך של המחשב מביאים לשוויון. אחרת, השתמש במילון המהלכים כדי להשוות את המהלך של השחקן למהלך של המחשב.
    if userChoice == computerChoice:
    הדפס(ו"גם אתה וגם המחשב בחרתם {userChoice}. זה עניבה!")
    אַחֵר:
    אם (מהלכים[userChoice]['פעימות'] == בחירת מחשב):
    הדפס(ו"{userChoice} פעימות {computerChoice}. ניצחת!")

    אם (מהלכים[userChoice]['מפסיד ל'] == בחירת מחשב):
    הדפס(ו"{userChoice} מפסיד ל {computerChoice}. המחשב מנצח!")
    כדוגמה, אם תבחר "רוק", אז הערך של מהלכים[userChoice]['beats'] יהיה "מספריים". אם הבחירה של המחשב הייתה "מספריים", זה אומר שהמהלך שלך ניצח את שלהם.

כיצד לשמור על ניקוד בין הנגן למחשב בין מספר סיבובים

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

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

  1. הקוד הנוכחי מייצג סבב בודד של סיבובים שנעשו על ידי השחקן והמחשב כאחד. הוסף את כל הקוד הנוכחי מלבד הצהרת import בתוך פונקציית turn() חדשה. אתה יכול גם לשנות את הודעות הפלט בהתאם, לומר "אתה מנצח את הסיבוב הזה" במקום "אתה מנצח":
    defלפנות():
    userChoice = קלט("אבן, נייר או מספריים? ").נמוך יותר()

    moveOptions = ['סלע', 'עיתון', 'מספריים']

    בזמן (בחירה של משתמש לא ב moveOptions):
    userChoice = קלט("בחירה לא חוקית. חייב להיות אבן, נייר או מספריים: ").נמוך יותר()

    הדפס("")
    הדפס(ו"אתה בחרת {userChoice}.")

    computerChoice = random.choice (moveOptions)
    הדפס(f"המחשב בחר {computerChoice}.")

    מהלכים = {
    'סלע': { 'פעימות': 'מספריים', 'מפסיד ל': 'עיתון' },
    'מספריים': { 'פעימות': 'עיתון', 'מפסיד ל': 'סלע' },
    'עיתון': { 'פעימות': 'סלע', 'מפסיד ל': 'מספריים' },
    }

    if userChoice == computerChoice:
    הדפס(ו"גם אתה וגם המחשב בחרתם {userChoice}. זה עניבה!")
    אַחֵר:
    אם (מהלכים[userChoice]['פעימות'] == בחירת מחשב):
    הדפס(ו"{userChoice} פעימות {computerChoice}. אתה מנצח בסיבוב הזה!")

    אם (מהלכים[userChoice]['מפסיד ל'] == בחירת מחשב):
    הדפס(ו"{userChoice} מפסיד ל {computerChoice}. המחשב מנצח!")

  2. השחקן והמחשב מקבלים שלוש סיבובים כל אחד. הוסף משתנה גלובלי בשם "סיבובים" בראש הקובץ.
    סיבובים = 3
  3. אחרי הפונקציה turn() השתמש ב-Python for loop לחזור על הסיבוב שלוש פעמים. בתחילת כל סיבוב מדפיסים את המספר העגול. קרא לפונקציה turn() כדי לבקש מהשחקן והמחשב לבצע את המהלכים שלהם לאותו סיבוב.
    עבור i בטווח (סיבובים):
    הדפס("")
    הדפס(f" סיבוב {i+1}: ")
    לפנות()
  4. כדי לעקוב אחר מי ניצח בכל סיבוב, הוסף משתנה ניקוד עבור כל שחקן, בראש הקובץ. אתה תקצה ערכים למשתנים האלה בתוך הפונקציה turn(), אז הקפד להשתמש בהם כמשתנים גלובליים.
    computerScore = 0
    ניקוד שחקן = 0

    defלפנות():
    גלוֹבָּלִי computerScore, playerScore

  5. בתוך הפונקציה turn(), לאחר שגם השחקן וגם המחשב עשו את המהלך שלהם, הוסף נקודה לציון המנצח. שנה את הצהרת if כדי להגדיל את הערך של המשתנה "playerScore" או "computerScore".
    אם (מהלכים[userChoice]['פעימות'] == בחירת מחשב):
    הדפס(ו"{userChoice} פעימות {computerChoice}. אתה מנצח בסיבוב הזה!")
    ציון שחקן += 1

    אם (מהלכים[userChoice]['מפסיד ל'] == בחירת מחשב):
    הדפס(ו"{userChoice} מפסיד ל {computerChoice}. המחשב מנצח!")
    computerScore += 1

  6. בסוף הפונקציה turn(), הדפס עדכון לסך הניקוד עבור כל שחקן.
    # הדפס עדכון על סך הציונים לאחר הסיבוב
    הדפס("")
    הדפס(f"לוח תוצאות | ציון השחקן: {playerScore} | ציון המחשב: {computerScore}")
  7. ממש בסוף המשחק, ואחרי לולאת for שחוזרת על תור השחקן והמחשב, הדפיסו את המנצח הסופי.
    הדפס("")

    if (ComputerScore > PlayerScore):
    הדפס(f"המחשב מנצח עם {computerScore} נקודות!")
    אליף (playerScore > computerScore):
    הדפס(ו" אתה מנצח עם {playerScore} נקודות!")
    אַחֵר:
    הדפס(f "זו עניבה! שניכם מנצחים עם {playerScore} נקודות!")

איך להפעיל את המשחק

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

  1. פתח שורת פקודה או מסוף, ונווט לתיקיה שבה אתה מאחסן את קובץ Python שלך.
  2. השתמש בפקודה python כדי להפעיל את הסקריפט:
    פִּיתוֹןאבן נייר ומספריים.py
  3. שחקו את המשחק על ידי הזנת 'סלע', 'נייר' או 'מספריים'.

למד Python על ידי יצירת משחקים

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