الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لعبة battle city .. من يحاكيها ؟

مغلق
بدأه Abdullah.Alshammeri في 15 يوليو 2007 · 11 رد · 5,504 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ,

هذه المرة اللعبة صعبة .. وعن نفسي ... أنا مستسلم من هالحين :) .

تذكرون هذه اللعبة .. أكيد تذكرونها ,,

post-42837-1184464092_thumb.jpg

يا شباب دنا عاوز أعيّط :huh: .. ماستحملش هالذكريات العبيطة ..

اللعبة ملئية بالتعقيدات البرمجية .. لكن السؤال الذي يطرح نفسه هو كالتالي :

كيف تصل الدبابة العدو الى الحصن( الهدف) او اللي ما ادري وشو بالظبط .. الموجود في اسفل الصورة .

كيف تم بناء الذكاء الاصطناعي ..

سواء أكانت هناك حواجز ام لم تكن هناك حواجز ,,

ممكن بسهولة نبني ذكاء اصطناعي ( بعمل خوارزمية تتبع .. أو اي خوارزمية ) ولكن لاحظوا ان الدبابة أيضا تمتلك بعض الغباء الاصطناعي .. فهي لاتتوجه مباشرة الى الهدف .. إنما تبحث وتبحث وترمي وتحاور حتى تصل للهدف .

هل يستطبع أحد ان يعطينا طرف الخبط .. سواء اكان تطبيق برمجي او كلام نظري .. اي شيء .. بس تكفون تكلموا لان المنتدى ميت :( ..

بالمناسبة يا اخوان .. أحد يعرف محاكي + اللعبة :D .. عشان اقدر احملها واجربها .. لاني ناسيها شوي .

لاني بحثت في قووقل وطلعت حاجات ما اعرف لها زين مثل الروم ROMs .

تم تعديل هذه المشاركة بواسطة الشمري في 15 يوليو 2007 في 05:01

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

السلام عليكم !

بالنسبة لهذه اللعبة .. فهي قائمة كليا على الـRandom أو العشوائية .. ولا يوجد بها ذرة ذكاء إصطناعي

وما يوصل الدبابات إلى الصقر هو محض الحظ ! .. لاتنسى أن عدد الدبابات كبير و إحتمالات الوصول كثيرة جدا

و أعتقد أنها من الناحية البرمجية بسيطة للغاية <<< هذا لا يعني أنني أستطيع برمجتها ! :P

شكرا

تم تعديل هذه المشاركة بواسطة algeriano في 15 يوليو 2007 في 07:17

#4

السلام عليكم :)

قبل أكثر من سنة بدأت صنع لعبة شبيهه, إستخدمت Python وPygame ,لحسن الحظ فقد عثرت على آثارها في القرص الصلب :D

07152007181955fi5.jpg

الخريطة الظاهرة مرسومة بواسطة محرك بسيط للـ Tile والدبابة يمكن تحريكها بإستخدام الإتجاهات, ولكن هنالك مشكلة في حركة الدبابة... غريب لا أتذكر وجود هذه المشكلة.

TanksWar.zip

ولكن كما قلت ستحتاج Python 2.5 وPyGame 1.7 لتشغيلها

:)

تم تعديل هذه المشاركة بواسطة SandHawk في 15 يوليو 2007 في 19:43

#5

السلام عليكم

لا اذكر طريقة اللعبة بالضبط و لكنني اعتقد انها تعتمد على التحرك في اتجاه معين مالم يكن مسدودا

مثال الدبابة تتحرك دائما للامام هل الامام مسدود اذن الالتفات لليسار و هكذا حتى تصل للهدف

اذا كان هناك دبابة اخرى اطلق النار اذا كان هناك حاجز يمكن كسره اطلق النار ايضا

اذا كان الذي امامنا هو الهدف انتهت اللعبة

تحياتي

#6

