محاولة لصناعة لعبة
#1
السلام عليكم ورحمة الله

هذه محاولة لصناعة لعبة باستخدام الأدوات القياسية بلازاراس

و أتمنى إني أطورها لكن ليس كمجهود فردي

المحاولة هذه أخذت مني حوالي نصف ساعة بعد طعام الإفطار

استخدم لأعلى و أسفل لتحريك المربع

و المسطرة لإطلاق القذيفة

الملف المصدري في المرفقات


الملفات المرفقة
.7z   game.7z (الحجم : 59.19 ك ب / التحميلات : 106)
الرد
#2
مشكور.
لكن أظن أنه في عالم الألعاب وجب استخدام مكتبات أقوى كال OpenGL , ZENGL , SDL
عمل جيد
الرد
#3
بالتأكيد و يوجد لدي بعد الدروس و المقالات حول استخدام open Gl
سأحاول ترجمتها إن شاء الله إن توفر لي الوقت
الرد
#4
تلميح: ابحث عن Game Engine مناسب
كود :
http://code.google.com/p/nxpascal/ http://www.saschawillems.de/?page_id=83 http://www.newtondynamics.com/forum/viewtopic.php?f=9&t=5927

شيء آخر: حاول كتابة Objects حاول بناء شكل غرضي موجه
ثلاثة أصناف: TTarget, TPlayer, TShoot لا تغير شيئا في اللعبة.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#5
شكراً أستاذي
سأحاول تطبيق ما نصحتني به وسأوافيك به
الرد
#6
أستاذي Kashwahed
السلام عليكم وعذراً للتأخير
هذه محاولة بسيطة أخرى استخدم فيها فقط مبدأ الوراثة لحين تعلم Game Engine مناسب
و لكن يوجد خطأ لا أعلم هل هو تسرع مني أم في ترتيب منطقي للإجراءات


الملفات المرفقة
.7z   OOP.7z (الحجم : 60.27 ك ب / التحميلات : 20)
الرد
#7
السلام عليكم ورحم الله

بداية موفقة ان شاء الله اخي piratewar
احببت لو اني اتقن شيئ من هذا فاشارككم فيه . لكن لا املك الا الدعاء لك بالتوفيق
اتمنى لك التوفيق
لأستهلنّ الصعب أو أدرك المنى    فما انقادت الآمال إلاّ لصابر
الرد
#8
وعليكم السلام ورحمة الله
@mobile تملك أيضا مواضيع وشروحات بالتفصيل، يمكنك البدء من هنا:
البرمجة بالمنحنى للكائن OOP خطوة، خطوة
http://www.delphi4arab.net/forum/showthr...p?tid=4202
سلسلة دروس دورة برمجة العناصر
http://delphi4arab.net/forum/showthread.php?tid=3546
الأمر ليس صعبا، كل ما عليك أن تفكر بطريقة مختلفة
لا تحاول الوصول إلى الحل الأمثل، فقط حاول

@piratewar محاولة جيدة...
ألا تظن أن هذه الأحداث تابعة لكائناتها؟
كود :
type tshooter= class(tshape) end; var shooter : tshooter; [COLOR=Blue] procedure shooterInitiate; procedure shootermoveup; procedure shootermovedown;[/COLOR] ... type Ttarget= class(tshape) end; var target :ttarget; [COLOR=Blue] procedure targetInitiate; function targetmovedup:boolean; function targetmoveddown:boolean; procedure targetmoveup; procedure targetmovedown; [/COLOR] ... type tshoot= class(tshape) end; var shoot : tshoot;[COLOR=Blue] procedure shootInitiate; procedure shootFire; function shootfired:boolean; [/COLOR]
وأنه يلزمها باني Constructor وهادم Destructor؟
مثال:
PHP كود :
TShooter= class(TShape)
   
constructor Create(AOwner: TComponent);
   
destructor Destroy; override;
   
procedure ShooterInitiate;
   
procedure ShooterMoveUp;
   
procedure ShooterMoveDown;
 
end; 

شيء آخر إحذف:
PHP كود :
//RequireDerivedFormResource := True; 
الوحدات حيث TShooter, TTarget, TShoot لا تملك Resource
إقتباس :RequireDerivedFormResource
When True every form must have a resource

بعض التعديلات على TShooter في المرفق، عليك ببقية الكائنات...

بالتوفيق.


الملفات المرفقة
.7z   OOP.7z (الحجم : 3.8 ك ب / التحميلات : 8)
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#9
استفسار بسيط للفهم ؟ أثناء حلي للواجب Big Grin
PHP كود :
TShooter= class(TShape)
   
constructor Create(AOwner: TComponent);
   
destructor Destroy; override;
   
procedure ShooterInitiate;
   
procedure ShooterMoveUp;
   
procedure ShooterMoveDown;
 
end; 

ماذا إن استخدمنا create بدون Aowner
ولماذا override مع destroy
ما أعلمه (تستخدم override في حالة استخدام رأس إجراء أو دالة أكثر من مرة بمعطيات مختلفة للحصول على نتائج مختلفة)
في حين أن destroy لم نعطه أي عمليات إضافية ليقوم بها
الرد
#10
حل الواجب Cool أستاذي Kashwahed
و جزاك الله خيراً


الملفات المرفقة
.7z   OOP.7z (الحجم : 3.91 ك ب / التحميلات : 9)
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم