PDA

نسخه کامل مشاهده نسخه کامل : نوشتن پازل با c



winxp
25-05-2008, 12:33
من میخوام یه برنامه با c بنویسم که 16 تا عدد توی خونه های مربع شکل قرار بگیره و یه کلید که اونها رو به هم بریزه

بعد با صفحه کلید جابجا بشه و تا درست شد بگه درست شد .


حالا نمیدونم اصلا از c چه چیزهایی بلد باشم

اینا با ارایه نوشته میشه یا با رکورد یا ساختمان داده

فقط یه راهنمایی کلی میخوام که مثلا باید یه ارایه برا فلان تعریف کنم و یه رکورد برا فلان

فقط کمک کنین

ممنون از همتون :11:

cpplover
25-05-2008, 13:15
احتمالا با آرایه ها راحتتر پیاده سازی میشه

مخصوصا اگه از یک آرایه دو بعدی استفاده کنید .اگه از اعداد تصادفی هم برای هر بار اجرای برنامه استفاده کنید تا اعداد متفاوتی در هر بار اجرای برنامه ایجاد بشه برنامه جالبتر هم خواهد بود.
در کل اگه از c++ استفاده کنید میتونید یک کلاس با چند تابع عضو بنویسید که این کار رو براتون انجام بده
مثلا یک تابع برای قرار دادن اعداد در یک آرایه 4*5 به صورت تصادفی
یک تابع برای رسم مجدد صفحه بازی در هر مرحله
یک تابع برای حرکت دادن مهره دلخواه و . . .

موفق باشید

winxp
25-05-2008, 19:54
ممنون عزیزم این طوری که خیلی سخت شد d: اگه میتونی یه جوری بگو بفهمم , من یه ماه بیشتر نمیشه c کار میکنم ولی خیلی پشت کارم زیاده گرافیک باید کجا مشخص بشه , شکل مهره ها و نمای صفحه رو وقتی مشخص کردم , چه طوری به هم ربطشون بدم . برا منی که تازه شروع کردم ایا میتونم یه هفته ای سر هم بیارمش یا نه کتاب جعفر نژاد رو هم گرفتم و از رو اون دارم پیش میرم شما فقط بگین دنبال چه چیزهایی برم ا من همونارو بیشتر کار کنم ممنون از لطفتون , موفق باشی عزیزم

cpplover
25-05-2008, 21:26
گرافیک باید کجا مشخص بشه

من فکر نمیکنم نیاز به کار گرافیکی باشه . . . شما میتوانید به صورت 4*5 یک ماتریس همونطوری که گفتم تعریف کنید و بعد از هر بار تغییر یکبار کل اعضای اون رو با توابعی به صورت منظم در خروجی نمایش بدید (توابعی مثل setw ) و با هر تغییری که ایجاد میکنید یکبار کل صفحه رو پاک کنید و دوباره رسم رو انجام بدید.


چه طوری به هم ربطشون بدم

ربط دادن اونا فقط مرتبط میشه به میزان آگاهی شما از کار با ماتریس ها . . . و حرکت دادن اونها هم دقیقا یعنی حرکت در درایه های یک ماتریس


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

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


شما فقط بگین دنبال چه چیزهایی برم

برای این پروژه بايى کار بر روی ماتریس ها و آرایه ها رو به خوبي كار كرىه باشيى ىر ضمن استفاىه اؤ توابع هم ميتونه واقعا كمكتون كنه

winxp
26-05-2008, 17:55
ممنون از محبتت عزیزم

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

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

فدات بشم

فعلا

winxp
28-05-2008, 19:21
سلام دوست من

من هر چی به این کله فشار میارم چیزی به ذهنم نمیرسه

ببینین 15 تا عدد داریم , یکی هم جای خالی میشه 16 خونه که میشه ارایه 4*4 , درسته ؟

حالا یه ارایه تعریف میکنیم

ارایه باید int باشه یا رشته ؟

فرض بگیریم int باشه , میشه

int pael [4][4] 1

اون یک اخر برای این که اینجا درست نوشته بشه نوشتم

حلا اینو چه جوری بگیم تصادفی کار کنه ؟

این که 16 تا عدد بگیره کاری نداره

موقع چاپ چه طوری بگم 16 تا رو هر دفعه تصادفی چاپ کنه

اقا پروجه این طوری یا تقریبا مثل این سراغ ندارین که کار منو راه بندازه ؟

cpplover
29-05-2008, 15:32
خوب ببينيد شما بايد بدونيد که در هر برنامه نويسي نبايد اول به فکر ريزه کاري ها باشيد بلکه بايد ابتدا چارچوب برنامه رو بنويسيد و بعد هم کاملش کنيد منظورم اينه که فعلا قضيه اعداد تصادفي رو بي خيال ميشيم و بعدا با يک تابع اون رو پياده کنيد .


همونطوري که گفتم شما بايد روي مبحث آرايه ها و توابع کار کنيد

مثلا در زير تابعي به نام drawscreen نوشتم که صفحه اصلي رو رسم ميکنه

هم از int و هم از char مي تونيد استفاده کنيد اما در نوع char دستتون بازتره مثلا من اون کليدي رو که بايد حرکت کنه رو با * نمايش دادم (البته من از اشاره گر ها استفاده کردم )



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

ببينيد کدي رو که در زير ميذارم خيلي ناکامله و شما هنوز بايد چند تا تابع بنويسيد

البته همين نمايش رو با نوع int هم ميتونيد پياده کنيد فقط به عنوان مثال کد ديگر رو هم ببينيد



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



حالا اینا رو یه نگاهی بکنید . . .