تفاصيل العمل

مشروع “Spaceship Battle” هو لعبة فضاء متعددة اللاعبين (Multiplayer) مبنية بـ Java، حيث يوجد:

خادم (Backend) بـ Spring Boot: يدير المستخدمين (تسجيل/دخول) عبر REST API مع Spring Security، ويخزن بيانات اللاعبين ونتائجهم في قاعدة بيانات عبر JPA. كما يدير الـ Lobbies (إنشاء غرفة، الانضمام، جاهزية اللاعبين، بدء المباراة) ويرسل تحديثات فورية.

واجهة عميل (Client) بـ JavaFX: تعرض شاشة تسجيل الدخول وقائمة الغرف، ثم تُظهر لعبة ثنائية الأبعاد على Canvas. العميل يرسل حركة اللاعب وإطلاق النار بشكل لحظي، ويستقبل الحالة العامة للعبة من الخادم.

كيف يعمل المشروع؟

اللاعب يسجل/يدخل إلى النظام عبر REST.

يدخل أو ينشئ غرفة (Lobby) ويتواصل مع باقي اللاعبين داخلها (جاهزية + شات).

عند بدء المباراة، الخادم يضيف اللاعبين إلى حالة اللعبة ويشغّل حلقة تحديث مستمرة.

أثناء اللعب: يتم نقل حالة السفن والرصاص بزمن حقيقي عبر WebSocket (Netty)، مع تحديث مستمر للشاشة في العميل.

بعد انتهاء المباراة يتم تحديث Leaderboard تلقائياً (فوز/خسارة + نقاط) وبثه عبر WebSocket.

أهم ما يميّز العمل

Multiplayer حقيقي عبر WebSocket.

نظام Rooms/Lobbies مع جاهزية اللاعبين وقيود “Host”.

Leaderboard يعتمد على النتائج ويُحدّث بشكل فوري.

رسم اللعبة في العميل وارسال مدخلات اللاعب (الحركة/الدوران/إطلاق) بشكل لحظي.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة