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

مسابقة برمجة الجرافيكس، الالعاب

مغلق
بدأه احمد صالح في 2 أكتوبر 2005 · 45 رد · 4,770 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#26
اقتباس
ليش محاولة جماعية .. يمعود خليه تحدي و مسابقة 

:D

مسابقتنا السابقة ماشارك فيها الا اثنين .. وهي للمبتدئين ..

اجل وشلون هالمسابقة وهي للمتقدمين ...

هل يمكن توفير صورة تضم كل الحروف و في جميع الحالات ؟

10 صفوف × 10 اعمدة يساوي 100 ... :) ..

اعتقد تكفي :)

والحروف اللي نادر مانستخدمها نتركها :) .. ونستعمل بدل الظاء .. ضاء .. :)

والله صعبة !!!

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#27

هذه الاداة اللي تحول bmp الى ملف نصي ..

فكرتها مو معقدة كثير .

لكن الفائدة ممكن تقللل حجم الصورة ..

bmp2ascii.zip

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#28

ما فهمت ليش تريد تحول الـ bmp الى ملف نصي؟ رسم الـ bmp اسهل من كتابة نص ..

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

#29

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

الايمان +الحلم +العلم +العمل = النجاح

ما اسهل ان تنجح ... وما اصعب ان تحافظ على نجاحك

#30

Hints : لقد ارفت صورة من قبل و لكن بحروف انجليزية - حاول ان ترسموا نفس الصورة و بوضع الحروف العربية من اليمين للشمال . ثم تقوم بتحميل الصورة في الذاكرة عادي جداً ، تقوم بعمل مستطيل RECT ( موجود هذا الهيكل في Win32API سواء بيسك ، سي ..) ، ثم تقوم اولاً برسم حرف الالف من الصورة (من) موضوعه الذي في الصورة .

الفكرة في توليد جملة عشوائية عربية من الصورة الاساسية من خلال الكود .

ممكن فكرة بسيطة تقوم بطباعة مثلاً كلمة الفريق ستساوي tvdr و لكن هناك مشكلة في حرف الذال و ط ..إلخ ;) ... ها يا شباب توصلتم لحل :) ؟

أو مثلاً عند طباعة "احمد" ينظر المبرمج إلي وضع الحروف في الصورة و يحفظ المواضع و يطبع الجملة ؟

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

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

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

#31

السلام عليكم

يا جماعة أنا لا أعتقد أن الموضوع بتلك الصعوبة . سبق و أن قلت قوموا بدراسة الدرس السابع عشر فى NeHe جيدا و بعدها ستفهموا المطلوب. أما بالنسبة لطريقة ترتيب الأحرف فإنى أقتح كتابة الأحرف بشكل متراص فى wordpad أو فى أى معالج للكلمات و بعدها قوموا بالضغط على مفتاح Print Screen من لوحة المفاتيح و بعدها تقوموا بفتح أى محرر للرسوم أمثال Paint و تقواموا بضغط كلا المفتاحان معا Shift + Insert من لوحة المفاتيح و قوموا بقطع الجزء الذى به الأحرف و قوموا بحفظه بإمتداد bmp و بالتالى يكون لديكم صفحة متكاملة للأكواد. هذا بالنسبة لتكوين الصورة. أما بالنسبة لترتيب الأحرف فنظرة واحدة للوحة المفاتيح تعرفك كيف سيتم ترتيب الأحرف. فمثلا ستجد أن أى حرف فى الإنجليزى سيقابله نفس الحرف فى حالة إذا ما ضغطت alt+shift يمين للتحويل للغة العربية فى أى معالج كلمات, مثلا الحرف "p" سيقابله فى العربى الحرف "ح" و الحرف "r" سيقابله الحرف "ق". أعتقد أن الأمر بات مفهوم. و لكن أتعرفون أين المشكلة؟ المشكلة الحقيقية فى حالة الأحرف المتصلة لأن الأحرف فى اللغة العربية عن كتابة كلمة متكاملة فإن حرف الكاف(على سبيل المثال) و هو متصل بحرف بعده ليس مثل و هو منفصل. و لكن الحل بسيط و هو وجود صورتان للأحرف بنفس الترتيب الموافق للأسكى و فى حالة الحاجة لحرف متصل يتم الذهاب إلى (صورة الشفرة الأولى) أما فى حالة الحاجة لحرف منفصل فيتم الذهاب إلى (صورة الشفرة الثانية). أعتقد أن الأمر بات سهلا. و لو أن ظروفى تسمح للجلوس على الكمبيوتر بشكل أفضل لقمت بتصميم هذا المثال و لكنى أعرف أن هناك مبرمجين مهرة سيقومون بذلك العمل.

