عبد الهادي بهاب
23-11-2017, 09:55 AM
السلام عليكم
اليوم سنقوم لتعلم تصميم لعبة ذكاء بسيطة جدا تعتمد على تدوير مجموعة اشكال للوصول الى تطابق افقي او عمودي
الفكرة مستقامة من لعبى تسمى hisimantiki
http://u.damasgate.com/001/4/anc86o1mu7y00cdhaf96.png
رابط اللعبة
http://www.b30b.com/up//view.php?file=bb52549e0d
الان مع البرمحة بالاوتوبلاي :
سنركز على شيئين تدوير الاشكال و ايضا كيف نعلن ان اللاعب نجح في الللعب
- افتح مشروع جديد
- في الصفحة ضع 2 من paragraph و ضع لهما لون واحدا لكليهما او ممكن تخد صورة كخلفية ما
- حمل صور لاشكال بسيطة مختلفة اللون مثلا الاشكال التالية
http://u.damasgate.com/001/4/rr2owgc23iv7e4jc8cb9.png
http://u.damasgate.com/001/4/26di8932y58kpaon1unf.png
http://u.damasgate.com/001/4/hjzrbdguwty4pwdj1z1u.png
http://u.damasgate.com/001/4/hw7e2snkl96sjybzpl3f.png
http://u.damasgate.com/001/4/cozi23fbc7srdf1qercj.png
http://u.damasgate.com/001/4/qb42xwn0w0ospi9ba6qc.png
http://u.damasgate.com/001/4/vcg0ty8bnbt7ya8d9dhk.png
http://u.damasgate.com/001/4/2z3a2vqf0p28cvn56h5x.png
http://u.damasgate.com/001/4/midd6zf1azz1erlvkwdl.png
- الان نضع الصور بشكل موزع على حواف الخلفيتين بهذا الشكل :
http://u.damasgate.com/001/4/ab3grl4nnbr5dzex8qf9.png
الان سنفترض ان المشكل في الصورتين المتقابلتين يجب ان يكونا من نفس النوع
لذلك سنجعل كود التصحيح هو ان يعرف مصدر الصورتين لمتقابلتين
فان وجد انهما من نفس النوع يعلنك لاعيا ناجحا
اذن اولا سنحفظ مكان الصورتين المتقابلتين و في مشروعنا هما الصورة رقم 3 من المربع الاول
و الصورة 5 من المربع 2
و لنتفرض متغيرين هما sol 1 ; sol2 وهما موقع الصورتين باستخدام الكود التالي :
sol1 = Image.GetPos("Image3");
sol2 = Image.GetPos("Image5");
ثم نضع متغيرين اين نحفظ فيهما مصدر الصورتين الموجدتين في الموقع 3 و 5 و نسميهما obj1: obj2
بداية نعطيهما مصدر الصورتين في الشكل الاول بواسطة الكود
obj1 = Image.GetFilename("Image3");
obj2 = Image.GetFilename("Image5");
الان كيف نجعل المربع يدور ؟
نحن لن نجعله يدور بل سنجعل الصور التي في وسطه تدور ...و بالاحرى تغيير مواقعها تباعا من اليمين الى اليسار او العكس بوضع موقع الصور بالشكل التالي :
http://u.damasgate.com/001/4/eveuapfxepw6enb86y2x.png
تضع في الخلفية للمربع الاول مهما كان صورة او paragraph نضغ في الحدث On click الكود التالي :
نحفظ موقع الصور من 1 الى 4 في مصفوفة ... ثم نجعل الصورة الاولى تاخد موقع الصورة 2 و الصورة 2 تنتقل الى موقع الصورة 3 و هكذا
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
نفس الشي في المربع الثاني فقط نضيف i+4 لياخد موقع الصور 5-6-7-8
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
جميل فلما تضغط على الصور تتنقل كالتالي :
http://u.damasgate.com/001/4/zxkcm0dqdmodouyair1l.gif
الان ناتي الى كود التصحيح :
بعد كل ضغطة سيحفظ الكود ماهو مصدر الصورة التي تحتل الموقع 3 في obj1
نفس الشيء في المربع الثاني يحفظ مصدر الصورة التي تحتل الموقع 5 و يحفظها في obj2
الان سيقارن القيمتين obj1 و obj2 فان كانا متساويتيم فان الشكلين كتطابقين و بالتالي نجح اللاعب
اذن في المربع الاول يصبح الكود كالاتي
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
و في المربع الثاني:
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
و في الصفحة في on show
sol1 = Image.GetPos("Image3");
sol2 = Image.GetPos("Image5");
obj1 = Image.GetFilename("Image3");
obj2 = Image.GetFilename("Image5");
احفظ العمل ثم معاينة
بالتوفيق
اليوم سنقوم لتعلم تصميم لعبة ذكاء بسيطة جدا تعتمد على تدوير مجموعة اشكال للوصول الى تطابق افقي او عمودي
الفكرة مستقامة من لعبى تسمى hisimantiki
http://u.damasgate.com/001/4/anc86o1mu7y00cdhaf96.png
رابط اللعبة
http://www.b30b.com/up//view.php?file=bb52549e0d
الان مع البرمحة بالاوتوبلاي :
سنركز على شيئين تدوير الاشكال و ايضا كيف نعلن ان اللاعب نجح في الللعب
- افتح مشروع جديد
- في الصفحة ضع 2 من paragraph و ضع لهما لون واحدا لكليهما او ممكن تخد صورة كخلفية ما
- حمل صور لاشكال بسيطة مختلفة اللون مثلا الاشكال التالية
http://u.damasgate.com/001/4/rr2owgc23iv7e4jc8cb9.png
http://u.damasgate.com/001/4/26di8932y58kpaon1unf.png
http://u.damasgate.com/001/4/hjzrbdguwty4pwdj1z1u.png
http://u.damasgate.com/001/4/hw7e2snkl96sjybzpl3f.png
http://u.damasgate.com/001/4/cozi23fbc7srdf1qercj.png
http://u.damasgate.com/001/4/qb42xwn0w0ospi9ba6qc.png
http://u.damasgate.com/001/4/vcg0ty8bnbt7ya8d9dhk.png
http://u.damasgate.com/001/4/2z3a2vqf0p28cvn56h5x.png
http://u.damasgate.com/001/4/midd6zf1azz1erlvkwdl.png
- الان نضع الصور بشكل موزع على حواف الخلفيتين بهذا الشكل :
http://u.damasgate.com/001/4/ab3grl4nnbr5dzex8qf9.png
الان سنفترض ان المشكل في الصورتين المتقابلتين يجب ان يكونا من نفس النوع
لذلك سنجعل كود التصحيح هو ان يعرف مصدر الصورتين لمتقابلتين
فان وجد انهما من نفس النوع يعلنك لاعيا ناجحا
اذن اولا سنحفظ مكان الصورتين المتقابلتين و في مشروعنا هما الصورة رقم 3 من المربع الاول
و الصورة 5 من المربع 2
و لنتفرض متغيرين هما sol 1 ; sol2 وهما موقع الصورتين باستخدام الكود التالي :
sol1 = Image.GetPos("Image3");
sol2 = Image.GetPos("Image5");
ثم نضع متغيرين اين نحفظ فيهما مصدر الصورتين الموجدتين في الموقع 3 و 5 و نسميهما obj1: obj2
بداية نعطيهما مصدر الصورتين في الشكل الاول بواسطة الكود
obj1 = Image.GetFilename("Image3");
obj2 = Image.GetFilename("Image5");
الان كيف نجعل المربع يدور ؟
نحن لن نجعله يدور بل سنجعل الصور التي في وسطه تدور ...و بالاحرى تغيير مواقعها تباعا من اليمين الى اليسار او العكس بوضع موقع الصور بالشكل التالي :
http://u.damasgate.com/001/4/eveuapfxepw6enb86y2x.png
تضع في الخلفية للمربع الاول مهما كان صورة او paragraph نضغ في الحدث On click الكود التالي :
نحفظ موقع الصور من 1 الى 4 في مصفوفة ... ثم نجعل الصورة الاولى تاخد موقع الصورة 2 و الصورة 2 تنتقل الى موقع الصورة 3 و هكذا
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
نفس الشي في المربع الثاني فقط نضيف i+4 لياخد موقع الصور 5-6-7-8
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
جميل فلما تضغط على الصور تتنقل كالتالي :
http://u.damasgate.com/001/4/zxkcm0dqdmodouyair1l.gif
الان ناتي الى كود التصحيح :
بعد كل ضغطة سيحفظ الكود ماهو مصدر الصورة التي تحتل الموقع 3 في obj1
نفس الشيء في المربع الثاني يحفظ مصدر الصورة التي تحتل الموقع 5 و يحفظها في obj2
الان سيقارن القيمتين obj1 و obj2 فان كانا متساويتيم فان الشكلين كتطابقين و بالتالي نجح اللاعب
اذن في المربع الاول يصبح الكود كالاتي
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
و في المربع الثاني:
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
و في الصفحة في on show
sol1 = Image.GetPos("Image3");
sol2 = Image.GetPos("Image5");
obj1 = Image.GetFilename("Image3");
obj2 = Image.GetFilename("Image5");
احفظ العمل ثم معاينة
بالتوفيق