View Full Version : سوال: برای نوشتن بازی خط و نقطه به نظرتون چه الگوریتمی مناسب هستش ؟
فاطمه_14
جمعه 19 فروردین 1390, 21:17 عصر
سلام .
برای نوشتن بازی خط و نقطه به نظرتون چه الگوریتمی مناسب هستش ؟
من می خوام این بازی رو به زبان دلفی بنویسم
اگه یه چیزه کوچیک هم به ذهنتون رسید خوشحال می شم اگه راهنماییم کنید.:قلب:
syntiberium
شنبه 20 فروردین 1390, 00:27 صبح
چجور بازی هست ؟ یخورده راجع بهش توضیح بده . هر چی هست به احتمال زیاد نوشتنش خیلی سخته .
hi.alir
شنبه 20 فروردین 1390, 00:29 صبح
به نظرم باید از گراف استفاده کنی.
pswin.pooya
شنبه 20 فروردین 1390, 02:00 صبح
wow
اين پروزه سنگينيه. الگوريتمهاي اون خيلي پيچيده هستن. شما خودتون كدوم الگوريتم ها رو در نظر داريد؟ بگيد تا ما از بين گزينه هاي موجود يكي رو انتخاب كنيد.
فاطمه_14
شنبه 20 فروردین 1390, 09:55 صبح
شما خودتون كدوم الگوريتم ها رو در نظر داريد؟ بگيد
من بازی خط و نقطه رو ماتریس n*n در نظر گرفتم
که نوع این ماتریس رشته ای هستش
که اگه یک خط عمودی در خانه ی اول سمت راست کشیده بشه مقدارخانه ی ( 0و0 ) می شه 'R' و خانه ی (1و0) می شه 'L' اگه یک خط عمودی دیگه در سمت چپ خانه ی اول کشیده بشه مقدار خانه ی (0و0) به 'RL' تغییر می کنه اگه به مقدار خانه ی (0و0) نگاه کنیم می فهمیم دو خط کشیده شده چون طول رشته 2 هست
R=Right
L=Left
T=Top
B=Buttom
pswin.pooya
شنبه 20 فروردین 1390, 10:35 صبح
من بازی خط و نقطه رو ماتریس n*n در نظر گرفتم
که نوع این ماتریس رشته ای هستش
که اگه یک خط عمودی در خانه ی اول سمت راست کشیده بشه مقدارخانه ی ( 0و0 ) می شه 'R' و خانه ی (1و0) می شه 'L' اگه یک خط عمودی دیگه در سمت چپ خانه ی اول کشیده بشه مقدار خانه ی (0و0) به 'RL' تغییر می کنه اگه به مقدار خانه ی (0و0) نگاه کنیم می فهمیم دو خط کشیده شده چون طول رشته 2 هست
R=Right
L=Left
T=Top
B=Buttom
براي مساله اي كه خودت ميتوني حلش كني چرا سوال ميكني تا بقيه بيان و سر به سرت بذارن.
راه حلت درسته فقط بهتره به جاي رشته از ماسك كردن و اعداد استفاده كني. به عنوان مثال مي توني هر كدوم از چپ و راست و ... رو به صورت زير در نظر بگيري:
#define RIGHT 0x1
#define LEFT 0x2
#define TOP 0x4
#define BUTTOM 0x8
حالا كافيه كه هر دفعه كه كليك ميشه مقدار داخل خونه ماتريس رو با اين اعداد or كني:
m[x][y] |= RIGHT;
براي چك كردن اينكه كدوم سمت يه حونه پر شده ميتوني از ماسك كردن كه يه and كردن هست استفاده كني:
if (m[x][y] && RIGHT)
{
m[x][y] |= RIGHT;
}
else
{
cout << "Error, retry" << endl;
}
حالا خيلي راحت ميتوني چك كني كه يه خونه كي پر شده:
if (m[x][y] == 0xf)
{
...
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.