PDA

View Full Version : آموزش: يك پازل تقريبا كامل



tabatabaeefar
شنبه 02 آبان 1388, 08:37 صبح
سلام دوستان
راستش رو بخواهيد اولين برنامه اي كه من نوشتم يه پازل بود كه خيلي هم نقص داشت.
الآن بعد از گذشت يك سال و نيم، دوباره تصميم گرفتم يه پازل بسازم.
تقريبا برنامه كاملي شده.
سعي كردم از خيلي از چيزهايي كه بلد هستم (البته بيشترش رو از همين سايت ياد گرفتم + كتاب ديتيل) در اين برنامه استفاده كنم.
دانلودش خالي از لطف نيست.
بي صبرانه منتظر انتقادها و پيشنهادهاتون هستم.
خلاصه برگ سبزيست تحفه درويش

maXXis
شنبه 02 آبان 1388, 18:58 عصر
سلام و خسته نباشی.
دستت درد نکنه با این برنامه خوبت.
چندتا پیشنهاد داشتم.
1- زمانی که وارد بازی می شدم برای برگشت به مرحله اول و انتخاب دوباره عکس جایی نبود, بازی رو باید می بستم و دوباره اجرا می کردم.
2- اگر قسمتی از عکس سفید خالص باشه با اون قسمت خالی که برای جابه جایی گزاشتی اشتباه میشه.
3- 3نداره دیگه.
این ها خیلی سطحی هستند.
موفق باشی.

sari-1369
شنبه 02 آبان 1388, 21:53 عصر
آفرین ، جالب بود .

tabatabaeefar
یک شنبه 03 آبان 1388, 11:08 صبح
سلام دوستان
خوشحالم كه خوشتون اومده.
تغييراتي كه جناب maXXis گفته بودن رو انجام دادم.
همچنان منتظر انتقادها و پيشنهادهاتون هستم.

سيد مجتبي هاشمي
دوشنبه 04 آبان 1388, 09:39 صبح
سلام دوست عزیز. ممنون از کار قشنگت. میخواستم ببینم همین برنامه رو به زبان دلفی هم داری یا نه؟
یک سوال هم دارم و اون اینکه اعداد صفری که زیر زمانسنج قرار داده بودی برای چی بودند؟ چون هیچ کاری انجام نمیدادند.
راستی پازلی به همین شکل برای اعداد هم داری یا نه؟
راستش من پروژه ام طراحی یک پازل اعداد با دلفی هست لطف میکنی نحوه طراحی و الگوریتمهایی رو که به کار بردی رو اینجا بذاری تا من هم ازش استفاده کنم؟

tabatabaeefar
دوشنبه 04 آبان 1388, 11:01 صبح
سلام
نه من اين برنامه رو به زبان دلفي ننوشتم(راستش رو بخواهيد تا حالا حتي محيط دلفي رو هم نديدم).
منظورتون از پازل اعداد چيه؟
اما درباره اون Label هايي كه زير تايمر گذاشتم:
مدت زماني رو نشون ميده كه فردي تونسته سريع تر از بقيه پازل رو حل كنه.
5 نوع پازل داريم (3 و 4 و 5 و 6 و 7تايي) پس 5 تا Label گذاشتم.
منظورتون از الگريتم چيه ؟ من كه همه سورس برنامه رو گذاشتم.

nima898
دوشنبه 04 آبان 1388, 12:14 عصر
خیلی جالب و عالی بود :تشویق:
اگه بشه چند تا خونه رو با هم هل داد فکر میکنم بهتر باشه

سيد مجتبي هاشمي
دوشنبه 04 آبان 1388, 12:25 عصر
دوستان عزیز آیا راهی هست که برنامه C# رو تبدیل به برنامه دلفی بکنیم. غیر از اینکه دوباره اون رو بنویسیم.

tabatabaeefar
دوشنبه 04 آبان 1388, 13:07 عصر
دوستان عزیز آیا راهی هست که برنامه C#‎ رو تبدیل به برنامه دلفی بکنیم. غیر از اینکه دوباره اون رو بنویسیم.
1/ اين تاپيك رو بنده براي پازل نوشتم.
2/بهتره شما اين سئوال رو توي تالار #C مطرح كنيد نه اينجا.
اميدوارم به جواب سئوالتون برسيد.
موفق باشيد

Saeed Hamed
دوشنبه 04 آبان 1388, 13:54 عصر
سلام دوست عزیزم.
از این که نتیجه تلاشت رو برای بقیه میزاری تا اونا بتونن از تجربیات شما استفاده کنند تشکر می کنم.
برنامه ات هم جالبه هم زیبا فقط یه مشکل کوچیک داره. وقتی که یه عکس بهش میدی تکه پازل هایی که برای اون تولید می کنه کامل نیس. مثلاً من توی این عکس زیر دور بخشی رو که توی تکه های پازل وجود نداره رو خط کشیدم.
من هنوز کد شما رو نگاه نکردم ولی اگه دارید از Button استفاده می کنید فکر کنم مشکل در ImageLayout باید باشه.
موفق باشی.

nima898
دوشنبه 04 آبان 1388, 14:10 عصر
با سلام

سلام دوست عزیزم.
از این که نتیجه تلاشت رو برای بقیه میزاری تا اونا بتونن از تجربیات شما استفاده کنند تشکر می کنم.
برنامه ات هم جالبه هم زیبا فقط یه مشکل کوچیک داره. وقتی که یه عکس بهش میدی تکه پازل هایی که برای اون تولید می کنه کامل نیس. مثلاً من توی این عکس زیر دور بخشی رو که توی تکه های پازل وجود نداره رو خط کشیدم.
من هنوز کد شما رو نگاه نکردم ولی اگه دارید از Button استفاده می کنید فکر کنم مشکل در ImageLayout باید باشه.
موفق باشی.
پازل همینطوریست باید یک خونه خالی باشه
مگه اینه یک مربع کوچیک خالی کنار تصویر به هم ریخته کامل اضافه بشه