ليس للعبة أي ذكاء صناعي, تتحرك الدبابات بشكل عشوائي وتطلق النار بإستمرار, ولكني لاحظت إن جميع الدبابات تتجه في كثير من الأحيان للأسفل (بإتجاه الهدف) وقليل من الأحيان للأعلى وذلك منطقي لأن الهدف دائماً في الأسفل, هنالك طريقة بسيطة لجعل الإحتمالات حتى وإن كانت عشوائية تميل إلى جهة معينة أكثر من جهة أخرى.

مثلاُ لنولد عدد عشوائي من 1 إلى 100 إذا كان العدد من 1 إلى 40 إتجه للأسفل, أما إذا كان من 40 إلى 50 فإتجه للأعلى, ولو كان من 50 إلى 75 إتجه لليمين, من 75 إلى 100 إتجه لليسار.

ذلك يجعل نسب الحركة كالآتي:

40% للأسفل

10% للأعلى

25% لليمين

25% لليسار

كذلك تستطيع توليد عدد عشوائي ثاني يقرر ما إذا كان إتجاه الدبابة سيبقى الإتجاه السابق, أو حساب إتجاه جديد, مثلاً 60 بالمئة تبقي على الإتجاه الحالي, و40 بالمئة لسلك إتجاه جديد.

كذلك تستطيع أن تقرر ما إذا كانت الدبابة ستطلق النار أم لا, هكذا ستجعل النسب تتحكم في سلوك الدبابات إلى درجة ما (ويمكن حتى صعوبة اللعبة) رغم إنها عشوائية.

ملاحظة: هذه طريقة خطرت لي, وليس بالضرورة أن تكون هي المستخدمة في اللعبة الأصلية.

:)

تم تعديل هذه المشاركة بواسطة SandHawk في 15 يوليو 2007 في 20:09

#7

حصلت على المحاكي والروم شكرا لك أخ algeriano .. واللعبة اشتغلت :) .

لكن ترا رابط الROM هو نفسه رابط المحاكي في الرابط اللي وضعته,, عموما انا عندي الROM لكن كانت المشكلة في المحاكي ,

الرابط

الغريب أن حجم الملف صغير جدا جدا .. كان المبرمجون في ذلك الوقت يعيشون في معاناة :) .

اقتباس
بالنسبة لهذه اللعبة .. فهي قائمة كليا على الـRandom أو العشوائية .. ولا يوجد بها ذرة ذكاء إصطناعي

وما يوصل الدبابات إلى الصقر هو محض الحظ ! .. لاتنسى أن عدد الدبابات كبير و إحتمالات الوصول كثيرة جدا

اقتباس
ليس للعبة أي ذكاء صناعي, تتحرك الدبابات بشكل عشوائي وتطلق النار بإستمرار, ولكني لاحظت إن جميع الدبابات تتجه في كثير من الأحيان للأسفل (بإتجاه الهدف) وقليل من الأحيان للأعلى وذلك منطقي لأن الهدف دائماً في الأسفل, هنالك طريقة بسيطة لجعل الإحتمالات حتى وإن كانت عشوائية تميل إلى جهة معينة أكثر من جهة أخرى.

كلام منطقي .. فعلا ,, اللعبة في الغالب تتحرك باتجاهات غبية .. كنت اتوقع انه غباء اصطناعي :D لكن واضح أنه بسبب العشوائية .

أحيانا تصل الدبابة للهدف ولكن لا ترميه .. بل تتركه ...

الان لو طبقنا الكلام الذي ذكره الأخ SandHawk .

- ننشئ دبابة .

- تقرر الدبابة الاتجاه الذي تريد ( يمين - يسار - فوق - تحت )

- تتحرك الدبابة في خط مستقيم .

+ نكتشف التصادم .

- تصادم مع Block أو حاجز ( ماذا نفعل عندها ) .

- تصادم مع أطراف النافذة .

- تصادم مع الدبابة .

- تصادم مع الهدف .

+ نغير الاتجاه في كل مدة معينة .. ( متى )

أتوقع تحليل الاخ SandHawk هو الاقرب للتطبيق والاسهل .. لكن سنواجه حالات كثيرة فيها استثناءات .

بالمناسبة .. سأجرب تطبيقك أخي Sandhawk عندما أحصل على pyGame

اقتباس
لا اذكر طريقة اللعبة بالضبط و لكنني اعتقد انها تعتمد على التحرك في اتجاه معين مالم يكن مسدودا

الدبابة ممكن تغير الاتجاه حتى لو لم يكن الطريق مسدود .. هذا ما اذكره .

عموما مادام الوضع كذا .. سأرفع راية التحدي بدلا من الراية البيضاء . :P

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#8

اه .. عفوا عفوا .. يبدو كلام الاخ " الكون " صحيحا !!

اقتباس
االدبابة تعتمد على التحرك في اتجاه معين مالم يكن مسدودا

أيضا لاحظت مسألة اطلاق النار .. هو عشوائئ يعني كل مدة معينة تقوم باطلاق طلقة .. عاد وهي وحظها .. ممكن تطلق على حاجز او الهدف او الدبابة المعادية ...

ولكن لدي استفسار .. ماهي أسرع طريقة لاكتشاف التصادم بين هذا الكم الهائل من الحواجز .. هل نستخدم الطريقة التي تكلموا عنها الاخوة هنا .

دأنا من رأيي أننا في اكتشاف التصادم بين الدبابات والحواجز فإننا نستخدم مصفوفة نخزن فيها بيانات مثل :

0 , 1 , 1 , 1

0 , 0 , 1 , 0

حيث الصفر يعني لايوجد حاجز و 1 يعني في حاجز .. يعني نمثل كل الStage في اللعبة (مسرح العمل) على شكل مصفوفة وكل مرة نحدثها .

أعتقد هذا أسهل من اكتشاف التصادم العادي .. ومناسب لمثل هذا النوع من الالعاب .

تم تعديل هذه المشاركة بواسطة الشمري في 16 يوليو 2007 في 03:29

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#9

السلام عليكم

كالعادة الأخ الشمري يطلع علينا ببعض الملاحظات الصغيرة , ولكن المهمة, والتي يمكن أن تتوه عن بعض الأشخاص الآخرين...

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

المهم الدبابة العدوة لا تتحرك بحركة عشوائية 100% ولكن لكل 80% من حركاتها تتحرك نحو العدو أو النسر,, وكل 20% من حركاتها تتحرك عشوائيا,, ولول قسمنا الـ20% على الاتجاهات الأربع لوجدنا أن العدو يتحرك بنسبة 85% نحو العدو

ام بالنسبة لكشف التصادم فأعتقد أنه من خلال المصفوفة وقد استخدمت هذه الطريقة مسبقا في لعبة Ranger...

وهذه الأقكار شخصية وليست الأفكار الفعلية الحقيقية

والسلام عليكم

What really progammer can do??? Please answer..

#10

السلام عليكم ورحمة الله وبركاته,

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

(المعذره من الإنقطاع المفاجئ عن المنتدى وذلك نظرا لظروف مرضيه)

#11

حياك الله أخي هاي فولت ,’ و الحمدلله على السلامة .

تطبيقك أخ SandHawk اشتغل .. لكن الدبابة لاتتحرك كما ذكرت .

عموما أنا حاولت قبل قليل .. لكن عجزت أحرك مستطيل :( >> لا اعرف , هل المشكلة انه لا يوجد لدي الرغبة الان في فتح الفيجوال ستوديو .. او ان تحريك مستطيل هو شيء صعب ..

ننتظر مشاركات لاعطاءنا الحماس .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#12

هذه محاولة .. طبعا لاتتوقعون أنكم ستشاهدون شيء يستحق عناء التحميل :) .. لكن هو عبارة عن مربع يتحرك حركة عشوائية ,,

الان اكتشفت التصادم بين المربع وأطراف النافذة بالتالي المربع سيختار اتجاه عشوائي ليسير إليه .., وتركت الأصعب وهو المربع وبقية الحواجز .

الهدف الان هو بناء اللب الاساسي للعبة بس .

فقط أحببت أضيف هذه المحاولة , لأني ممكن ما اقدر أضيف غيرها , , في الوقت الراهن على الأقل !

Battle_City.zip

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

هذا الموضوع مغلق.

مواضيع مشابهة