السلام عليكم
اليوم سنقوم لتعلم تصميم لعبة ذكاء بسيطة جدا تعتمد على تدوير مجموعة اشكال للوصول الى تطابق افقي او عمودي
الفكرة مستقامة من لعبى تسمى hisimantiki
رابط اللعبة
*
الان مع البرمحة بالاوتوبلاي :
سنركز على شيئين تدوير الاشكال و ايضا كيف نعلن ان اللاعب نجح في الللعب
- افتح مشروع جديد
- في الصفحة ضع 2 من paragraph و ضع لهما لون واحدا لكليهما او ممكن تخد صورة كخلفية ما
- حمل صور لاشكال بسيطة مختلفة اللون مثلا الاشكال التالية
- الان نضع الصور بشكل موزع على حواف الخلفيتين بهذا الشكل :
الان سنفترض ان المشكل في الصورتين المتقابلتين يجب ان يكونا من نفس النوع
لذلك سنجعل كود التصحيح هو ان يعرف مصدر الصورتين لمتقابلتين
فان وجد انهما من نفس النوع يعلنك لاعيا ناجحا
اذن اولا سنحفظ مكان الصورتين المتقابلتين و في مشروعنا هما الصورة رقم 3 من المربع الاول
و الصورة 5 من المربع 2
و لنتفرض متغيرين هما sol 1 ; sol2 وهما موقع الصورتين باستخدام الكود التالي :
ثم نضع متغيرين اين نحفظ فيهما مصدر الصورتين الموجدتين في الموقع 3 و 5 و نسميهما obj1: obj2
بداية نعطيهما مصدر الصورتين في الشكل الاول بواسطة الكود
الان كيف نجعل المربع يدور ؟
نحن لن نجعله يدور بل سنجعل الصور التي في وسطه تدور ...و بالاحرى تغيير مواقعها تباعا من اليمين الى اليسار او العكس بوضع موقع الصور بالشكل التالي :
تضع في الخلفية للمربع الاول مهما كان صورة او paragraph نضغ في الحدث On click الكود التالي :
نحفظ موقع الصور من 1 الى 4 في مصفوفة ... ثم نجعل الصورة الاولى تاخد موقع الصورة 2 و الصورة 2 تنتقل الى موقع الصورة 3 و هكذا
نفس الشي في المربع الثاني فقط نضيف i+4 لياخد موقع الصور 5-6-7-8
جميل فلما تضغط على الصور تتنقل كالتالي :
الان ناتي الى كود التصحيح :
بعد كل ضغطة سيحفظ الكود ماهو مصدر الصورة التي تحتل الموقع 3 في obj1
نفس الشيء في المربع الثاني يحفظ مصدر الصورة التي تحتل الموقع 5 و يحفظها في obj2
الان سيقارن القيمتين obj1 و obj2 فان كانا متساويتيم فان الشكلين كتطابقين و بالتالي نجح اللاعب
اذن في المربع الاول يصبح الكود كالاتي
و في المربع الثاني:
و في الصفحة في on show
احفظ العمل ثم معاينة
بالتوفيق
اليوم سنقوم لتعلم تصميم لعبة ذكاء بسيطة جدا تعتمد على تدوير مجموعة اشكال للوصول الى تطابق افقي او عمودي
الفكرة مستقامة من لعبى تسمى hisimantiki
رابط اللعبة
*
الان مع البرمحة بالاوتوبلاي :
سنركز على شيئين تدوير الاشكال و ايضا كيف نعلن ان اللاعب نجح في الللعب
- افتح مشروع جديد
- في الصفحة ضع 2 من paragraph و ضع لهما لون واحدا لكليهما او ممكن تخد صورة كخلفية ما
- حمل صور لاشكال بسيطة مختلفة اللون مثلا الاشكال التالية
- الان نضع الصور بشكل موزع على حواف الخلفيتين بهذا الشكل :
الان سنفترض ان المشكل في الصورتين المتقابلتين يجب ان يكونا من نفس النوع
لذلك سنجعل كود التصحيح هو ان يعرف مصدر الصورتين لمتقابلتين
فان وجد انهما من نفس النوع يعلنك لاعيا ناجحا
اذن اولا سنحفظ مكان الصورتين المتقابلتين و في مشروعنا هما الصورة رقم 3 من المربع الاول
و الصورة 5 من المربع 2
و لنتفرض متغيرين هما sol 1 ; sol2 وهما موقع الصورتين باستخدام الكود التالي :
PHP Code:
sol1 = Image.GetPos("Image3");
sol2 = Image.GetPos("Image5");
بداية نعطيهما مصدر الصورتين في الشكل الاول بواسطة الكود
PHP Code:
obj1 = Image.GetFilename("Image3");
obj2 = Image.GetFilename("Image5");
نحن لن نجعله يدور بل سنجعل الصور التي في وسطه تدور ...و بالاحرى تغيير مواقعها تباعا من اليمين الى اليسار او العكس بوضع موقع الصور بالشكل التالي :
تضع في الخلفية للمربع الاول مهما كان صورة او paragraph نضغ في الحدث On click الكود التالي :
نحفظ موقع الصور من 1 الى 4 في مصفوفة ... ثم نجعل الصورة الاولى تاخد موقع الصورة 2 و الصورة 2 تنتقل الى موقع الصورة 3 و هكذا
PHP Code:
pos1={}; for i=1,4 do pos1[i] = Image.GetPos("Image"..i) end
for i=1,4 do
if i== 4 then p=1; else p=i+1 end
Image.SetPos("Image"..i , pos1[p].X, pos1[p].Y);
end
PHP Code:
pos1={}; for i=1,4 do pos1[i] = Image.GetPos("Image"..i+4) end
for i=1,4 do
if i== 4 then p=1; else p=i+1 end
Image.SetPos("Image"..i+4 , pos1[p].X, pos1[p].Y);
end
الان ناتي الى كود التصحيح :
بعد كل ضغطة سيحفظ الكود ماهو مصدر الصورة التي تحتل الموقع 3 في obj1
نفس الشيء في المربع الثاني يحفظ مصدر الصورة التي تحتل الموقع 5 و يحفظها في obj2
الان سيقارن القيمتين obj1 و obj2 فان كانا متساويتيم فان الشكلين كتطابقين و بالتالي نجح اللاعب
اذن في المربع الاول يصبح الكود كالاتي
PHP Code:
pos1={}; for i=1,4 do pos1[i] = Image.GetPos("Image"..i) end
for i=1,4 do
if i== 4 then p=1; else p=i+1 end
Image.SetPos("Image"..i , pos1[p].X, pos1[p].Y);
end
for i=1,4 do
if Image.GetPos("Image"..i).X == sol1.X and Image.GetPos("Image"..i).Y == sol1.Y then
ala = i ;
end
end
obj1 = Image.GetFilename("Image"..ala);
if obj1 ~= "" and obj2 ~= "" and obj1 == obj2 then
Dialog.Message("bahab elhadi","gooooooooooooooooood");
end
PHP Code:
pos1={}; for i= 1,4 do pos1[i] = Image.GetPos("Image"..i+4) end
for i=1,4 do
if i== 4 then p=1; else p=i+1 end
Image.SetPos("Image"..i+4 , pos1[p].X, pos1[p].Y);
end
for i=1,4 do
if Image.GetPos("Image"..i+4).X == sol2.X and Image.GetPos("Image"..i+4).Y == sol2.Y then
ali = i+4 ;
end
end
obj2 = Image.GetFilename("Image"..ali);
if obj1 ~= "" and obj2 ~= "" and obj1 == obj2 then
Dialog.Message("bahab elhadi","gooooooooooooooooood");
end
PHP Code:
sol1 = Image.GetPos("Image3");
sol2 = Image.GetPos("Image5");
obj1 = Image.GetFilename("Image3");
obj2 = Image.GetFilename("Image5");
بالتوفيق