Saeed Hamed
دوشنبه 04 آبان 1388, 14:24 عصر
پازل همینطوریست باید یک خونه خالی باشه

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

maXXis
دوشنبه 11 آبان 1388, 18:06 عصر
سلام ,
خیلی عالیه.
من دوباره دیدم.
یک نظر دیگه هم دارم.
تعداد حرکت های انجام شده را هم بشمار.
این جوری فکر کنم جالب تر بشه.

tabatabaeefar
یک شنبه 17 آبان 1388, 11:12 صبح
سلام ,
خیلی عالیه.
من دوباره دیدم.
یک نظر دیگه هم دارم.
تعداد حرکت های انجام شده را هم بشمار.
این جوری فکر کنم جالب تر بشه.

سلام
خوب حالا به نظرتون اسم چه كسي رو توي رجيستري بنويسم؟
اگه از فرمول زير استفاده كنم خوبه؟
تعداد حركت ها +(تعداد ثانيه ها * 2)
يعني مقدار معادله بالا براي هر كس كمتر شد، اسم اون رو ثبت كنم.

tabatabaeefar
دوشنبه 18 آبان 1388, 08:43 صبح
خیلی جالب و عالی بود :تشویق:
اگه بشه چند تا خونه رو با هم هل داد فکر میکنم بهتر باشه

سلام آقا نيما
نظرتون خيلي جالب بود.
ببخشيد كه دير شد.
توي اين يكي ميشه چندتا خونه رو با هم جابجا كرد.
حالا به نظر دوستان براي ثبت تعداد حركت ها اگر با يك كليك چندتا خونه جابجا شدن، اين رو يك حركت حساب كنيم يا چند تا حركت؟

nima898
دوشنبه 18 آبان 1388, 18:32 عصر
حالا به نظر دوستان براي ثبت تعداد حركت ها اگر با يك كليك چندتا خونه جابجا شدن، اين رو يك حركت حساب كنيم يا چند تا حركت؟
سلام
قاعدتا باید به همون تعدادی که خونه ها جابجا شدن حرکت به حساب بیاد
ضمنا اگه Undo هم داشته باشه شاید بهتر باشه
راستی من یه باگ از برنامت پیدا کردم تو حالت 7*7 باگ داره

سيد مجتبي هاشمي
سه شنبه 19 آبان 1388, 10:02 صبح
توي اين يكي ميشه چندتا خونه رو با هم جابجا كرد.


دوست عزيز اين كه همون برنامه قبلي بود و با يك كليك فقط يك خونه جابجا ميشد.

در ضمن بعضي مواقع كه روي يكي از خونه ها كليك ميكني اون خونه هم خالي ميشه و دو تا خونه خالي براي حركت به وجود مياد. ممنون ميشم اگه بررسي كني و جوابشو اعلام كني.

باز هم از كار قشنگت ممنون.

سيد مجتبي هاشمي
سه شنبه 19 آبان 1388, 10:06 صبح
ضمنا اگه Undo هم داشته باشه شاید بهتر باشه


دوست عزيز اگه براش Undo تعريف كنيم كه ديگه پازل معني خودش رو از دست ميده. چون پازل براي محك زدن هوش افراد هست و اگه Undo داشته باشه به نظر من بي معني ميشه. نظر همه دوستان براي من محترمه.

tabatabaeefar
چهارشنبه 20 آبان 1388, 09:40 صبح
دوست عزيز اين كه همون برنامه قبلي بود و با يك كليك فقط يك خونه جابجا ميشد.
سلام
به عنوان مثال بعد از اجراي برنامه و به عنوان اولين حركت:
با كليك روي خونه پايين سمت چپ، تمام خونه هاي پايين يه خونه به طرف راست حركت ميكنند.
براي خطا ها هم معذرت ميخوام.
انشاءالله در اولين فرصت رفعشون ميكنم.

nima898
پنج شنبه 21 آبان 1388, 08:44 صبح
دوست عزيز اگه براش Undo تعريف كنيم كه ديگه پازل معني خودش رو از دست ميده. چون پازل براي محك زدن هوش افراد هست و اگه Undo داشته باشه به نظر من بي معني ميشه. نظر همه دوستان براي من محترمه.
کاملا درست گفتید
اگه کسی بخواد undo کنه میتونه همون حرکت رو برگرده که دو حرکت حساب میشه

maXXis
دوشنبه 25 آبان 1388, 23:56 عصر
دوستان عزیز آیا راهی هست که برنامه C# رو تبدیل به برنامه دلفی بکنیم. غیر از اینکه دوباره اون رو بنویسیم.
از مبدلش استفاده کن.

maXXis
دوشنبه 25 آبان 1388, 23:57 عصر
من دقت نکردم. برنامت اسم های برنده هارو که ثبت میکنه بعد از خارج شدن بازهم اون اسم ها هستم؟

javad_kaka
شنبه 30 آبان 1388, 10:48 صبح
سلام خسته نباشی
می خواستم اگه میشه سورس برنامه پازل به زبان دلفی رو واسم توی سایت بزاری.ممنون

tabatabaeefar
شنبه 30 آبان 1388, 11:01 صبح
سلام خسته نباشی
می خواستم اگه میشه سورس برنامه پازل به زبان دلفی رو واسم توی سایت بزاری.ممنون
سلام دوست عزيز
من از دلفي هيچي نميدونم.