و السلام ختام

عندما أعلن حبى لشىء فى البرمجة فذلك معناه أنه أفضل بالنسبة لى من حيث المميزات و الامكانات

OpenGL-3-revolution.jpg

#32
اقتباس
لكن أتعرفون أين المشكلة؟ المشكلة الحقيقية فى حالة الأحرف المتصلة .....

قمت منذ زمن بمحاولة كتابة "كود" يقوم بهذه المهمة .. اي اكتشاف حالة الحروف و اختيار الحالة الصحيحة .. و في الحقيقة الكود اللذي كتبته يقوم بأكثر من ذلك لأنه ياخذ بعين الاعتبار وجود حروف انجليزية و عربية في نفس الجملة .. الموضوع هنا اذا كان احد يحب ان يلقي نظرة:

/index.php?showtopic=61486

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

#33

السلام عليكم

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

و السلام ختام

عندما أعلن حبى لشىء فى البرمجة فذلك معناه أنه أفضل بالنسبة لى من حيث المميزات و الامكانات

OpenGL-3-revolution.jpg

#34

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

الدال و الراء تتأثر بالحروف السابقة .. فالـ "ـر" تختلف عن الـ "ر", صحيح انه يمكن التغاضي عن ذلك و الاكتفاء بالـ "ــ" القادمة من الحرف السابق .. و لكني لم اتغاضى عنه.

#35
اقتباس
احمد صالح :

حاول ان ترسموا نفس الصورة و بوضع الحروف العربية من اليمين للشمال . ثم تقوم بتحميل الصورة في الذاكرة عادي جداً ، تقوم بعمل مستطيل RECT ( موجود هذا الهيكل في Win32API سواء بيسك ، سي ..) ، ثم تقوم اولاً برسم حرف الالف من الصورة (من) موضوعه الذي في الصورة .

الفكرة في توليد جملة عشوائية عربية من الصورة الاساسية من خلال الكود .

لكن كيف يمكن ان نربط بين تلك الحروف .. ؟

على العموم .. سأحاول بعد اسبوعين تقريبا .. (عطلة العيد ) .

وهذا شبه وعد : )

.

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

الدال و الراء تتأثر بالحروف السابقة .. فالـ "ـر" تختلف عن الـ "ر", صحيح انه يمكن التغاضي عن ذلك و الاكتفاء بالـ "ــ" القادمة من الحرف السابق .. و لكني لم اتغاضى عنه.

حسن : ليش توقفت عن ذلك المشروع ..

ياليت تقول الى اين وصلت وماهي العقبات الان ..

لعلي افهم شيء واقدر اكمل .

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#36

ما كو واهس .. :) يعني ما في حماس

اخر شي وصلتله هو ما كتبته في ذلك الموضوع ..

حاولت ان احول المشروع الى لغة D .. لكن كما قلت .. ما كان في واهس ..اقصد حماس.

#37

... اغير المسابقة ام ماذا ؟؟

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

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

#39

السلام عليكم

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

و السلام ختام

عندما أعلن حبى لشىء فى البرمجة فذلك معناه أنه أفضل بالنسبة لى من حيث المميزات و الامكانات

OpenGL-3-revolution.jpg

#40

أخي, اعتقد نحن نتحدث عن المسابقة و ليس عن كود معين!

#41

... اغير المسابقة ام ماذا ؟؟

الرأي رأيك ..

لكن لو حبيت تسمع رايي المتواضع ( المسابقة اكبر من مستوانا )

وهناك امور اكثر اهمية . . . مثلا مسابقات حول (انظمة الجزيئات ) ....او ( الذكاء الاصطناعي ) .. او (خوارزميات تسريع الرندر ) ..

الموضوع يفيد مبرمجي GL اكثر .. لان DX متوفر فيها كل شيء .

عن نفسي سأحاول بعد اسبوعين من الان .. ان شاء الله .

اغلب الموجودين طلبة مدارس او كليات ... واخخخخ من الوقت .

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#42

السلام عليكم

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

1. حال وجود الحرف أول الكلمة و تسبقها مسافة.

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

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

3. حال وجود الحرف و لا تسبقه مسافة من قبل أو بعد.

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

و السلام ختام

عندما أعلن حبى لشىء فى البرمجة فذلك معناه أنه أفضل بالنسبة لى من حيث المميزات و الامكانات

OpenGL-3-revolution.jpg

#43

