# Native Code > برنامه نویسی در 6 VB > برنامه نویسی مرتبط با بازی و گرافیک در VB6 >  پروژه بازی توپ

## saman999

سلام دوستان من يه بازی از اينجا دانلود کردم که زير ضميمه کردم

ميخواستم چندتا چيز بهش اضافه کنم

1. بشه اگه فرم هم muximize بشه توپ بخوره بهش و پيغام بده

2. سرعت توپ رو بشه با دوتا دکمه کمو زياد کرد

3. مختصات که توپ ميره نشون بده  



ممنون ميشم بچه ها

----------


## saman999

دوستان ميشه حداقل يه نگا کنيد يه روز گذشت  :ناراحت:

----------


## xxxxx_xxxxx

سلام،
من مورد اول رو اصلاح کردم.
بجای استفاده از اعداد باید با متدهای Left و Top و Height و Width استفاده کنید.

برای مورد دوم (سرعت توپ) میتونید هم Interval تایمر رو کمتر کنید و هم میزان جابجایی توپ رو بیشتر کنی که من دومی رو پیشنهاد می کنم. میزان جابجایی رو تو یک متغیر نگهداری کنید.

----------


## xxxxx_xxxxx

> سلام
> من یه پروژه باید درست کنم که یه توپ باشه که بهش سرعت اولیه وجهت بدیم بعد توپ بره به درو دیوار بخوره
> میشه این برنامه رو این جوری تغییرش بدین
> ممنون


خودتون دست به کار شین، هرجا به مشکل بر خوردید مطرح کنید تا اگر کسی خواست راهنمایی کنه. اینجا درخواست برنامه و انجام پروژه درسی و غیر درسی ممنوع هست.

----------


## xxxxx_xxxxx

اون طور که یادمه تو این برنامه جهت حرکت توپ در یک متغیر ذخیره میشد.
شما می تونید در حین حرکت توپ (در یکی از تایمرها) بررسی کنید اگر left و top توپ کمتر یا بیشتر *از یک حدی* بود، یعنی به لبه ها برخورد کرده پس جهت رو که در متغیر ذخیره کرده بودید برعکس می کنید.

اون حد برابر با 0 و 0 برای ضلع بالا و چپ هست و برای ضلع پایین و راست باید Top و Left توپ رو از height و width فرم کم کنید. نمونه این دستورات در برنامه ای که در پست سوم ضمیمه کردم هست.

----------


## xxxxx_xxxxx

Select Case jahat
Case 1: shape1.Left = shape1.Left - 50
Case 2: shape1.Top = shape1.Top - 50
Case 3: shape1.Left = shape1.Left + 50
Case 4: shape1.Top = shape1.Top + 50
End Select
If shape1.Left <= 0 Then jahat = 3
If shape1.Left + shape1.Width >= Me.Width Then jahat = 1
If shape1.Top <= 0 Then jahat = 4
If shape1.Top + shape1.Height >= Me.Height Then jahat = 2
End Sub

----------


## xxxxx_xxxxx

> eror میدهSelect Case jahat
> Case 1: *shape1.Left = shape1.Left - 50*
> Case 2: shape1.Top = shape1.Top - 50
> Case 3: shape1.Left = shape1.Left + 50
> Case 4: shape1.Top = shape1.Top + 50
> End Select
> If shape1.Left <= 0 Then jahat = 3
> If shape1.Left + shape1.Width >= Me.Width Then jahat = 1
> If shape1.Top <= 0 Then jahat = 4
> If shape1.Top + shape1.Height >= Me.Height Then jahat = 2


مگه من اون خط رو تغییر دادم که رو اون خط ارور میده؟!!!

----------

