Battlefield2, World of Tanks, The Sims4 ו-Freedom Force הם כמה מאלפי המשחקים המדהימים שפותחו עם Python.
Tkinter, ממשק Python הסטנדרטי לערכת הכלים Tk GUI, הוא מודול רב עוצמה שהופך את יצירת ממשקי משתמש גרפיים לקלה ומהנה. השתמש במודול זה כדי לפתח משחק צבעים מפתת מחשבות. כמו כן, למד כיצד להשתמש במודול לאורך הדרך.
מהו משחק הצבעים?
במשחק הצבעים, התוכנה מציגה את שם הצבע על המסך אך בצבע גופן אחר. לדוגמה, הוא מציג את המילה צהוב באמצעות צבע גופן אדום והשחקן צריך להקליד את צבע הטקסט.
חוסר התאמה זה של מידע יחד עם הטיימר יוצר שפע של בלבול ויוצר חווית משחק משעשעת.
ה-Tkinter והמודול האקראי
כדי לבנות את משחק הצבעים, תשתמש ב- tkinter מודול ואת אַקרַאִי מודול. Tkinter הוא מודול GUI חוצה פלטפורמות, פשוט וידידותי למשתמש שבו אתה יכול להשתמש כדי ליצור ממשקי משתמש גרפיים במהירות.
יש לו כמה כלים שימושיים כמו ווידג'טים של תווית וכניסה ומנהלי פריסה כמו חבילה, רשת ומקום. הפונקציות המסופקות די פשוטות ומקלות על מתכנתים מתחילים לעצב אפליקציות ללא מאמץ רב. כדי להתקין את tkinter במערכת שלך, הפעל את הפקודה הבאה בטרמינל:
pip להתקין tkinter
המודול האקראי הוא ספרייה מובנית שבאמצעותה ניתן ליצור בחירות אקראיות. באמצעות מודול זה, אתה יכול לפתח משחקי קריקט ביד, משחקי ניחוש מספרים, משחקי שמונה כדורים קסומים, מחוללי סיסמאות אקראיות, ועוד רבים.
כיצד לבנות משחק צבע באמצעות Python
קוד המקור של משחק הצבע זמין ב-a מאגר GitHub והוא בחינם עבורך לשימוש תחת רישיון MIT.
התחל בייבוא ה-tkinter והמודול האקראי. אחסן את שם הצבעים כרשימה של מחרוזות ואתחול את ציון משתנה ל-0 ו זמן שנותר עד 60.
מ tkinter יְבוּא *
יְבוּא אַקרַאִי
צבעים = ['אָדוֹם', 'ירוק', 'כְּחוֹל', 'שָׁחוֹר', 'וָרוֹד', 'לבן', 'סָגוֹל', 'צהוב', 'חום']
ציון = 0
זמן_נותר = 60
הגדר פונקציה בשם beginGame() זה לוקח מִקרֶה כארגומנט קלט. הפונקציה מבצעת שתי משימות. ראשית, הוא בודק אם זמן שנותר שווה 60. אם כן, הוא קורא ומבצע את ספירה לאחור() פוּנקצִיָה. שנית, זה קורא את nextcolor() פונקציה שמערבבת באופן אקראי ומציגה את הצבע והניקוד כשהמשחק בעיצומו.
defbeginGame(מִקרֶה):
אם זמן_נותר == 60:
ספירה לאחור()
nextColour()
הגדר פונקציה בשם nextColour() ולהתייחס למשתנים באופן גלובלי. אם הזמן שנותר גדול מ-0, הגדר את המיקוד בשדה הקלט באמצעות ה- focus_set() שיטה בתווית הכניסה (מאוחסנת במשתנה ה) המוגדר במחצית המאוחרת של הקוד.
להשתמש ב לקבל() שיטה לאחזר את הטקסט הנוכחי של הערך כמחרוזת ולהפוך אותו לאותיות קטנות כדי למנוע אי-התאמה של רישיות. אם זה שווה לצבע המוצג על המסך, הגדל את הניקוד באחד. להשתמש ב לִמְחוֹק() פונקציה מהאינדקס 0 עד האחרון בווידג'ט הערך כדי לנקות את התוכן.
defהבאצבע():
גלוֹבָּלִי ציון
גלוֹבָּלִי זמן שנותר
אם זמן_נותר > 0:
e.focus_set()
אם e.get().lower() == צבעים[1].נמוך יותר():
ציון += 1
e.delete(0, END)
להשתמש ב לְעַרְבֵּב() פונקציה לסדר מחדש פריטים ברשימה ולהציג את תווית הצבע עם הטקסט כצבע הראשון ברשימה וצבע הגופן כצבע השני ברשימה. להשתמש ב config() פונקציה פועלת scoreLabel (שמבקש ללחוץ על Enter) כדי להציג את התוצאה בזמן שהמשחק נמצא.
random.shuffle (צבעים)
label.config (fg=str (צבעים[1]), text=str (צבעים[0]))
scoreLabel.config (טקסט="ציון: " + str (ניקוד))
הגדר פונקציה בשם ספירה לאחור() שמתייחס למשתנה הזמן שנותר ומפחית אותו באחד. להשתמש ב config() פונקציה על תווית זמן כדי להציג את הזמן שנותר על המסך ואת לאחר() פונקציה להתקשרות חזרה ספירה לאחור לפעול לאחר השהיה של 1000 אלפיות השנייה או שנייה אחת.
defספירה לאחור():
גלוֹבָּלִי זמן שנותר
אם זמן_נותר > 0:
זמן_נותר -= 1
timeLabel.config (טקסט="הזמן שנותר: " + str (הזמן_נותר))
timeLabel.after(1000, ספירה לאחור)
אתחל את מופע tkinter והצג את חלון השורש. הגדר את הכותרת, המידות בפיקסלים וצבע הרקע של החלון.
root = Tk()
root.title("משחק צבעים עם טוויסט")
root.geometry("750x450")
root.configure (background='תפוז')
להשתמש ב תווית ווידג'ט להנחות את השחקן לגבי הוראת המשחק. הוא מקבל את חלון האב שבו היית מציב אותו. הטקסט צריך להציג את סוג הגופן והגודל יחד עם צבע הרקע של התווית. להשתמש ב חבילה() פונקציה לארגן את ווידג'ט התווית בלוקים לפני הצבתם בווידג'ט האב.
באופן דומה, הגדר את תווית הניקוד כדי להורות למשתמש ללחוץ להיכנס כדי להתחיל את המשחק וכן תווית זמן להצגת הזמן שנותר. ודא שלכל התוויות יש צבע רקע כתום, כך שהן משתלבות ברקע. הגדר תווית ריקה שתכיל את שמות הצבעים ב- nextColour() פוּנקצִיָה.
הוראות = תווית (שורש, טקסט="הקלד את צבע המילה לא את הטקסט ;)", גופן=('אריאל', 24), bg="תפוז")
instructies.pack()
scoreLabel = תווית (שורש, טקסט="לחץ על Enter כדי להתחיל", גופן=('אריאל', 24), bg="תפוז")
scoreLabel.pack()
timeLabel = תווית (שורש, טקסט="זמן שנותר: " + str (זמן_נותר), font=('אריאל', 24), bg="תפוז")
timeLabel.pack()
תווית = תווית (שורש, גופן=('אריאל', 90), bg="תפוז")
כפי שהוזכר קודם לכן, השתמש בווידג'ט הכניסה כדי ללכוד את התשובה של השחקן. שלב חשוב הוא קשירת מקש Enter עם אירוע בחלון tkinter כך שכאשר הנגן לוחץ עליו, פונקציה מסוימת תבוצע.
כדי להשיג זאת, אתה עובר את מפתח ואת beginGame() לתפקד כפרמטרים ל- לִקְשׁוֹר() פוּנקצִיָה. בנוסף, השתמש ב- חבילה() ו focus_set() שיטות לארגן ולהגדיר את המיקוד בתווית הקלט ברגע שתלחץ על מקש Enter.
ה = כניסה (גופן=20)
root.bind('' , beginGame)
e.pack()
e.focus_set()
ה mainloop() הפונקציה אומרת לפייתון להפעיל את לולאת האירועים tkinter ולהקשיב לאירועים (כגון לחיצות על כפתורים) עד לסגירת החלון.
root.mainloop()
חבר את כל הקוד יחד, ויש לך את משחק הצבעים עם טוויסט מוכן לשחק בהישג ידך.
פלט של משחק צבע באמצעות Python
בעת הפעלת התוכנית Color Game, מופיע חלון על המסך. בלחיצה על Enter, הספירה לאחור מתחילה, והשחקן צריך להתחיל להקליד את צבע המילה. עבור כל תשובה נכונה, הציון גדל באחד, ובסופו של דבר הוא מציג את הציון הסופי.
פיתוח משחקים באמצעות Python
Python היא שפה פנטסטית לפיתוח משחקים. השפה לא רק פשוטה להבנה ולשימוש, אלא היא גם מאפשרת למפתחי משחקים בכל רמות הניסיון ליצור עולמות משחקים מדהימים, מעניינים ומשעשעים.
בנוסף, ליוצרים יש מגוון עצום של אפשרויות בכל הנוגע להבאת רעיונות לחיים, הודות לפלטפורמות השונות לפיתוח משחקים הזמינות בשוק, כמו PyGame או Kivy.