PDA

نسخه کامل مشاهده نسخه کامل : بازی منج



MosaferJade
08-04-2011, 17:00
سلام
خیلی وقتا میام تو این p30world ld می گردم و البته اطلاعاتم هم بالا می ره ولی فکر می کنم اگه بشینم و بازم مثل قدیما پروژه بنویسم بهتره واسه همین می خوام بازی منچ را بنویسم خودم با c# کار می کنم اما شاید با vb.net , vc++ هم کد هاش را بنویسم تا دوستان استفاده کنند

MosaferJade
08-04-2011, 18:12
یک برنامه جدید درست می کنیم اسمش را میزاریم program1

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]منج/untitled.JPG

این را هم داشته باشید تا بعدا دربارش توضیح بدم

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]منج/untitled1.JPG

ompc
09-04-2011, 20:06
سلام
پس چی شد؟
کجا رفتی؟
منصرف شدی؟

MosaferJade
10-04-2011, 15:41
سلام
پس چی شد؟
کجا رفتی؟
منصرف شدی؟
چرا داری جو سازی می کنی
منصرف نشدم . فقط ... فقط کمی سخته :41:
من بهت pm دادم واسه کمک نه جو سازی

از اینجا به بعد را خواهشن نخندین :20:

MosaferJade
10-04-2011, 16:24
قبل از هر چیز این کلاس را می سازیم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این کلاس مکان مهره را به ما نشان می دهد . در اینجا a به ما می گوید که این مهره در کدام منطقه ( A ,B , C ,D , E , W , S , N ) می باشد و x هم به خانه مورد نظر از این خانه اشاره می کند(هووووف)

نمی دونم شما این بازی رو با چه قانونی بازی می کردید ولی من که اون موقع و البته این موقع ( همین امروز هم بازی کردم :31: ) که بازی می کردم قانون هاش متفاوت بود
مثلا نمیشه ( میشه ) از روی مهره ( خود یا حریف ) پرید
نمیشه ( میشه ) مهره حریف را زد
نمیشه ( میشه ) دوتا( یا بیشتر ) مهره در یک زمان در یک خانه باشند
اگر مهره ای در زمین داشته باشیم باید برای هر شماره ای که پنیر می آورد حرکت کنیم ( به غیر از شش و حالتی که می توان به بازی مهره اضافه کرد ) مثال می زنم در شکل دوم دقت کنید فرض کنید مهره سبز ما الان در خانه 8 قرار دارد . پنیر را می اندازیم عدد 5 می آید حالا چکار باید بکنیم خوب معلوم است که این 5 حرکت را حتما و حتما باید انجام دهیم . اما چگونه ؟ جواب این است که باید دور جدید را آغاز کنین یعنی این مهره سبز ما بعد از حرکت در خانه 13 خواهد بود
و ....

aliaghaaaaa
10-04-2011, 17:37
سلام.
جالبه.

ompc
12-04-2011, 10:36
سلام
اگه یه بار کامل بشینی قوانین بازیتو بگی(سنگاتو با بازی وابکنی) بیشتر می تونیم کمکت کنیم.

Mr Mohabat
11-08-2011, 14:44
سلام
با اجازه همگی منو محبوبه خانم (صاحب تایپیک رو نمی گم این پایینیه منظورمه ) تصمیم گرفتیم بیایم اینجا این
این پروژه رو یه جوری درست کنیم

babakiyan
11-08-2011, 14:49
البته ولی بیشتر کمکشو آقا ابراهیم میکنه

Mr Mohabat
11-08-2011, 14:56
اولین کارمون فکر کنم باید این باشه که یه کلاس برای مختصات مهره ها بسازیم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Mr Mohabat
11-08-2011, 15:06
یه کلاس هم واسه صفحه منج

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

---------- Post added at 04:06 PM ---------- Previous post was at 04:01 PM ----------

یه کلاس هم واسه مهره های بازی


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Mr Mohabat
25-08-2011, 18:09
سلام به همه دوستان
طاعات و عباداتتون قبول
بالاخره این بازی رو البته نه کامل ولی نوشتم

اینم لینک دانلود

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Mr Mohabat
26-08-2011, 21:30
بازی منج شامل تاس و مهره ها + یک صفحه است که تو پست بعدی براتون می زارم
البته تو فایل بالا همگی موجوده
اول میریم سراغ کلاس مهره

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Mr Mohabat
26-08-2011, 21:42
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اینم از عکس ها

Mr Mohabat
26-08-2011, 21:57
الان درم در مورد کلاس مهره (Mohre) توضیح میدم
این متغیر ها رو براش تعریف می کنم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب اینا چی هستن
البته همینجا میگم من ادعا نمی کنم برنامه رو به بهترین وجه ممکن نوشتم
mohre برابر عکس مهره هاست که قراره درون این متغیر قرار بگیره
Buffer وقتی مهره یه جایی قرار گرفت برای حرکت باید مقداری رو یا بهتر بگم عکسی رو که زیر اون قرار می گیره بعد از حرکت بهش برگردوند و این متغیر دقیقا همین کار رو انجام میده یعنی قبل از اینکه مقدار mohre در نقطه مورد نظر -- بشه مقدارش در Buffer ذخیره میشه
point محل قرار گیری مهره در بازی می باشد این مهره مقادیر -3 تا 47 رو میگیره
Start به نوع رنگ مهره ها مربوط میشه و مقادیر 0 یا 10 یا 20 یا 30 رو میگیره

