PDA

View Full Version : سوال: بین مفاهیم Component , Control , User Control موندم!! برای طراحی ماشین



hanieh66
سه شنبه 01 بهمن 1387, 13:35 عصر
سلام

من می خوام برنامه ای بنویسم که حرکت ماشین توش داره .می خواستم ببینم خود ماشین رو چجوری پیاده سازی کنم؟ من بین مفاهیم Component , User control , Control موندم :(

از لحاظ کدنویسی مشکلی ندارم .
می خوام مثلا 10 تا ماشین رو بیارم توی فرم و هر کدوم جداگانه کار خودشون رو بکنن. مثل بازیهای شبیه سازی.
ایا باید این ماشین یک component باشه یا یک control یا یک user control؟؟؟

امیدوارم منظورمو فهمیده باشین و لطفا اگه می تونین کمکم کنید.
اگه هم نمونه برنامه ای باشه که توی پیاده سازی کمکم کنه بازم ممنون

hanieh66
سه شنبه 01 بهمن 1387, 20:54 عصر
لطفا یکی کمک کنه
فرق بین user control , component , control و الان یادم اومد Custom control
توی msdn هم خوب نفهمیدم. مشکلم اینه که نمی دونم دقیقا اینا هر کدوم چه جایی باید استفاده بشن

parsamiga
چهارشنبه 02 بهمن 1387, 08:17 صبح
من می خوام برنامه ای بنویسم که حرکت ماشین توش داره .


میشه بیشتر توضیح بدین ؟؟ می خوای بازی بسازی ؟

hanieh66
چهارشنبه 02 بهمن 1387, 09:48 صبح
بازی نه
در واقع شبیه سازی ترافیک هست اما مشکلم همین چیزاییه که گفتم

ahmadsystemco
چهارشنبه 02 بهمن 1387, 10:03 صبح
سلام

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

مانند این مثالی که خودم وقتی پیش دانشگاهی رفتم نوشتم:
پرتاب توپ یا همان حرکت پرتابه ای

hanieh66
چهارشنبه 02 بهمن 1387, 15:32 عصر
من این برنامه رو دیدم ولی فقط فایل اجراییش بود
این کاری که شما می گین واقعا درسته؟ از لحاظ ساختار شی گرایی؟ اگه که اینجوری بود پس چرا چیزهایی مثل user control , component , custom control ,... وجود داره؟ هنوزم جواب سوالم رو نگرفتم
کسی نظری نداره؟

ahmadsystemco
چهارشنبه 02 بهمن 1387, 19:05 عصر
سلام خدمت دوستان
متاسفانه سورس این فایل را گم کرده ام. :لبخند:
ولی من می خواستم به شما این را نشان دهم که من فقط یک کلاس داشتم و یک تایمر و چند متغیر برای تنظیمتت دوربین و ... و فقط یک picturebox در form دارم و وقتی محاسبات شی ء پرتابه من انجام شد مختصات آن را گرفته و با بقیه چیزها مانند خط کش و خطوط و زمینه آن ها را در picturebox رسم می کنم.

مگر شما نمی خواهید که یک ترافیک را شبیه سازی کنید.
به نظر من از user control و component باید برای محیط کاری و محیط فرم استفاده کرد ولی برای ساخت چنین چیزهایی که همانند یک بازی و یا بهتر بگویم شبیه سازی هوش مصنوعی است باید یک موتور برای آن طراحی کرد و سپس آن موتور خود را رسم کند.

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

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

حال شما می توانید این کلاس را از یک picturebox ( و یا چیز دیگری ) ارث بری کنید و آن را همانند یک user control بسازید و ماشین ها را در همین picturebox رسم کنید و آن را به عنوان یک usercontrol و یا یک component در فرمتان استفاده کنید و فقط تنظیمات آن را set کنید و این picturebox همانند یک موتور گرافیکی عمل کرده و ...... .

ببخشید اگر حرف هایم اضفه بود ولی این نظر من است.

اگر نیاز شد سورس برنامه ام را نیز پیدا می کنم.

با تشکر AHS

hanieh66
چهارشنبه 02 بهمن 1387, 22:05 عصر
واقعا ممنون خیلی جالب و خوب توضیح دادین.
اولا خیلی دوست دارم که بدونم شما چجوری حرکت دوربین رو توی برنامتون پیادهسازی کردین و در کل چجوری نوشتینش
و همینطور این موتور گرافیکی که می گین من همیشه فکر می کردم که ساختن یک موتور گرافیکی خیلی سخته و می خوام بدونم شما همچین کاری کردین و اگر اره چجوری. دارم دنبال طراحی موتور گرافیکی ساده توی سی شارپ می گردم اما هر کی اطلاعاتی داره اینجا بگه خواهش می کنم.

چون همینطور که شما گفتین بهتره که کارای گرافیکی رو توی یه همچین شبیه سازی یک موتور گرافیکی انجام بده چون از همه لحاظ ساختار شی گرایی خواهد داشت
امیدوارم بازم شما یا هر کس دیگه که تجربه و اطلاعات داره راهنماییم کنه
ممنون :)

hamid59022
سه شنبه 12 آذر 1392, 13:49 عصر
ببخشيد داداش تعاريف اين سه تا رو آخر نياوردي اي كاش اول معاني آنها را مي اوردي كه ما هم اگه زماني مي خوانديم مي فهميديم

khokhan
سه شنبه 12 آذر 1392, 18:06 عصر
ببخشيد داداش تعاريف اين سه تا رو آخر نياوردي اي كاش اول معاني آنها را مي اوردي كه ما هم اگه زماني مي خوانديم مي فهميديم
.................................................. ......................:لبخند:

لینک (http://www.codeproject.com/Tips/357063/A-very-simple-car-race-game-in-Csharp-and-OpenGL)