מימוש קלאסי של משחק טטריס לדסקטופ, עם אנימציות חלקות, מוזיקת רקע, רמות קושי משתנות, ומסכי אינטראקציה משודרגים.
|
מסך פתיחה |
מסך משחק |
לוח מובילים |
מסך סיום |
| תחום | תכונה | סטטוס | הערות |
|---|---|---|---|
| 🎲 לוגיקת משחק | נפילת טטרומינו קלאסית | ✅ | פיזיקה בסיסית |
| הזזה שמאלה/ימינה/למטה + סיבוב | ✅ | שליטה במקלדת | |
| 👻 בלוק רפאים | תצוגה מקדימה של מיקום הנחיתה | ✅ | משפר UX |
| 🧹 ניקוי שורות | ניקוי שורה מלאה והוספת ניקוד | ✅ | מימוש מלא |
| 📈 ניקוד | מערכת ניקוד דינמית | ✅ | עולה עם רמות |
| ⚡ רמות קושי | בחירת מהירות/קושי | ✅ | קצב ירידה משתנה |
| 🎵 סאונד | מוזיקת רקע ואפקטים | ✅ | Pygame.mixer |
| 💀 סוף משחק | מסך Game Over עם כפתורים אינטראקטיביים | ✅ | כולל כפתורים Play Again, Main Menu, Leaderboard |
| 🏆 Leaderboard | טבלת ניקוד עם גלילה ותצוגת 20 שיאים עליונים | ✅ | בלוקים רקע ואפקטים ויזואליים |
| 🔄 ריסט | התחלת משחק חדש בלחיצה | ✅ | Reset קל |
| 🎬 אנימציות | תנועה חלקה ורספונסיביות | ✅ | FPS יציב |
כדי להריץ את המשחק, יש צורך ב־Python 3.8+ ובספריית Pygame.
מודולים נוספים כמו os, sys, json ו־random מובנים כבר ב‑Python ואין צורך בהתקנה נפרדת.
| שלב 1: התקנת Pygame | pip install pygame |
| שלב 2: הרצת המשחק | python main.py |
כאשר המשחק רץ לראשונה, הקבצים הבאים נוצרים אוטומטית אם הם אינם קיימים:
leaderboard.json– רשימת השיאים (Leaderboard)config.json– שמירת הגדרות המשתמשhighscore.txt– ניקוד הגבוה ביותר
יש לוודא שהתיקייה images/ קיימת ומכילה את כל התמונות הדרושות:
medal-gold.pngmedal-silver.pngmedal-bronze.png
לאחר ההתקנה, פשוט הריצו את הקובץ הראשי:
python main.py
- Language: Python
- Library: Pygame
- Paradigm: Object-Oriented Programming (OOP)
הפרויקט מופץ תחת רישיון MIT – חופשי לשימוש, שינוי והפצה, כל עוד נשמר קרדיט למחבר.
למידע נוסף ראה את קובץ LICENSE
👨💻 Raz Eini (2025)