Mr Mohabat
26-08-2011, 22:12
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اینجا فکر کنم چیزی غیر از این مختصات لازم به توضیح نباشه
مختصات کلاسی هست که خودمون تعریف کردیم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

---------- Post added at 11:12 PM ---------- Previous post was at 11:07 PM ----------

تابع set دو مقدارStart , Point رو می گیره و به کمک یگ فایل مکان X,Y که محل قرار گیری پیکسلی مهره می باشد را به ما میده

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
باید در کلاس Mohre به جای X,Y از کلاس Mokhtasat استفاده می کردم ولی از اونجایی که تعریف این کلاس دیر به ذهنم رسید
دیگه همینجوری موند

babakiyan
27-08-2011, 09:57
point محل قرار گیری مهره در بازی می باشد این مهره مقادیر -3 تا 47 رو میگیره

چرا بین 3 و 47؟

babakiyan
27-08-2011, 10:04
[)
11:07 PM ----------


[

string[] str = System.IO.File.ReadAllLines(Application.StartupPat h + "\\image\\mohktasat.txt");


{
ret = new Mokhtasat(Convert.ToInt16(str[i * 4 + 2]), Convert.ToInt16(str[i * 4 + 3]));
break;
}
return ret;
}
[/PHP]

این دو خط و میشه توضیح بدی؟

Mr Mohabat
27-08-2011, 14:47
چرا بین 3 و 47؟
اون 3 نیست -3 ( منفی سه است )

این تصویر رو ببینید
البته فقط برای مهره های قرمزه
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
برای بقیه مهره ها همینطوره یعنی عدد -3 و -2و-1 و0 و... تا 47 کاملا معلومه

Mr Mohabat
27-08-2011, 15:04
این دو خط و میشه توضیح بدی؟
خط اولی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یه آرایه از نوع string تعریف کردم که داره تمام خطهای اون فایل رو می خونه و درون آرایه می ریزه
application.startup path آدری جایی است که فایل اجرایی از آنجا اجرا شده است

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ret اینجا یه متغیر ( متغیر که نه چو همه اشاره گرن ) از نوع کلاس MOkhtasat می باشد
برای ساختن کلاس از عبارت new استفاده شده است و آدرس آن در ret قرار می گیرد
این تابع در اینجا تابع سازنده کلاس است اگه دقت کنید تو کلاس مختصات بع صورت زیر
تعریف شده

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثل همه توابع نیست ( یه تابع سازنده )
دیگه براتون بگم که Convert.ToInt16() جز توابع خود ویژال استدیو می باشد که
الان در اینجا رشته string رو به int(یا Int16) تبدیل می کند

Mr Mohabat
27-08-2011, 15:31
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این تابع از کلاس مهره رو توضیح بدم
یهاین تابع یه لیستی از مهره ها رو می گیره + عدد تاس و به ما میگه که این مهره آیا می تونه حرکت کنه یا خیر
روش کارش هم اینجوریه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Mr Mohabat
27-08-2011, 15:56
خط اول میگه و دوم یه شرطی دارن که میگن اگه مهره ای قبل از خونه صفر یه مهره دیگه باشه و بعد از حرکت به اندازه tas به خونه صفر یا یا خونه های بعدیش باشه
خط سوم یک واحد به تاس اضافه می کنه تا اون خونه 0 حساب نشه

خط چهارم میگه اگر مهره تو خونه 44 یا بالاتر بودو یا با جمع point و tas یه خونه ای بالاتر یا مساوی 44 باشه
انتهای خط چهارم میگه که نمی تونه حرکت کنه و تابع از همینجا به اتمام میرسه
اما اگه شرط خط چهارم درست نبود
میره به خط های بعد
خط 5 یه حلقه است که می خواد تمام مهره ها رو بررسی کنه واسه همین در هر دور حقله یکی از مهره ها رو به درون a قرار میده و حلقه رو اجرا می منه
الان این مهره ( this)
1- می تونه تو خونه های -3 یا -2 یا -1 یا 0 باشه
2- می تونه تو خونه های 1 یا 2 یا 3 یا ... یا 38 یا 39 باشه
3- می تونه تو خونه های 40 یا 41 یا 42 یا 43 باشه
خط 7 میگه اگه شرط 1 درست بود
آنگاه خط 9 میگه اگر a تو بازی باشد ( a,point بین 0 و 40)
آنگاه خط 10 اجرا میشه

mahmoodaalamy
22-12-2011, 11:45
سلام
من عضو جدید تاپیک هستم
میخوام برنامه منج رو از اول برام توضیح بدبن!!