قرصان البرامج
05-18-2006, 04:14 PM
بسم الله نبدا هذه السلسلة من دروس تصميم الالعاب بالفجوال بيسيك مع قرصان البرامج
اقدم لكم اليوم لعبة بسيطة قمت بتصميمها
واليكم الطريقة- افتح برنامج الفجوال بيسيك
-اختر EXE
-زد من حجم الفورم
-ضع في الفورم بوسطة الاداة LABEL ستة مربعات
-تم ضع ستة من الاداةTIMER
بحيت يكون LABEL1 امام TIMER1
وهكدا
http://www.arab7.com/up/file/1147963482746.jpg
-حدد جميع ادوات TIMER
-غير INTERVAL
الى 120
http://www.arab7.com/up/file/1147963651137.jpg
الان سنقوم بادخال الاكواد الى TIMER
http://www.arab7.com/up/file/1147963562137.jpg
-اضغط على TIMER1
مرتين وعندما تظهر لك شاشة الاكواد ادخل الكود التالي
Label1.Left = Val(Label1.Left) + 500
If Label1.Left > 6400 Then
Label1.Left = 240
end if
TIMER2 وهدا بالنسبة ل
Label2.Left = Val(Label2.Left) + 400
If Label1.Left > 6400 Then
Label2.Left = 240
end if
TIMER3 وهدا بالنسبة ل
Label3.Left = Val(Label3.Left) + 200
If Label3.Left > 6400 Then
Label3.Left = 240
end if
TIMER4 وهدا بالنسبة ل
Label4.Left = Val(Label4.Left) + 1000
If Label4.Left > 6400 Then
Label4.Left = 240
end if
TIMER5 وهدا بالنسبة ل
Label5.Left = Val(Label5.Left) + 600
If Label5.Left > 6400 Then
Label5.Left = 240
end if
TIMER6 وهدا بالنسبة ل
Label6.Left = Val(Label6.Left) + 300
If Label6.Left > 6400 Then
Label6.Left = 240
end if
الان ساقوم بشرح هذه الاكواد
ساخد الكود الاول كمتال
Label1.Left = Val(Label1.Left) + 500
LABEL1 هذا الكود يعني ان مكان تواجد
على المحور الافقي يساوي مكان تواجده الان اضافة الى 200 اي انه سيستمر في الحركة الى مالانهاية فعندما يصل الى نقطة ما يتقدم ب500
وهكدا
اما السطر التاني من الكود
If Label1.Left > 6400 Then
Label1.Left = 240
end if
LABEL1 فيعني ان المربع الاسود في الصورة اي
يعود الى مكانه الاول 240 عندما يتجاوز 6400
الان قم بتجربة النتيجة بالضغط على F5
http://www.arab7.com/up/file/1147963786331.jpg
ستلاحظ ان المربعات تقوم بالحركة من اليسار الى اليمين وبسرعات مختلفة وهدا الاختلاف راجع الى اختلاف القيمة التي يتقدم بها اى 400 او500 او 1000
-ما سنقوم به الان هو ادخال كود الى المربعات السوداء حيت انه عند النقر عليها ستقوم بالتوقف
LABEL1 اضغط مرتين على
ادخل الكود التالي
Timer1.Enabled = False
LABEL2 وهدا بالنسبة ل
Timer2.Enabled = False
LABEL2 وهدا بالنسبة ل
Timer2.Enabled = False
LABEL3 وهدا بالنسبة ل
Timer3.Enabled = False
LABEL4 وهدا بالنسبة ل
Timer4.Enabled = False
LABEL5 وهدا بالنسبة ل
Timer5.Enabled = False
LABEL6 وهدا بالنسبة ل
Timer6.Enabled = False
http://www.arab7.com/up/file/1147963834455.jpg
ساشرح الان هد الكود واخد متال عليه LABEL1
Timer1.Enabled = False
هذا الكود يعني انه عند الضغط على LABEL1
سيتم ايقاف تشغيل TIMER1
وهذا يعني ايقاف حركة المربع الاسود
-الان سنوم باضافة زر للتحكم باللعبة اي ان اللعبة لن تبدء بمجرد فتحها ولكن بعد الضغط على الزر
اخترcommandbotton
الصقه في الفورم وسمه play
http://www.arab7.com/up/file/1147964011213.jpg
الان هذا الزر هو الدي يتحكم في الحركة الخاصة بالمربعات السوداء
ادن الان سنقوم بمنع حركته بمجرد فتح اللعبة
timer قم بتحديد كل
ومن الخاصيةenabled اختر false
لنعد الان الى الزر اضغط عليه مرتين والصق فيه الكود التالي
Timer1.Enabled = True
Timer2.Enabled = True
Timer3.Enabled = True
Timer4.Enabled = True
Timer5.Enabled = True
Timer6.Enabled = True
http://www.arab7.com/up/file/1147964859689.jpg
هدف هدا الكود هو تشغيلtimer التي اوقفنا عملها التلقائي عند فتح اللعبة
قم بتجربة اللعبة بالضغط علىf5
ستلاحظ ان المربعات السوداء لا تتحرك الا بعد الضغط على play
11-الان سنضيف شريط الزمن
هدا الشريط سيقوم بالتناقص مع مرور الوقت
اختر الاداةlabel ارسم بها شريطا وغير لونه الى الاصفر
للتحكم بالشريط تم قم باضافة اداةtimer
http://www.arab7.com/up/file/1147964213417.jpg
انقر علىtimer الدي اضفته والصق به الكود التالي
Private Sub Timer7_Timer()
Label7.Width = Val(Label7.Width) - 5
End Sub
هدا الكود يقوم بانقاص طول الشريط تدريجيا
ندهب الان الى الزرplay ونضيف اليه كود تفعيل Timer7
Timer7.Enabled = True
http://www.arab7.com/up/file/1147964286666.jpg
اضغط علىf5
ستلاحظ ان الشريط بدا بالتناقص حتى يختفي
علينا الان ان نضيف الكود الدي يعيد الشريط الى حالته عند الضغط على play
نقر مرتين على play
تم اضف الكود التالي
Label7.Width = 5175
ملاحظة غير الرقم 5175 بطول الشريط الدي قمة بتحديده
بقي الان امامنا ادخال الكود الدي يبين النتيجة هل فوز او خسارة
حيث ستظهر النتيجة لعمل دلك قم بادخال اداةlabel
للتحكم بالكود قم بادخال اداةtimer
حددtimer 8واجعل interval =true
http://www.arab7.com/up/file/1147964374937.jpg
انقر الان مرتين عليه وادخل الكود التالي
If Label7.Width > 15 And Timer1.Enabled = True And Timer2.Enabled = True And Timer3.Enabled = True And Timer4.Enabled = True And Timer5.Enabled = True And Timer6.Enabled = True Then
Label8.Caption = "good"
Else
Label8.Caption = "bad"
End If
http://www.arab7.com/up/file/1147964859689.jpg
ولاحظ النتيجة جرب اللعبة عن طريق الضغط على f5
http://www.arab7.com/up/file/1147964420272.jpg
http://www.arab7.com/up/file/1147964459331.jpg
يمكنك تحميل اللعبة والملف المفتوح من المرفقات
اقدم لكم اليوم لعبة بسيطة قمت بتصميمها
واليكم الطريقة- افتح برنامج الفجوال بيسيك
-اختر EXE
-زد من حجم الفورم
-ضع في الفورم بوسطة الاداة LABEL ستة مربعات
-تم ضع ستة من الاداةTIMER
بحيت يكون LABEL1 امام TIMER1
وهكدا
http://www.arab7.com/up/file/1147963482746.jpg
-حدد جميع ادوات TIMER
-غير INTERVAL
الى 120
http://www.arab7.com/up/file/1147963651137.jpg
الان سنقوم بادخال الاكواد الى TIMER
http://www.arab7.com/up/file/1147963562137.jpg
-اضغط على TIMER1
مرتين وعندما تظهر لك شاشة الاكواد ادخل الكود التالي
Label1.Left = Val(Label1.Left) + 500
If Label1.Left > 6400 Then
Label1.Left = 240
end if
TIMER2 وهدا بالنسبة ل
Label2.Left = Val(Label2.Left) + 400
If Label1.Left > 6400 Then
Label2.Left = 240
end if
TIMER3 وهدا بالنسبة ل
Label3.Left = Val(Label3.Left) + 200
If Label3.Left > 6400 Then
Label3.Left = 240
end if
TIMER4 وهدا بالنسبة ل
Label4.Left = Val(Label4.Left) + 1000
If Label4.Left > 6400 Then
Label4.Left = 240
end if
TIMER5 وهدا بالنسبة ل
Label5.Left = Val(Label5.Left) + 600
If Label5.Left > 6400 Then
Label5.Left = 240
end if
TIMER6 وهدا بالنسبة ل
Label6.Left = Val(Label6.Left) + 300
If Label6.Left > 6400 Then
Label6.Left = 240
end if
الان ساقوم بشرح هذه الاكواد
ساخد الكود الاول كمتال
Label1.Left = Val(Label1.Left) + 500
LABEL1 هذا الكود يعني ان مكان تواجد
على المحور الافقي يساوي مكان تواجده الان اضافة الى 200 اي انه سيستمر في الحركة الى مالانهاية فعندما يصل الى نقطة ما يتقدم ب500
وهكدا
اما السطر التاني من الكود
If Label1.Left > 6400 Then
Label1.Left = 240
end if
LABEL1 فيعني ان المربع الاسود في الصورة اي
يعود الى مكانه الاول 240 عندما يتجاوز 6400
الان قم بتجربة النتيجة بالضغط على F5
http://www.arab7.com/up/file/1147963786331.jpg
ستلاحظ ان المربعات تقوم بالحركة من اليسار الى اليمين وبسرعات مختلفة وهدا الاختلاف راجع الى اختلاف القيمة التي يتقدم بها اى 400 او500 او 1000
-ما سنقوم به الان هو ادخال كود الى المربعات السوداء حيت انه عند النقر عليها ستقوم بالتوقف
LABEL1 اضغط مرتين على
ادخل الكود التالي
Timer1.Enabled = False
LABEL2 وهدا بالنسبة ل
Timer2.Enabled = False
LABEL2 وهدا بالنسبة ل
Timer2.Enabled = False
LABEL3 وهدا بالنسبة ل
Timer3.Enabled = False
LABEL4 وهدا بالنسبة ل
Timer4.Enabled = False
LABEL5 وهدا بالنسبة ل
Timer5.Enabled = False
LABEL6 وهدا بالنسبة ل
Timer6.Enabled = False
http://www.arab7.com/up/file/1147963834455.jpg
ساشرح الان هد الكود واخد متال عليه LABEL1
Timer1.Enabled = False
هذا الكود يعني انه عند الضغط على LABEL1
سيتم ايقاف تشغيل TIMER1
وهذا يعني ايقاف حركة المربع الاسود
-الان سنوم باضافة زر للتحكم باللعبة اي ان اللعبة لن تبدء بمجرد فتحها ولكن بعد الضغط على الزر
اخترcommandbotton
الصقه في الفورم وسمه play
http://www.arab7.com/up/file/1147964011213.jpg
الان هذا الزر هو الدي يتحكم في الحركة الخاصة بالمربعات السوداء
ادن الان سنقوم بمنع حركته بمجرد فتح اللعبة
timer قم بتحديد كل
ومن الخاصيةenabled اختر false
لنعد الان الى الزر اضغط عليه مرتين والصق فيه الكود التالي
Timer1.Enabled = True
Timer2.Enabled = True
Timer3.Enabled = True
Timer4.Enabled = True
Timer5.Enabled = True
Timer6.Enabled = True
http://www.arab7.com/up/file/1147964859689.jpg
هدف هدا الكود هو تشغيلtimer التي اوقفنا عملها التلقائي عند فتح اللعبة
قم بتجربة اللعبة بالضغط علىf5
ستلاحظ ان المربعات السوداء لا تتحرك الا بعد الضغط على play
11-الان سنضيف شريط الزمن
هدا الشريط سيقوم بالتناقص مع مرور الوقت
اختر الاداةlabel ارسم بها شريطا وغير لونه الى الاصفر
للتحكم بالشريط تم قم باضافة اداةtimer
http://www.arab7.com/up/file/1147964213417.jpg
انقر علىtimer الدي اضفته والصق به الكود التالي
Private Sub Timer7_Timer()
Label7.Width = Val(Label7.Width) - 5
End Sub
هدا الكود يقوم بانقاص طول الشريط تدريجيا
ندهب الان الى الزرplay ونضيف اليه كود تفعيل Timer7
Timer7.Enabled = True
http://www.arab7.com/up/file/1147964286666.jpg
اضغط علىf5
ستلاحظ ان الشريط بدا بالتناقص حتى يختفي
علينا الان ان نضيف الكود الدي يعيد الشريط الى حالته عند الضغط على play
نقر مرتين على play
تم اضف الكود التالي
Label7.Width = 5175
ملاحظة غير الرقم 5175 بطول الشريط الدي قمة بتحديده
بقي الان امامنا ادخال الكود الدي يبين النتيجة هل فوز او خسارة
حيث ستظهر النتيجة لعمل دلك قم بادخال اداةlabel
للتحكم بالكود قم بادخال اداةtimer
حددtimer 8واجعل interval =true
http://www.arab7.com/up/file/1147964374937.jpg
انقر الان مرتين عليه وادخل الكود التالي
If Label7.Width > 15 And Timer1.Enabled = True And Timer2.Enabled = True And Timer3.Enabled = True And Timer4.Enabled = True And Timer5.Enabled = True And Timer6.Enabled = True Then
Label8.Caption = "good"
Else
Label8.Caption = "bad"
End If
http://www.arab7.com/up/file/1147964859689.jpg
ولاحظ النتيجة جرب اللعبة عن طريق الضغط على f5
http://www.arab7.com/up/file/1147964420272.jpg
http://www.arab7.com/up/file/1147964459331.jpg
يمكنك تحميل اللعبة والملف المفتوح من المرفقات
