Nice Ro$e
پنج شنبه 28 مرداد 1389, 20:32 عصر
سلام
صورت سؤال من اينه : برنامه اي بنويسيد كه بتوان يك دكمه را با استفاده از تابع Random و كنترل Timer در 4 جهت مختلف به طور تصادفي حركت داد . (حتما از دستور switch-case و نوع داده اي enum استفاده شود.)
حالا من توي برنامه م ، چهار جهت رو بصورت عناصر ِ نوع شمارشي ِ enum تعريف كردم :
enumDirection
{
up=1,down,right,left
}
Direction dir;
ميخوام با استفاده از يه تابع رندم كه عدد تصادفي بين 1 تا 4 توليد ميكنه ، اين اعداد رو انتساب بدم به جهت ها و بعدشم با استفاده از دستور switch-case و درون ِ رويداد ِ Tick ِ يه تايمر ، براي هر جهتي كه به طور تصادفي توسط تابع رندم انتخاب ميشه ، يه دكمه رو به اندازه 100 پيكسل به همون جهت (كه به صورت رندم انتخاب شده) حركت بدم:
privatevoid timer1_Tick(object sender, EventArgs e)
{
count++;
switch (dir)
{
caseDirection.up:
if (count<=100)
{
button1.Location = newPoint(button1.Location.X,button1.Location.Y-1);
}
else
{
count = 1;
}
break;
caseDirection.down:
if (count <= 100)
{
button1.Location = newPoint(button1.Location.X, button1.Location.Y + 1);
}
else
{
count = 1;
}
break;
caseDirection.right:
break;
caseDirection.left:
break;
}
}
حالا مشكلم اينجاست كه نميدونم چطور ميشه مقدار تابع ِ رندم رو كه يه مقدار int هست ، پاس بدم به جاي فصل هاي سال كه از نوع ِ enum هستن به دستور ِ switch
عمليات تبديل به int رو هم انجام دادم ولي error ميده
لطفا منو راهنمايي كنيد ، مرسي http://www.maxplugs.com/images/emoticons/00000001/00000009/00000036.gif
صورت سؤال من اينه : برنامه اي بنويسيد كه بتوان يك دكمه را با استفاده از تابع Random و كنترل Timer در 4 جهت مختلف به طور تصادفي حركت داد . (حتما از دستور switch-case و نوع داده اي enum استفاده شود.)
حالا من توي برنامه م ، چهار جهت رو بصورت عناصر ِ نوع شمارشي ِ enum تعريف كردم :
enumDirection
{
up=1,down,right,left
}
Direction dir;
ميخوام با استفاده از يه تابع رندم كه عدد تصادفي بين 1 تا 4 توليد ميكنه ، اين اعداد رو انتساب بدم به جهت ها و بعدشم با استفاده از دستور switch-case و درون ِ رويداد ِ Tick ِ يه تايمر ، براي هر جهتي كه به طور تصادفي توسط تابع رندم انتخاب ميشه ، يه دكمه رو به اندازه 100 پيكسل به همون جهت (كه به صورت رندم انتخاب شده) حركت بدم:
privatevoid timer1_Tick(object sender, EventArgs e)
{
count++;
switch (dir)
{
caseDirection.up:
if (count<=100)
{
button1.Location = newPoint(button1.Location.X,button1.Location.Y-1);
}
else
{
count = 1;
}
break;
caseDirection.down:
if (count <= 100)
{
button1.Location = newPoint(button1.Location.X, button1.Location.Y + 1);
}
else
{
count = 1;
}
break;
caseDirection.right:
break;
caseDirection.left:
break;
}
}
حالا مشكلم اينجاست كه نميدونم چطور ميشه مقدار تابع ِ رندم رو كه يه مقدار int هست ، پاس بدم به جاي فصل هاي سال كه از نوع ِ enum هستن به دستور ِ switch
عمليات تبديل به int رو هم انجام دادم ولي error ميده
لطفا منو راهنمايي كنيد ، مرسي http://www.maxplugs.com/images/emoticons/00000001/00000009/00000036.gif