PDA

View Full Version : ساخت شبیه ساز فوتبال با سی شارپ



alasht
دوشنبه 29 آذر 1389, 17:27 عصر
با سلام خدمت دوستان
استادمو یه پروزه داده گفته یه با C# شبیه ساز فوتبال بسازین
یه زمین فوتبال و چند تا ادمک خیلی ساده که راه برن و بهم پاس بدن و توپ رو شوت کنن تو دروازه
من اصلا مبحث کار گرافیکی با سی شارپ رو بلد نیستم
یعنی نمیدونم کجا باید محیط مورد نظرم رو بسازم و ادمکها رو حرکت بدم و.....
چون استادمون اصلا این مورد رو بهمون یاد نداد و در این زمینه 0 هستم
حالا برای شروع از دوستان میخوام که راهنماییم کنن و بگن که برای ساخت محیط بازیم باید از کدوم قسمت شکل ظاهریمو بسازم
تا کم کم سوالاتمو بپرسم
با تشکر

محسن شامحمدی
چهارشنبه 01 دی 1389, 17:01 عصر
براي آوردن آدمك ها مشكل داريد؟
بايد يك picture box بياريد توي فرم و عكس آدمكتون رو توش بذاريد.
اين ها رو نوشتم تا :

تا کم کم سوالاتمو بپرسم

alasht
پنج شنبه 02 دی 1389, 17:00 عصر
سلام
خیلی ممنون که جواب دادین دیگه کم کم داشتم نا امید میشدم کسی جواب بده
خوب من باید به تعداد ادمکهام Picturebox بسازم ؟
اگه میشه بیشتر توضیح بدین
بعد برای حرکت دادن ادمکها باید چیکار کنم ؟

alasht
شنبه 04 دی 1389, 21:28 عصر
سلام
این همه برنامه نویس حرفه ای تو این سایت هست یکی نیست کار ما رو راه بندازه :گریه:

محسن شامحمدی
یک شنبه 05 دی 1389, 08:49 صبح
این همه برنامه نویس حرفه ای تو این سایت هست یکی نیست کار ما رو راه بندازه
آقا شرمنده دو سه روزی سایت نیومده بودم.:دی
:بامزه:

خوب من باید به تعداد ادمکهام Picturebox بسازم ؟
خب بله.طبیعتا همینطوره.


بعد برای حرکت دادن ادمکها باید چیکار کنم ؟
باید از یک تایمر استفاده کنی.
بعد اینطوری می تونی آدماتو حرکت بدی:

picture1.location=new point(300,500);

alasht
یک شنبه 05 دی 1389, 13:31 عصر
سلام دوست عزیز ممنون که به تاپیک من توجه میکنید :قلب:

چون استادمون اصلا این مورد رو بهمون یاد نداد و در این زمینه 0 هستم
میشه یکم بیشتر توضیح بدین
من میخوام 4 تا آدمک بسازم یعنی 2 تا تیم دو نفری بسازم و کاری کنم که توپ رو تشخیص بدن و بتونن توپ رو به سمت دروازه هدایت کنن
اگه میشه همراه با مثال کامل توضیح بدین
ممنون

محسن شامحمدی
سه شنبه 07 دی 1389, 16:58 عصر
[/qoute]بتونن توپ رو به سمت دروازه هدایت کنن[qoute] فکر کنم برای این کار نیاز به استفاده از تکنینکهای هوش مصنوعی باشه.اینطوری نیست؟ ربات های فوتبالیست...

alasht
چهارشنبه 08 دی 1389, 03:18 صبح
سلام
من این ست کردن حرکت عکس با timer رو نفهمیدم
میشه بگین چطوری میشه با timer و اون تیکه کد بالا عکس رو با ریتم خاصی حرکت داد ؟
با تشکر

محسن شامحمدی
چهارشنبه 08 دی 1389, 16:39 عصر
من این ست کردن حرکت عکس با timer رو نفهمیدم
میشه بگین چطوری میشه با timer و اون تیکه کد بالا عکس رو با ریتم خاصی حرکت داد ؟این رو ببینید:

alasht
چهارشنبه 08 دی 1389, 18:33 عصر
سلام
ممنون از پاسختون
اگه میشه یه توضیحی در مورد برنامه ای که نوشتید بدید
چون تا حالا با timer کار نکردم






namespace harkat_adamak
{
public partial class Form1 : Form
{
int d;
public Form1()
{
InitializeComponent();
}

private void timer1_Tick(object sender, EventArgs e)
{
pictureBox1.Left+=d;
pictureBox1.Top+= d;
}

private void pictureBox1_Click(object sender, EventArgs e)
{

}

private void pictureBox1_Move(object sender, EventArgs e)
{
if (pictureBox1.Top >this.Height -pictureBox1.Width )
d=-1;
}

private void Form1_Load(object sender, EventArgs e)
{
d = 1;
}
}
}

محسن شامحمدی
چهارشنبه 08 دی 1389, 19:03 عصر
ببینین تایمر شی ای هستش که یک کار رو هر چند لحظه یک بار نجام می ده.
توی این پروژه من بهش گفتم هر 1 میلی ثانیه یک بار اجرا بشه(یعنی 1000 بار در هر ثانیه!)

بعدش یک متغیر داریم به نام d که می گه این آمدک جنابعالی پایین بره یا بالا.

private void Form1_Load(object sender, EventArgs e)
{
d = 1;
}

اولش مقدار یک داره


private void timer1_Tick(object sender, EventArgs e)
{
pictureBox1.Left+=d;
pictureBox1.Top+= d;
}

به این کد دقت کنید.
می گه top ,left آدمک رو به اضافه d کن.
یعنی در صورتی که d یک باشه می شه فاصله از چپ آدمک رو به اضافه یک کن!.

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



private void pictureBox1_Move(object sender, EventArgs e)
{
if (pictureBox1.Top >this.Height -pictureBox1.Width )
d=-1;
}

توی اینجا چک می کنیم می گیم اگر آدمک شما از ضفحه خارج شد مقدار d رو منفی یک کن. (1-)
حالا می شه


picturebox1.left=picturebox1.left+(-1)

اگر متوجه نمی شی اینو ببین:

a=5+(-1)

توضیحم خیلی کامل بود:شیطان:.امیدوارم متوجه شده باشی!!:متفکر: