PDA

View Full Version : درخواست راهنمایی در خصوص پازل هشت تایی به زبان c



ریحانه بی تاب
شنبه 09 خرداد 1394, 09:54 صبح
سلام دوستان
میشه لطفا در مورد پازل هشت تایی در زبان c بهم کمک کنید واقعا بهش نیاز دارم لطفا
:بوس:

reza_noei
شنبه 09 خرداد 1394, 16:09 عصر
سلام دوستان
میشه لطفا در مورد پازل هشت تایی در زبان c بهم کمک کنید واقعا بهش نیاز دارم لطفا

پازل 8 تایی ؟
کمی توضیح دهید.

ریحانه بی تاب
یک شنبه 10 خرداد 1394, 08:31 صبح
یعنی ابتدا اعداد 1 تا 8 به صورت بهم ریخته باشد بعد مرتب شوند مثل بازی بچگی هامون که یک پازل جورچین عددی داشتیم و یکی خالی بود تا بقیه بتونن تکون بخورن و اونقد جابجا بشن تا مرتب شن:لبخند:

reza_noei
دوشنبه 11 خرداد 1394, 23:31 عصر
سلام
نوشتن این پروژه کار سختی نیست کاری که باید انجام بدهید اینه که
این پروژه رو به چند مرحله تقسیم کنید :

مرحله 1 : یک جایی تو صفحه باید جدول پازلتون رو بکشید.
دو راه دارید : 1- از مود متنی معمول استفاده کنید. 2- از مود گرافیکی استفاده کنید. که طبعا مود گرافیکی ظاهر چشم نواز تری داره و از نظر کد نویسی آنچنان تفاوتی نداره اگر مشکل داشتید کمکتون میکنم.

مرحله 2:
حالا باید یک آرایه 3 در 3 سراسری تعریف کنید و آن را با 8 عدد پر کنید. راهی که به نظر من راه خوبی باشه اینه که یک متغیر شمارنده بزارید که از 1 تا 8 تغییر کنه. چون آرایه را سراسری تعریف کردید مقدار اولیه تمام عناصر آرایه صفرخواهد بود.
پس یک حلقه داریم که شمارنده آن از 1 شروع و تا 8 ادامه داره :

int Counter = 1;
for (Counter = 1; Counter <= 8 ; Counter++)
{
int i = // A Random Number between 0 to 9
if (Array[i/3][i%3] != 0)
{
Array[i/3][i%3] = Counter;
Counter++;
}
}


برای عدد تصادفی از هدر random.h استفاده کنید نحوه بکار بردنش رو یادم نیست. پس ما یک خانه از آرایه را به تصادف انتخاب میکنیم و مقدار شمارنده را در آن قرار میدهیم. این کار را تا جایی ادامه میدهیم که مقادیر 1 تا 8 در آرایه قرار گرفته باشند.

مرحله 3: حالا باید مقادیر آرایه را در جدولی که نمایش داده اید اضافه کنید که کار مشکلی نیست.
مرحله 4: باید یک به کاربر این امکان را بدهید که با کلیدهای چهار جهتی بین خانه ها جابجا بشود. و با زدن کلیدی بررسی شود که آیا یکی از خانه های مجاور آن خالی است یا خیر و اگر خالیست آن خانه خالی مقدارش با مقدار خانه جاری پر شود و خانه جاری خالی شود.
مرحله 5: آخرین کاری که باید انجام دهید اینه که پس از انجام هر حرکتی چک کنید که آیا آرایه مرتب شده یا خیر. اگر مرتب شده اعلام کنید که کاربر برنده است و اگر مرتب نشده بازی ادامه دارد.

اگر مشکلی بود اعلام کنید.