حرف الياء بدون نقطتين هو الف مقصورة .. و الالف المقصورة ممكن تكون في وسط الكلمة, مثل "الرحمن" حيث هناك الف مقصورة بين الميم و النون (نادرا ما تكتب) و لكنها تظل موجودة. طبعا اليونيكود الظاهر لا يعتبر هذا الحرف .. و هذه مشكلة منهم!! يمكن اعتبار الحالة الوسطية للألف المقصورة هي الـ ـ اقصد التطويل .. الخط اللي يظهر لما تضغط shift+j في العربي (او shift + ت).

الطريقة اللتي وصفت بها حالات الحروف سينتج عنها حالات استثنائية .. نحن في غنى عنها!

لماذا تدوخ نفسك بالحالات الاستثنائية؟ التعامل معها في الكود سيكون مزعج بالتأكيد .. الافضل هو دمج هذه الحالات في صيغة عامة:

- منفصل: اذا كان لا يتصل بالحرف اللذي قبله ولا بعده.

- ابتدائي: اذا كان يتصل بالحرف اللذي يليه فقط, دون الحرف اللذي يسبقه.

- وسطاني: اذا كان يتصل بالحرف اللذي يليه و الحرف اللذي يسبقه.

- انتهائي: اذا كان يتصل بالحرف اللذي يسبقه فقط, دون الحرف اللذي يليه.

قد يقول قائل .. لماذا هذا التعقيد .. لسة حنشوف يتصل ولا ينفصل؟!!

السبب بسيط .. و هو انك لا تستطيع تحديد حالة الحرف بمجرد معرفة ما اذا كانت تسبقه مسافة او لا .. او تليه مسافة او لا .. فالمسافة ليست الحرف الوحيد اللذي يفصل الحروف؛ بل أي حرف غير عربي سيكون "فاصلا" يمكنع الحرف من الاتصال بالحرف التالي ..

و الامر ليس متوقفا على المسافة او الرموز الغير عربية .. بل هناك حروف عربية ايضا ستغير من حالة اتصال الحروف .. مثلا كلمة "حروف" الراء لا تتصل بالواو, و كذلك الواو لا تتصل بالفاء .. قد يقول قائل "و لكننا لا نحتاج الى اعتبار ذلك .. لان الراء و الواو اصلا ليست لهما حالة متوسطة على كل حال! و يمكننا اخفاء الامر اذا اعتبرنا ان الحالة المتوسطة لهما هي نفس الحالة المنتهية!"

قد يبدو هذا معقولا .. و لكن ماذا عن حرف الفاء؟ اذا اتبعنا هذا المنهج فإن الخوارزمية قد تكتب كلمة "الحروف" بهذه الطريقة: "الحروـف" و ذلك لانها ستعتقد ان حرف الفاء متصل بالحرف اللذي قبله!! و لكن هذا غلط, فالفاء لم تتصل هنا بالحرف اللذي قبلها, و السبب في ذلك كما اسلفنا هو ان المسافة ليست المؤشر الوحيد لحالة الحروف ..

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

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

#45

خلاص يا شمري ،، خليها down

هبقي اقول الحل و نتاقش فيه فيما بعد ..

لان المسألة هي كتابة جزء من الويندوز و هو الخط العربي !

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

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

#46

up بعد سنة ونصف :) . ما اخبار المسابقة .

هو فعلا كلام حسن صحيح ... وش الفائدة من تحويل الBMP الى ASCII .. حقيقة لا اعرف مالذي كنت افكر به في تلك الفترة :D . المصيبة هي إن كنت مشرف في تلك الفترة :D .

انا احاول ان اقوم بعمل محرك خط عربي .. لكن يا اخوان اريد طريقة لعمل صورة تحوي على

الحروف الازمة .

بحثت عن ادوات ووجدت هذه الاداة .

http://www.lmnopc.com/bitmapfontbuilder/

المشكلة انها لا تدعم الا الاسكي .. يعني الUniCode غير مدعوم .

فما رأيكم .. نعمل اداة تقوم بتحويل خطوط اليونيكود الى صورة .. (فقط خطوط اللغة

العربية).

اتوقع سهلة لكن تحتاج لشخص متفرغ .. وعنده واهس :) .

لو فتحتنا برنامج " مخطط توزيع الاحرف " من قائمة ابدا .. ضمن البرامج الملحقة .

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

سليم .. لكن كيف نحول تلك الاحرف الى صورة .

المسألة تحتاج لاستخدام دوال Win32 API . .

من عنده الوقت وفي اجازة .. ياليت يساعدنا شوي :-) .

تعديل :

تم اضافة الاداة :

/index.php?showtopic=118641

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

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

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

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