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

## vb1249

سلام
معلم ما برای پروژه گفته باید
بازی مارپله را طراحی کنید دوستان سورس نمیخوام میخوام راهنمایی کنید چطوری باید پیاده سازی کنم ؟ 
حرکت مهره و..

و بازی معمای 8 هم  گفته که اصلا نفهمیدم منظورش چی بود

----------


## Mori Bone

سلام. من قبلا مارو پله رو نوشتم، البته با vb6. الان نمی دونم کجاست.
شما استارت کار رو بزن. هر جا مشکل داشتی بگو توضیح بدم.

----------


## vb1249

مشکل کار توی حرکت مهره هست 
چطوری مهره رو حرکت بدم ؟
مثلا با تابع رندوم بین 1 تا 6 یک عدد تصادفی ایجاد کردم..

----------


## program2vb

سلام خدمت دوست عزیز . ابتدا یه صفحه طراحی میکنی ( آرایه ای از اشیا مثلا لیبل یا ایمیج و ... ) سپس اندیس خانه ها چون به ترتیب 1-100 و یا .... هست باید به صورت ستر و ستون در بیاری . بعد خیلی راحت میکنی اون جدول رو کنترل کنی . و نوشتن بازی هم شبیه همون بازی روی کاغذ هست :)

و اما معمای 8 ( یعنی بازی 8 وزیر توی شطرنج ) باید ویزیر ها رو جوری بزاری که همدیگرو نزنن که اینم باز شبیه همون منچ هست با این تفاوت که اینجا با قطر های اصلی هم سرو کار داری . از اونجایی که صفحه شطرنج 8 × 8 هست یعنی مربع هست خیلی راحت میتونی قطر ها رو بدست بیاری :)


در ضمن برای جلوگیری از تکراری نبودن اعداد هنگام تاس ریختن قبل از عمل رندم از تابع رندومایز استفاده کن ...

موفق و سربلند باشی ... یا علی

----------


## Mori Bone

یه متغیر بگیر که شماره مکان جاری رو داشته باشه. مثلا 90. حالا با کد زیر مهر رو ببر به اون خونه.
 mohre1.Left = lblBase(mohreLocation).Left

----------


## vb1249

تا اینجا پیشرفتم ولی گیر کردم
میخوام طوری تعریف کنم که تاس قبلی بازیکن از بین نره  :اشتباه: 
پروژه رو Attach کردم لطفا سورس اضافه کردید یک کامنت براش بزارید  :لبخند گشاده!:

----------


## Mori Bone

من رو سیستمم vb6 رو ندارم. :خجالت:  
خب یه جا ذخیرش کن. این همه جا. دیتابیس، آرایه، متغیر رشته ای

----------


## vb1249

VB6پرتابل 5 مگ بیشتر نیست  :متفکر:  

امکانش هست نگاهی بهش بنداز

----------


## ASedJavad

سلام
شما میتونی فرضا مقدار c رو بصورت static تعریف کنی تا از بین نره و در هر مرحله باید مقدار a رو با اون c قبلی جمع کنی.مثلا کدت یه همچین چیزی میشه:
Private Sub Command2_Click()
Static c As Byte
Command2.Enabled = False
Command1.Enabled = True
Randomize
a = Int(Rnd * 6) + 1
c = a + c
Label4.Caption = a
Shape3.Top = Label1(c).Top + 190
Shape3.Left = Label1(c).Left
End Sub

البته نحوه تولید عدد تصادقی رو هم یکم تغییر دادم :)

----------


## vb1249

فقط یک مشکل داره به صورت رندوم همش 5 تولید میکنه چرا ؟  :لبخند گشاده!:

----------


## Mori Bone

یه randomize اوله ایونت بنویس. پایینه Command2_Click()

----------


## vb1249

بخوایم یک شیپ روی عکس قرار بگیره نره زیر عکس باید چیکار کنیم ؟

----------


## ASedJavad

یا بجای picturebox از image استفاده کن و یا شیپ ها تو داخل picturebox بذار نه داخل فرم

----------


## vb1249

> یا بجای picturebox از image استفاده کن و یا شیپ ها تو داخل picturebox بذار نه داخل فرم


قصد دارم روی لیبل های که گذاشتم یک عکس با فتوشاپ طراحی کردم بزارم !
وقتی میزارم شیپ ها میرن زیرش :(

----------


## vb1249

اگر بخوایم مثلا 
if a=2 then
بقیه برنامه کدهای نوشته شده توی این کامند اجرا نشه باید جی بنویسیم ؟
end if 
 :لبخند گشاده!:

----------


## ahmad abdoli

باید اینو بنویسی

  Exit sub

----------


## vb1249

یک مشکل دیگه
اگر بخوای طرف با کامپیوتر بازی کنه باید چیکار کنیم ؟ :افسرده:

----------


## Mori Bone

> یک مشکل دیگه
> اگر بخوای طرف با کامپیوتر بازی کنه باید چیکار کنیم ؟


اون موقع دیگه وارد مباحث پیشرفته ی هوش مصنوعی میشیم که هر کسی بلد نیست.

----------


## ASedJavad

سلام



> اون موقع دیگه وارد مباحث پیشرفته ی هوش مصنوعی میشیم که هر کسی بلد نیست.


بازی مارپله است ها! این دیگه هوشش کجا بود؟ شطرنج که نیست. کلا همه چیش رندمه!
برا این که بخوای با کامپیوتر بازی کنی، باید از اون دو تا دکمه ای که طراحی کردی، هی یک بار یکیشو کاربر بزنه و دفعه بعد اون یکی دکمه ازطریق خود برنامه فراخونده بشه. همین

----------


## Mori Bone

> سلام
> 
> 
> بازی مارپله است ها! این دیگه هوشش کجا بود؟ شطرنج که نیست. کلا همه چیش رندمه!
> برا این که بخوای با کامپیوتر بازی کنی، باید از اون دو تا دکمه ای که طراحی کردی، هی یک بار یکیشو کاربر بزنه و دفعه بعد اون یکی دکمه ازطریق خود برنامه فراخونده بشه. همین


عزیز شوخی کردم. شما چرا باور می کنی. :لبخند گشاده!:  کلا این بازی یه تاس داره دیگه

----------


## vb1249

> عزیز شوخی کردم. شما چرا باور می کنی. کلا این بازی یه تاس داره دیگه


دو  عدد تاس داره

----------


## Mori Bone

چرا دو تا؟

----------


## vb1249

برای هر پلیر یک تاس گذاشتم ...
بگذریم مار و پله تموم شد !
اما انچه باقیست پازل هست ..
یک مقداری دوستان کمک کنند این پازل هشت تایی ( به صورت عدد باید باشه 1 تا 8 )
چطوری حرکت ها , یک مقداری سورس , و.. ممنون میشم  :لبخند گشاده!:

----------


## mahyaraliagdam

سلام میشه تمامی کد های بازه مار پله رو بهم بدی ممنون میشم

----------

