درود مهمان گرامی! ثبت نام

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
سوال در مورد ساخت بازی تخته نرد
#11
(11/1/1398، 11:30 عصر)hisalam نوشته است: من یه سری تغییر دادم پروژه ات رو ... با همون روش خودت ک اشاره کردی ... 

سلام مجدد.
خیلی ممنونم که با صبر و حوصله جواب میدید وکمک میکنید. واقعا سپاسگزارم. heart
برنامه ای که میخوام بسازم بازی تخته نرد هستش. البته خب میدونم که هنوز در نقطه ی صهر و شروع کار هستم. ولی امیدوارم با کمک شما اساتید محترم کمی یاد بگیرم و تا حدودی بسازمش.

به نکاتی که شما گفتید گوش کردم و عملیشون کردم.
پروژه الان تا حدودی کار میکنه.
یعنی تاس رو که میریزی نقاطی که امکان جابجایی مهره داره با کلیک روی مهره ها ظاهر میشه. و دوباره اگر روی قسمت های ظاهر شده (هایلایت) کلیک بشه مهره به اون نقاط حرکت میکنه.(البته هنوز فقط در ردیف اول(بالا) کار میکنه و ردیف دوم رو هنوز کداشو ننوشتم).

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

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

راستش به جز این ساختار دیگه نمیدونم اصلا چجوری باید بنویسم.(مشکل اصلی ساختار در خونه هاییه که هایلایت میشه).

هرچند الان پروژه کار میکنه و ردیف پایین رو هم با همین ساختار میتونم بنویسم واون مشکل مهره زیری حرکت نکنه رو هم میتونم حل کنم. ولی ممنون میشم اگه یه پیشنهادی واسه بهتر شدن ساختار بهم بدید. اینجوری که نوشتم اصلا خوب نیست.

و سوال دوم اینکه میخوام مهره به اون مختصاتی که میخواد بره حرکت کنه. یعنی سرعت داشته باشه. نه اینکه یهو ازینجا پاک شه اونجا ظاهر شه. میخوام یک مسیری رو با سرعتی ثابت طی کنه. اینم اصلا نمیدونم باید چجوری بنویسم.


فایل‌(های) پیوست شده
.zip   nard.zip (اندازه: 143.5 KB / تعداد دفعات دریافت: 4)
پاسخ
#12
نقل قول: و سوال دوم اینکه میخوام مهره به اون مختصاتی که میخواد بره حرکت کنه. یعنی سرعت داشته باشه. نه اینکه یهو ازینجا پاک شه اونجا ظاهر شه. میخوام یک مسیری رو با سرعتی ثابت طی کنه. اینم اصلا نمیدونم باید چجوری بنویسم.


سلام ...
تخته نرد رو اتفاقا رو گوشیم دارم چندین هزار بار بازیش کردم به گواه امار خود بازی ...
کد رو هنوز ندیدم  ولی حرکت به نقطه خاص با سرعت ثابت : 
کد:
move_towards_point( x, y, sp );

توضیحات تابع

فعلا اینو داشته باش...

ویرایش : 
خواستم بگم بهترین کد ، کدی هست ک خود  ادم مینویسه...من از همون اولش بچه خر خون بودم!!! عاشق هندسه و فیزیک تو دبیرستان...یه معلمی دوران دبیرستان داشتیم ... یه بار یه مساله ای نمیدونم از کجا  اورد گف حل کنید...من یه شب یعنی بعد از مدرسه تا اواخر شب داشتم بهش فکر میکردم ب حلی نرسیدم ولی اینقدر ذهنم درگیر بود ک تو رختخواب نتونستم بخوام و همونجا داشتم تو رخت خواب مساله رو تو ذهنم مرور میکردم شاید باورت نشه همون تو رخت خواب یه چیزی به ذهنم اومد و پاشدم حلش کردم و بعد راحت خوابیدم...خیلی جالبه تو کلاس هیشکی حل نکرده بودش ولی من ک حل کردم رفتم ک واسه دیگران حلش کنم...جوری یه خنده ملیح رو صورت معلم اومد ک هنوز یادم نرفته بعد فهمیدم تو حل اون مساله یه قضیه ای ک من اصا نمیدونستم چیه و به قول خودش مربوط به دانشگاه بود رو من اثبات و حل کرده بودم تا بتونم اون مساله رو حل کنم!!! بعد خودش سوال خودش رو هم حل کرد مال خودش کوتاه تر بود یعنی راه حلش ولی گف مال من ارزشش بیشتره چون خودم حلش کردم و با ذهن خودم بوده...
خلاصه مطلب میخوام بهت بگم هیچ کدی بهتر و زیباتر از کد خود نیست ...کلا هر مساله ای رو میشه ب روش های مختلف راه حلش رو برنامه نویسی کرد بنا بر این دنبال کد خوب و این جور مسایل نکرد...البته مطالعه کدهای دیگران هم کمک میکنه هم ایده برای حل مساله و کسب تجربه...مثلا چند سال پیش داشتم دنبال یه کد میگشتم ک بتونه یه مساله رو با jquery   حل کنه واسم...پیدا هم کردم اما کده بسیار در هم و اندازه یه صفحه بود بی خیالش شدم مساله رو واسه خودم نوشتم رو کاغذ بعد جز ب جزش کردم و درنهایت با چیزی حدود 30 درصد حجم کدی ک پیدا کردم خودم تونستم بنویسم...
در مورد کدهایی ک خودت مینویسی اگ جواب میده همونا خوبن بعدا ب مرور بهینه اش می کنی...
این حاشیه یه کم بیشتر شد ولی دلیلش این بود خیلی ها متاسفانه راه کج رو میرن و همش دنبال کد خوبن بدون اینکه ختی تعریف کد خوب رو بدونن ... ک یه نمونه اش چند وقت پیش با یکی از اعضا بحث کردم ک کدت رو بزار ببینم چ کدی نوشتی ک میگی دنبال کد خوبم ک البته کدی هم ندیدم...راستی من تازه کارم تو gm ولی چون چن سال سابقه برنامه نویسی دارم  تجربه ام تو حل مساله کمکم میکنه ...
در مورد اینکه خیلی حضور دارم این اواخر تو انجمن،  چون همزمان چند تا پروژه دارم کار میکنم یکیش هم با gm (تولید محتوا و اموزش دروس ابتدایی با استفاده از بازی  ک این رو با gm کار میکنم ) اینجا هم واسه خودش بازه....ببینم بتونم کمک می کنم ...
پاسخ
 سپاس شده توسط sinaexample
#13
سلام...موضوع الان اینجا درست انتخاب نشده ...مدیریت خواهشا عنوان رو به کمک در الگویتمهای ساخت بازی تخته نرد تغییر بده یا همچین چیزی...چون بحث الان خارج شده و من نباید دیگه اینجا مطلبی بزارم چون ربطی به سوال عنوان شده در شروع نداره...
اما به هر حال ...
کدت رو نگاه کردم ... همونطور ک گفتم هر کدی ک خودت بنویسی و جواب بده همون بهترین راه خله...در مورد هایلایت حرکات امکان پذیر و مکانهایی ک میتونی مهره ها رو اونجا ببری، بعضی ها کل ستون رو مثل شما هایلایت میکنن، بعضی با فلش اطراف تخته بازی محل های ممکن رو نشون میدن ووو برای خود مهره هم واسه یه ایمیج دیگه به اسپریت مهر ه ها اضاف کن ک وقتی انتخاب شدن مثلا دور مهره قرمز شه (یه تصویر به عنوان اندیس اسپرایت)...ک هر کدوم از اینها خودش نحوه کدنویسی رو تغییر میده...در مورد بازی ها هم بگم اون چی ک بازی کننده براش مهمه یکی درستی گیم پلی، هممممم البته در اینجا منطق بازی (یعنی بدون باگ باشه) و یکی دیگه هم گرافیک ک باهاش سر و کله میزنه ...وگرنه اینکه چجوری اون منطق رو پیاده کنی براش مهم نیست...

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

resim
تو تصویر بالا همینطور که می بینی صفحه به دو آرایه  تقسیم میشه ..خب اینجا میتونی دو ارایه دو بعدی تعریف کنی ک رنگ مهره و تعداد رو با هم نگه داره...ولی خب چون دو تا ارایه نیاز به محاسبات احتمالا بیشتر داره می یایم و از سمت چپ هر دو ارایه رو بهم می چسبونیم و یه ارایه تشکیل می دیم ...مشابه شکل زیر : 
resim
یک ارایه 48 عنصری دو بعدی ....در اینجا با فرض ارایه i*j می تونیم بگیم i=0 تعداد مهره ها در اون خونه و i=1 رنگ مهره ها در اون خونه... و مقادیر j محل قرارگیری مهره ها...
خب میریم سراغ کد نویسی (این بخش کدهای room اصلی باز) : 

کد php:
globalvar tbl_array 

tbl_array array_create(48) ;

for (
i++){ 
 for (
24 j++) {
 
tbl_array[i,j] = 0;
 
 
 }
}

//////////
tbl_array[0,0] = ;
tbl_array[0,5] = ;
tbl_array[0,7] = ;
tbl_array[0,11] = ;
tbl_array[0,12] = ;
tbl_array[0,16] = ;
tbl_array[0,18] = ;
tbl_array[0,23] = ;


///////
tbl_array[1,0] = "b" ;
tbl_array[1,5] = "w";
tbl_array[1,7] = "w";
tbl_array[1,11] = "b" ;
tbl_array[1,12] = "w" ;
tbl_array[1,16] = "b" ;
tbl_array[1,18] = "b" ;
tbl_array[1,23] = "w" 



حالا تو ادامه کدهای بالا در همون رووم اصلی یه چیزی مشابه کدهای زیر باید بنویسی : 
کد:
for (i = 0 ; i < 2 ; i++) {
for (j = 0 ; j < 24 ; j++) {
if (tbl_array[i,j] == // ??? ) {
instance_create_depth(i*48, j*48,0,obj);
}
}
}

این 48 طول و عرض مهره هانه ...شرط رو هم احتمالا چندتا پیش شرط نیاز داری ..مثلا اگر اون درایه صفر باشه حلقه رو ادامه بده اگ نباشه یه مهره اونجا ایجاد کنه ...اگ مقدار w باشه سفید و کلا رو این شرطها میتونی کار کنی ...
البته رو هم قرارگیری مهرها و اینجور مسایل هم هست...
رووش فک کن چون محاسباتت ساده تر میشه...برای حرکت هم ک گفتم رو مقادیر j کار کن .. حالا اگ روی یک.شی ای  کلیک کردی مثلا برای ردیف پایینی تخته (به عکس دوم نگاه کن) که x هاش تغییر میکنه و Y ها ثابتن، در اینصورت x رو اگ تقسیم صحیح بر 48 کنی j بدست می یاد...برای اینکه تشخیص بدی بالا کلیک کردی یا پایین رو اگه به تصویر نگاه کنی میبینی تو ردیف بالا و متناظرش تو ردیف پایین، x ثابته و y تغییر میکنه..برای حرکت هم ک گفتم از j کمک بگیر مثلا اگر مهره سیاه تاس انداخت و 2 اورد در این صورت میتونه مهره ای با j =0 رو حرکت بده و از نظر منطقی یه عدد اضاف کنه تو درایه ای با j=2  (به تصویر سوم نگاه کن)...مهره سفید باید بر عکس تو ارایه حرکنه البته.. امیدوارم متوجه منظورم شده باشی البته با توجه ب نحوه کد نویسیت مشخصه مبتدی نیستی و احتمالا منظورم متوجه میشی...
به هر حال موفق باشی

ویرایش : 
اینکه کدهایی ک گفتم تو رووم بنویسی به این خاطر بود ک وقتی وارد رووم میشیم میخوایم بازی شروع کنیم و مهره ها رو میچینیم حرکتها و محاسبات دیگه با ابجکتهای دیگه ...
پاسخ
 سپاس شده توسط sinaexample
#14
(12/1/1398، 08:54 صبح)hisalam نوشته است: سلام...موضوع الان اینجا درست انتخاب نشده ...مدیریت خواهشا عنوان رو به کمک در الگویتمهای ساخت بازی تخته نرد تغییر بده یا همچین چیزی...چون بحث الان خارج شده و من نباید دیگه اینجا مطلبی بزارم چون ربطی به سوال عنوان شده در شروع نداره...
اما به هر حال ...

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

مشکل اصلی در اینجا بود که نمیدونستم چجوری یک آرایه رو به یک خونه مرتبط کنم. روی کاغذ میشد. ولی در حین کار به خاطر محدودیت هایی که آرایه داشت نمیتونستم مرتبطشون کنم.(احتمالا من بلد نبودم)
واسه همین رفتم سراغ list و سعی کردم به جای آرایه ها از list استفاده کنم که بازم ناموفق بودم. depressed

بعدش که لیست هم نتونست کاری که من میخوام رو انجام بده رفتم سراغ ds_map که داخلش دست آدم بیشتر بازه و توابع بیشتری داره.
ولی خب هنوز فقط روی کاغذ ساختار کلی رو نوشتم و هنوز پیاده نکردم ببینم میشه یا نه.

همونطور که گفتم مشکل اصلی در ست کردن مقدار آرایه(یا همون لیست یا مپ یا هرچی) با خونه هاست. (نمیدونم چطور توضیح بدم که منظورمو درست رسونده باشم).

البته فکر میکنم مشکل از خودمه. و به قول شما با همون آرایه ها هم میشه درستش کرد. شاید من به درستی عمل نکردم .یا نمیدونستم باید چیکار کنم.

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

پ.ن: اینکه گفتم فکر میکنم کدهام خوب نیست و مشکل داره و ساختارش خوب نیست بخاطر این بود که بعدا واسه اینکه برنامه روی هر پلتفرمی اجرا بشه و اندازه ها بهم نریزه گفتم. که چشم. به قول شما بعدا بهینه اش میکنیم. flower
پاسخ
 سپاس شده توسط hisalam
#15
(12/1/1398، 05:02 عصر)sinaexample نوشته است: ....
ولی خب هنوز فقط روی کاغذ ساختار کلی رو نوشتم و هنوز پیاده نکردم ببینم میشه یا نه.

همونطور که گفتم مشکل اصلی در ست کردن مقدار آرایه(یا همون لیست یا مپ یا هرچی) با خونه هاست. (نمیدونم چطور توضیح بدم که منظورمو درست رسونده باشم).

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

ست کردن مقادیر ارایه با خونه ها هم  اگ منظورت رو درست متوجه شده باشم ، به تصویر زیر نگاه کن (این موضوع رو دیشب هم اشاره کرده بودم):

resim

به کد دوم پست قبلیم هم نگاه کن ...وقتی ارایه ات رو تکمیل کردی حالا باید اونا رو بزاری رو صفحه ... جدا از محل قرارگیری و شروع مهره ها که به صفحه بازیت ربط داره، قرار گیری مهره ها باید ضریبی از طول و عرض مهره ها باشه ...
شما هر مهره ای رو کلیک کنی (با فرض مقدار origin اسپرایت بالا چپ)  X مکان کلیک شده بین شروع مهره ی سمت چپ و شروع مهره سمت راسته (به تصویر نگاه کن) X رو میگیری تقسیم بر 48 ( اندازه مهره ها، به تصویر بالا نگاه کن) می کنی...البته تقسیم صحیح ...یه مقدار صحیح بهت میده ک اون مقدار،  j ارایه است .... j ک بدست اومد، i=0 و i=1 تعداد مهره و رنگ رو بهت میده و میتونی حرکتها رو انجام بدی... شروع کن به نوشتن با همیچین ایده ای ...اول کل تخته بازی رو ببر تو یه کاغذ شطرنجی با فرض اینکه  اندازه هر سلول اون، طول و عرض مهره های بازیت باشه...محور های x  و y هم بکش...ارایه هم بزار جلوت تو یه کاغذ (یه ارایه یا دوتا... حالا هر روشی ک دوست دارری) اینجور ذهنت نظم پیدا میکنه....از اتاقت هم بزن بیرون کلهم (مثلا 13 بدره حالا من گرفتارم تو چته) ..راه حل به راحتی جلو روت میاد ... این روشی هست خودم تو گرفتاری انجام میدم ...یهویی سه نصف شب میرم پیاده روی ساعت 6 بر میگردم با چند تا ایده !!!

...............
موفق باشی...
پاسخ
 سپاس شده توسط sinaexample
#16
توی این هوای قمر در عقرب آدم تو خونه بمونه بهتره( هرچند تو هوای صافم صبح تا شب پای کامپیوترم.).
میرم تو کارش ببینم چی میشه. فک کنم کل سیستمو باید تغییر بدم و از نو بنویسم.
مشکل من فقط همینه که وقتی طرف روی مهره کلیک میکنه باید آرایه همون ستون انتخاب بشه و وقتی مهره ازش رفت بیرون مثلا یکی ازش کم بشه و به آرایه جایی که مهره رفته یکی اضافه بشه. حالا همین که چطور آرایه رو به اون ستون مربوط کنم مشکل دارم.(که البته با توضیحاتی که شما فرمودید تقریبا فهمیدم باید چیکار کنم) که سیستم بفهمه الان کدوم ستون انتخاب شده. نمیدونم والا حالا برم تو کارش ببینم چی میشه.
متشکرم.
پاسخ
 سپاس شده توسط hisalam
#17
خب این دقیقا همون چیزی هست ک توضیح دادم ... اون سه تا تصویر رو ببین و به خصوص تصویر سوم... اگ بتونی J پیدا کنی دو تا درایه بهت میده [0,J] و [1,J] البته تو نوشتن اینجا مقادیر جا به جا نوشته شد...
0J میشه تعداد مهره 1J میشه رنگ مهره ات...برای حرکت هم گفتم ..اگ تاس انداختی باید برای رنگ سیاه ب J  اضاف کنی و برای رنگ سفید از J کم کنی و بازم رنگ و تعداد رو میتونی با I صفر و یک پیدا کنی....و در اینجا هم ببینی چ مهره و چ تعداد اونجا هست یا اصلن خالیه (مقادیر صفر)... و بعد بر اساس منطق بازی ک اگر مهرهای خودت باشه میتونی بری روش اگ حریف باشه و دو یا بیشتر باشه نمیتونی حرکت کنی اگر 1 مهره حریف باشه میتونی بزنی و اگ خالی باشم هم ک قابل حرکت...یعنی بعد از تاس انداختن و بررسی شروط بازی(ک تو خط قبل بهش اشاره کردم) این مقادیر (درایه) رو کم و زیاد می کنی .... و بعد دوباره مهره ها رو می چینی (در شرایط جدید )...حریف هم به همین صورت و بعد از محاسبات دوباره بر اساس تاس انداختن حریف، مهره ها رو در وضعیت بعد از حرکتش می چینی وووو
تنها نکته انتخاب J بود ک دقیق بهت گفتم تحت شرایط بالا (پست قبلی)... کاغذ شطرنجی ، محور مختصات و همینطور ارایه رو بکش ... وقتی جایی کلیک کردی یا مهره خودته یا مهره حریف یا خالی در هر صورت یه X داری ..با استفاده از راهنمای بالا درایه متناظر رو پیدا می کنی و داستان بررسی حرکتها ووو
و برای اینکه ببینی ردیف بالای مهره ها رو انتخاب کردی یا پایینرو،  با دیدن تصویر دوم و سوم دو پست قبلتر، متوجه میشی مقادیرJ کمتر از 12 پایینه و مقادیر  12 و بیشتر ردیف بالا...( ویرایش : اما چون محاسبات پیدا کردن J براساس مقادیر X هست و چون تو یه ستون X ثابته پس هرمقداری پیدا کردی به دو J اشاره میکنه یکی ردیف بالا یکی ردیف پایین،  در این صورت بر اساس مقادیر Y متوجه شدی هدف کلیک شده ردیف بالاس یا پایین...پایین Y بیشتره و بالا کمتر...)

این بازی همش شرط و شروطه برای پیدا کردن حالتهای مختلف ، به خصوص برای هوش مصنوعی ک باید تمامی عناصر ارایه رو با حلقه های تو در تو و تحت شرایط بازی پیمایش کنی...
مطمعنم ک میتونی بنویسی ...اگر فقط مشکلت J  هست ک پیدا کردنش راحته مابقیش هم حوصله تایپ دستور تحت شرایط مختلف میخواد...
(اگر مشکلی پیش اومد از شنبه قدم به قدم بازی رو مینویسیم باهم)
.........................
موفق باشی
پاسخ
 سپاس شده توسط sinaexample
#18
(12/1/1398، 10:08 عصر)hisalam نوشته است: (اگر مشکلی پیش اومد از شنبه قدم به قدم بازی رو مینویسیم باهم)
.........................
موفق باشی

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


با تعریف آرایه ها دیگه نیازی به اون تابع scr_instance_counter که مقدار c (همون تعداد مهره ها)  رو برمیکردوند نیست.پس این این اسکریپت دیگه استفاده نمیشه و میشه کلا حذفش کرد.

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

در قدم دوم میخوام هایلایت کردن خونه ها رو هم با استفاده از همین آرایه ها بنویسم که یه مقدار نظم بهتری به خودش بگیره.(اینجوری الان خیلی شلوغه و در ضمن اگه مهره سفید رو به بازی اضافه کنم دچار اشکال میشم. همون بحثی که فرمودید راجب قوانین بازی که مثلا اگه یه مهره سفید بود بتونه بزنه اگه بیشتر از یکی بود نتونه به اون خونه بره و ..)

اتفاقا من خیلی خیلی خوشحال میشم اگه پروژه رو باهم شریک شیم و باهم به مرحله آخر (که عرضه به بازار هستش) برسونیم. البته من اصلا عجله ندارم. میدونم یه پروژه تا بخواد به مرحله اجرایی برسه هزار پله داره که من هنوز در پله اول هستم. ولی خب آدم هدفشو مشخص کنه خیلی بهتره.
در هر حال ممنون وسپاسگزارم. sunflower sunflower
پاسخ
 سپاس شده توسط hisalam
#19
سلام... 
پس خدا رو شکر...
در مورد اون پروژه و تغییر در اون من بودم ، یه پروژه جدید باز میکردم....این جور راحتره تا بخوای یه چیزی ک اساسش چیزی دیگه بوده رو تغییر بدی...
در مورد الگوریتم ها نمیدونم داری چی کار میکنی (چون گفتی همینجوری شلوغه گفتم یه کد بزنم خوندنش ضرری نداره ولی همه اش با یه ارایه بوده) ...
یه تمپلت واست نوشتم چون میدونم داری رووش کار می کنی ... یه نگاه کن و اجرا رو با مباحث و تصاویر توضیح داده شده مقایسه کن و کدها هم ببین... بیشتر هدفم این بود بتونی j رو پیدا کنی (ک البته پیدا کردی)...
کد ساخت ارایه و مقادیر اولیه همونطور ک گفتم تو رووم بازی نوشتم... بعدش هم یه ابجکت به عنوان مدیر یا کنترل کننده یا هر چی نامش باشه  برای مدیریت رویدادهای بازی...
چون تمپلت بود من همه رو draw کردم  شما این کار رو نکن و از instance_create تو رویدادهای دیگه استفاده کن...
خب تصویر اجرا : 
resim
نکته : من محدوده رو دقیق مشخص نکردم بنابرین حاشیه ها رو کلیک نکن ک مقدار j  نا مربوط میده بهت !!!خودت خواستی شرطهاش رو بنویس...
نکته دوم : خط ابی  ، خط منطقیه که بشه مقادیر j های ردیف بالا رو نسبت به ردیف پایین، متمایز کرد... من همینجوراین رو کشیدم ک متوجه منظورم بشی...این مباحث رو قبلا توضیح دادم تو پستهای قبلی...
نکته سوم : من مقادیر اراییه رو b , w در نظر گرفتم ولی اخرش مهره ها رو سبز و قرمز چیدم (: w رو دادم به سبز و b رو دادم به قرمز ... پس حواست به این نکته هم باشه...
نکته چهارم : اسم فایل اپلودی عمدا nerd گذاشتم !!!

در ضمن میتونی همین رو هم تکمیل کنی بدون ابجکت و بدون هیچی و با همین فرم و صورت بازی کنی (:...

سورس پروژه در زیر (مستند سازی کردم تا حدودی کدها رو...) : 
http://s8.picofile.com/file/8356363976/nerd.yyz.html

.................
موفق باشی...

ویرایش : 
در مورد هایلایت و گرافیک حتما بازی های مشابه رو ببین...به جای هایلایت از image_alpha هم میتونی استفاده کنی...
پاسخ
 سپاس شده توسط sinaexample
#20
(13/1/1398، 09:06 صبح)hisalam نوشته است: سلام... 
پس خدا رو شکر...

سورس پروژه در زیر (مستند سازی کردم تا حدودی کدها رو...) : 
http://s8.picofile.com/file/8356363976/nerd.yyz.html

.................
موفق باشی...

ویرایش : 
در مورد هایلایت و گرافیک حتما بازی های مشابه رو ببین...به جای هایلایت از image_alpha هم میتونی استفاده کنی...

سلام مجدد خدمت دوست گرامی آقا مهرداد عزیز

راستش من با همون توضیحات اولیه که فرمودید مطلبو گرفتم و پروژه رو بر طبق همون تغییر دادم و کار هم کرد.
مهره های سفید رو هم اضافه کردم. بک گراند و یه سری کارهای گرافیکی هم انجام دادم.ایراداتش رو هم تا حدودی برطرف کردم.
الان دیگه بازی یکم رنگ و بوی یه بازی واقعی گرفته و به قول معروف شبیه آدمیزاد شده.
فقط الان میخوام بازی رو نوبتی کنم. یعنی تاس انداخته بشه. یه تاس مربوط به مهره سفید یه تاس مربوط به مهره سیاه. هر تاسی که عددش بیشتر اومد اون بازی رو شروع کنه و دوباره تاس بندازه. تا زمانی که مهره ای رو بتونه حرکت بده نوبت اون باشه. و بعد از اینکه تمام حرکاتش رو انجام داد نوبتش تموم شه و نوبت طرف مقابل بشه.
اصلا نمیدونم باید چیکار کنم.صفر صفرم. 
حالا دارم تو اینترنت یه مقدار مطالب آموزشی میخونم تا ببینم چطور باید اینکارو انجام داد. شما هم اگه تجربه ای در این خصوص دارید ممنون میشم راهنمایی بفرمایید. flower
پاسخ
 سپاس شده توسط hisalam


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال در مورد path در گیم میکر sinaexample 2 88 30/1/1398، 10:47 صبح
آخرین ارسال: sinaexample
  ساخت بازی open world در Game maker studieo Black wolf 11 824 9/11/1397، 07:59 عصر
آخرین ارسال: TNT
Big Grin ساخت بازی بلوتوثی devilerfan 6 734 4/10/1397، 06:25 صبح
آخرین ارسال: TNT
Exclamation سوال درمورد تغییر سایز پنجره ی بازی ali rahimy 1 315 9/8/1396، 06:01 عصر
آخرین ارسال: YASIN GIME
  سوال ساخت اسپرایت YASIN GIME 17 791 20/5/1396، 10:23 عصر
آخرین ارسال: mdc



کاربرانِ درحال بازدید از این موضوع: 1 مهمان