Skip to content

Advanced real-time chess game with OpenCV graphics and animations

License

Notifications You must be signed in to change notification settings

chaya2350/Kung-Fu-Chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real-Time Chess Game 🏆

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

✨ תכונות מרכזיות

  • גרפיקה מתקדמת - שימוש ב-OpenCV לרינדור מתקדם
  • אנימציות דינמיות - כל כלי שחמט עם אנימציות מותאמות אישית
  • מערכת פיזיקה - תנועות ריאליסטיות וחלקות
  • מערכת קול - אפקטי קול לפעולות שונות
  • ממשק משתמש אינטואיטיבי - בקרה קלה ונוחה
  • מערכת ניקוד - מעקב אחר הישגי השחקנים
  • לוג משחק - תיעוד מלא של כל המהלכים

🛠️ טכנולוגיות

  • C++17 - שפת התכנות הראשית
  • OpenCV 4.5.1 - עיבוד תמונה וגרפיקה
  • CMake - מערכת בנייה
  • JSON - קונפיגורציה ונתונים
  • Design Patterns - Factory, State Machine, Publisher-Subscriber

📁 מבנה הפרויקט

├── my_cpp/                 # קוד המשחק הראשי
│   ├── src/               # קבצי מקור
│   └── openCV_451/        # ספריית OpenCV
├── my_cpp_pub/            # מודולים ציבוריים
├── pieces/                # נתוני כלי השחמט
│   ├── BB/, BW/, KB/...   # כלים שונים עם אנימציות
│   └── board.csv          # הגדרת הלוח
├── pic/                   # תמונות המשחק
├── sounds/                # אפקטי קול
└── CMakeLists.txt         # קונפיגורציית CMake

🚀 התקנה והרצה

דרישות מערכת

  • Windows 10/11
  • Visual Studio 2019+ או MinGW
  • CMake 3.10+
  • OpenCV 4.5.1

שלבי התקנה

  1. שכפול הפרויקט

    git clone https://github.com/chaya2350/real-time-chess.git
    cd real-time-chess
  2. בנייה עם CMake

    mkdir build
    cd build
    cmake ..
    cmake --build . --config Release
  3. הרצת המשחק

    ./RealTimeChess

🎮 איך לשחק

  1. המשחק מתחיל עם מסך פתיחה
  2. משתמש 1 פועל באמצאות חיצים + אנטר משתמש 2 באמצעות ASDW + רווח לבחירת כלים
  3. מעבר אל כלי ואז בחירת המיקום הרצוי
  4. המשחק מציג מהלכים חוקיים בזמן אמת
  5. נצחון מוכרז אוטומטית

🏗️ ארכיטקטורה

עיצוב מודולרי

  • Game - מנהל המשחק הראשי
  • Piece - מחלקת בסיס לכלי שחמט
  • Board - ניהול הלוח
  • State Machine - מצבי כלים שונים
  • Graphics Factory - יצירת אלמנטים גרפיים
  • Physics Engine - מערכת פיזיקה פשוטה

Design Patterns

  • Factory Pattern - יצירת כלים וגרפיקה
  • State Pattern - ניהול מצבי כלים
  • Observer Pattern - מערכת ניקוד ולוגים
  • Command Pattern - עיבוד פקודות משתמש

🎨 אנימציות

כל כלי שחמט כולל מצבי אנימציה:

  • idle - מצב מנוחה
  • move - תנועה רגילה
  • jump - קפיצה (סוס)
  • short_rest / long_rest - מנוחה קצרה/ארוכה

📊 מערכת ניקוד

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

🔧 פיתוח נוסף

הפרויקט מוכן להרחבות:

  • הוספת בינה מלאכותית
  • מצבי משחק נוספים
  • רשת מרובת משתתפים
  • עיצובים נוספים

👩‍💻 מפתחת

חיה זנדר

📄 רישיון

פרויקט זה מפותח למטרות לימוד ופורטפוליו.


פותח במסגרת לימודי הנדסת תוכנה מטעם Ultra Code

About

Advanced real-time chess game with OpenCV graphics and animations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages