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

من الالعاب التي برمجتها

مغلق
بدأه DEMONIC في 13 يوليو 2006 · 21 رد · 1,796 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذه واحدة من الألعاب التي قمت ببرمجتها ...

اللعبة ليست كاملة إنما هي عبارة غرفة واحدة وشخصية واحدة ولم أقم ببرمجة التصادم والمفروض إنها تكون RBG لجهاز مثل الجيم بوي....

التقنية المستخدمة : دالة BitBlt

الوقت لبرمجة هذه اللعبة : 3 ساعات

عدد السطور : لا تتعدى المئة سطر

وإذا عجبتكم سأرفق السورس كود وسأقوم بالشرح

إعطوني رأيكم

Rpg_game.zip

#2

ها كيف اللعبه ؟

#3

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

لكن هل انت صممتها بالفيجوال بيسك؟

وتمنياتي لك بالتوفيق

تم تعديل هذه المشاركة بواسطة time1 في 13 يوليو 2006 في 17:36

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#4

محاولة جميلة وجيدة . لكن الاصطدامات لا تعمل . و اظن ان هناك frame ناقص اثناء تنقل الشخصية وعمل animation . :blink:

المهم هو المحاولة ادا اردت ان تتعرف اكثر على تقنية التصادم bounding box او per-pixel

http://www.gamedev.net/reference/articles/article735.asp

لدي سؤال ما هي المكتبة التي اعتمدت عليها ؟

سلام

#5

بداية جيدة ..

اعجبني :

الجرافكس .

تحميل المراحل من ملفات خارجية .

ننتظر وجود التصادم .. والاحداث والحوارات الساخنة ...

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#6

أنا دحين في أمريكا و المشكلة إنو أنا دحين في المعهد والكيبورد ما فيه حروف عربية عشان كده ما رح أطول

أنا إستخدمت vb6

ولم آستخدم أي مكتبة

بس أستنوني إلى أن أرجع البيت وأبدأ في شرح السورس كود

#7

بسم الله الرحمن الرحيم

في البداية احب أن أعرفكم بنفسي :

الإسم : فراس محمد إسكندرني

الجنسية : سعودي

الحالة الدراسية : درست سنة في البترول والمعادن والآن أنا بأدرس في أمريكا هندسة كهربائية

_____________________________________________________________________________

خلينا نرجع لموضوع الجيم ...

أول شيء جاتني فكرة هذا الجيم من البرنامج RPG Game maker 2000

وقد إستخدمت نفس تقنية البرنامج وهي تقنية الطبقات حيث أنا اللعبة مكونة من أربعة طبقات:

الطبقة الاولى : أرضية اللعبة والجدران .

الطبقة الثانية : الأثاث الذي تريد الشخصية أن تظهر فوقه .

الطبقة الثالثة : شخصية اللعبة .

الطبقة الرابعة : الأثاث الذي تريد الشخصية أن تظهر خلفه .

وتتكون اللعبة من برنامجين :

الأول : Map Editor

الثانية : Map Loader

في البداية سوف أقوم بشرح الـ Map Loader :

ووظيفة هذا البرنامج هو تشغيل الخرائط المصنوعة في الـ Map Editor حيث تحفظ الخرائط في txt file

خليني أرفق السورس كود وأرجع أشرحه في الموضوع القادم

وأي سؤال أنا مستعد في الإجابة وحتى لو ما اعرف الإجابة سأقوم في البحث عنها فلا تبخلو علي بالسؤال......

rpg_game_2.zip

#8

انا عندي سؤال ( أزلي ) .. ما خليت عضو الا وسألته :) .

لنفرض أنك تريد صنع مرحلة ضخمة .. كيف ستصنعها ..

ابتدائها من map editor حتى تحملها في لعبتك .. اريد فقط كلام عام .. فقط ايد اسمع الحل الذي ستفكر به

( لانه وانا اخوك .. الحين قاعد اجهز لسوبر ماريو مطور ) .. ;)

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#9

والله بعد التفكير الأولي نقدر نبرمج اللعبة عن طريق طبقات زي ما قلت حيث سيقوم الـ map editor بصناعة طبقات المرحلة وتخزينها ..

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

فمثلا :

لو عندنا مرحلة عبارة عن 3 مربعات * 3 مربعات ومثلا في المربع الأول المفروض إنو يكون فيه شجرة فسوف يخزن في المربع الأول رقم واحد أو اي رمز يدل على الشجرة وبعدين عند تشغيل المرحلة في map loader حيبدأ بقراءة الجدول وعندما يجد الرقم واحد في المربع الأول سيقوم البرنامج بوضع صورة الشجرة في المربع الأول

أما بالنسبة للتصادم فسوف تقوم بعمل صورة للمرحلة كلها مقسمة إلى لونين مثلا أسود وأحمر

الكائنات التي تريد الشخصية ان تصدم فيها يكون لونها أحمر والفراغ أسود

وكالعادة كل ما تمشي الشخصة لازم تشيك إذا كانت الشخصية على بكسل أحمر ام اسود

وطريقة برمجة هذه في الفجول بيسك 6 :

 Picture1.point(X,Y)

وأعتذر عن الشرح السيء

وأي سؤال أنا مستعد للإجابة

وأنا إن شاء الله حأبدأ في البرمجة من الآن ولكن إش نوع اللغة إلى تبغاني أبرمج بيها حتى يسهل الفهم

تم تعديل هذه المشاركة بواسطة DEMONIC في 13 يوليو 2006 في 22:46

#10

بداية رائعة ، رسومات جميلة ...

هناك بعض الملاحظات ...

لكشف التصادم بين الشخصية و هي نقطة في المرحلة (X,Y) و حدود النافذة ، يجب أن تكشف إن كان الX للشخصية اكبر من عرض النافذة Form.Width ، وهذا يعني ان الشخصية سوف تخترق النافذة .. إن كان هذا التعبير صحيح ، سوف تقوم بنقص واحد من عرض النافذة و تعطيه لX الشخصية ، يعني رجعته للوراء قليللاً :) اي تصادم ... و كذلك نفس الاختبار مع الارتفاع .

لكشف التصادمات داخل المرحلة ، قديماً كانوا يستخدموا الطريقة الموضحة في الرسمه ، تقوم في محرر الخرائط برسم خطوط و هي الخطوط التي تضوح مواضع التصادمات هذه الخطوط لن تظهر اكيد في المرحلة امام الللاعب و لكن هي عبارة عن دليل و تقوم بكشف تصادم الشخصية مع هذه الخط كشف عادي . نقطة مع خط مستقيم.

post-40521-1152821530_thumb.jpg

تم تعديل هذه المشاركة بواسطة احمد صالح في 13 يوليو 2006 في 23:15

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#11

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

حيث كما تلاحظ الشخصية تمشي في مسافات متساوية وهي كل خطوة يتم زياد 32 بكسل على مكان الشخصة فقبل أن تمشي الشخصية سيتم التشييك هل هناك صفر في الخطو القادمة أم واحد وإن شاء الله سأرفق المثال اليوم بتوقيت أمريكا لإني في أمريكا :blink:

#12

كمل يا عم ومتسكتش وربنا يوفقك , بس معلش يا شباب فضولي يقتلني :unsure: , ماهي ملفات الـ map وما دخلها وماذا تمثل الأرقام بداخلها وكيف تستخدمها وكيف تنتجها أصلا؟؟؟ (لم أصل بالبحث الي شئ) وكمان فيجوال ستوديو 6 غير متاح لي الآن لأن لي مده لم أعمل عليه ولن أفهم الكود في النوت باد كويس :(

ومستني منك سوبر ماريو المطور يا شمري مع اني مش من هواة الألعاب ولا ألعب , ولكن كنت زمان ألعب ماريو علي الأتاري وكنت أحبه جدا :D

#13

هذه اللعبة بعد إضافة كود التصادم

ورداً سؤال الأخ hazzoom

اقتباس
كمل يا عم ومتسكتش وربنا يوفقك , بس معلش يا شباب فضولي يقتلني unsure.gif , ماهي ملفات الـ map وما دخلها وماذا تمثل الأرقام بداخلها وكيف تستخدمها وكيف تنتجها أصلا؟؟؟ (لم أصل بالبحث الي شئ) وكمان فيجوال ستوديو 6 غير متاح لي الآن لأن لي مده لم أعمل عليه ولن أفهم الكود في النوت باد كويس sad.gif

الموضوع بما فيه إنو ملفات .map هي عبارة عن جدول بأرقام الصور فمثلا الرقم 1 = الأرضية حقت الغرفة وهاكذا وهي أصلا ملفات txt بس أنا غيرت إمتدادها

و تصنع بالماب إدتور وطريقة إستخدامها يقوم الماب لودر بـقراءة هذا الملف ويقوم بتبديل كل رقم بالصورة التي تنوب عنه .

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

:wacko:

post-85000-1152838496_thumb.gif

Rpg_game3.zip

تم تعديل هذه المشاركة بواسطة DEMONIC في 14 يوليو 2006 في 04:03

#15

رائع ، اريدك ان تقوم بتحريك الشخصية في الاتجهات الفرعية شمال شرق ..إلخ ثم تضيف شخصية اخري تقوم بتتبعك .. و تقوم بعمل تفاعل و التنقل لمرحلة اخري ..إلخ :)

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#16

أحتاج القليل من الوقت ...

أظني حأبرمجها في خلال ساعتين من الأن على حسب الظروف .

#17

أنا فكرت في اللعبة ووجدت حل :

لا أستطيع أن اجعل الشخصية تتحرك في الإتجاهات الفرعية ( شمال شرقي ..... إلخ) والسبب لأن الأنيميشن حق الشخصية ما يسمح إلا بالتحرك في الإتجاهات الأصلية..

أما بالنسبة للتتبع والله لسع ما فكرت فيه وإذا أي أحد يقدر يساعدني فيه الرجاء إنو لا ينتظر ويطيني الإجابة ..

وبالنسبة للتنقل من مرحلة لأخرى فالحل الأكيد هو وضع رقم مثلا 2 في الجدول يدل على الإنتقال للخريطة الثانية ...

#18

همم .. خذ نفس الرسمة و هو ينظر إلي تحت و قم بتحريرها و عمل دوران للرسمة 45 درجة ... و كذلك مع الرسومات الاخري..

التتبع خوارزميته سهله ..وهي خوارزمية بسيطة لمحاكاة ذكاء صناعي

تقوم بكشف إن كانت الاحداثيات لك اقل من احداثيات الاعدو فتزيد احداثيات العدو ..إلخ

// first test x-axis
if (player_x > monster_x)
   monster_x++;
if (player_x < monster_x)
   monster_x--;

// now y -axis
if (player_y > monster_y)
   monster_y++;
if (player_y < monster_y)
   monster_y--;

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#19

ما شاء الله

بداية جميلة فعلا وربنا يوفقك

حاول تظبط بقا التصادم والحاجات الباقيه ال انت عارفها طبعا

يارب سمعنا واطعنا والله غالب على أمره . مهما كاان الظاهر ومهما كاان الغالب ومهما كاان المغلوب فأن الغالب الحق والحاكم الحق والمسبب الحق هو انت يارب

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

انا آمنا وصدقنا

نعم لقد ظلمنا انفسنا حيث لم نتوحد فى سبيلك وانما فرقتنا الاهواء وباعدت بيننا الشهوات

يظلمنا العدو لأاجل ظلمنا لأنفسنا يارب

نعوذ بك من ظلم العدو ونعوذ بك من غضبك . لقد غدونا من الغافلين المذنبين فبتنا من المحكومين المغلوبين .

لم نستيقظ لصوت القرآن والسنة فأيقظنا غزوا أعدائنا . فألطف بنا يارب

وامنحنا قوة وطاقة ندفع بهما ذلك الغزو . انعم علينا بالثبات والصبر الجميل .

اللهم بجاه نبيبنا الكريم الذى بعثته بالاسلام دين السلام أعنا على آلا نترك اخلاقه فى الحرب وابعدنا عن المحرمات فى القتال .

#20

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

وفي سؤال بسيط ما هي المشكلة في التصادم أنا من رأيي إنو 100 في 100 تمام ومما يحتاج تعديل ....

تم تعديل هذه المشاركة بواسطة DEMONIC في 15 يوليو 2006 في 07:26

#21

الان افعل اي طريقة تحب لاكتشاف التصادم ..

لكن انت تقوم بعمل لعبة RBG ..

طيب .. نريد مربع حوار .. انت ستخاطب عدة اشخاص في اللعبة ..

يعني هل تستطيع عمل شيء .. شبيه بالشات ... بين اشخاص اللعبة .

بحيث تحمل نصوص المحادثة من ملفات خارجية وتقوم بعرضها . .. ..

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#22

السلام عليكم

أخي الكريم DEMONIC

موضوع جميل

بالنسبة إلى سؤالك حتحتلج تعلم خوارزية A*

وللمزيد من المعلومات زر هذا الرابط

/index.ph...c=92060&hl=

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

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