نوشته های جدید
صفحه اصلی > نمونه سوال > توسعه برنامه سازی و پایگاه داده > فعالیت منزل صفحه ۲۱۳ کتاب توسعه برنامه سازی و پایگاه داده (سرعت تایپ)

فعالیت منزل صفحه ۲۱۳ کتاب توسعه برنامه سازی و پایگاه داده (سرعت تایپ)

فعالیت منزل صفحه ۲۱۳ کتاب توسعه برنامه سازی و پایگاه داده (سرعت تایپ) : در این پست جواب فعالیت منزل صفحه ۲۱۳ قرار گرفته است هدف تمرین و یادگیری شما هنرجوی عزیز است.

صورت مساله فعالیت و مواردی که باید رعایت کنیم را برای بار دیگر مرور می کنیم

الف)برنامه شامل ۵۰ واژه ۱۰ تا ۱۵ حرفی است که در یک آرایه رشته ای ذخیره می شود

ب)برنامه هر بار جمله ای به صورت تصادفی به کاربر نمایش می دهد تا کاربر آن را تایپ کند. پس از اتمام تایپ واژه و فشردن کلید ENTER واژه جدیدی به کاربر نمایش داده می شود.

ج)کاربر ۰۶ ثانیه وقت دارد کلماتی که برنامه به کاربر نمایش می دهد را تایپ کند. اگر واژه تایپ شده صحیح بود، ۳ امتیاز به کاربر داده می شود در غیر این صورت ۱ امتیاز از کاربر کسر می شود و واژه جدید نمایش داده می شود.

د)پس از اتمام زمان، با توجه به جدول زیر سطح سرعت کاربر تعیین می شود.

فعالیت منزل صفحه 213

قبل از هر چیز فرم را طراحی می کنیم

همانطور که در تصویر زیر می بینید ما نیاز به ۳ عدد کنترل برچست(Label) برای نمایش زمان سپری شده،امتیاز و چاپ عملکرد داریم.خب یک عدد کنترل تایمر برای سپری شدن زمان و یک کنترل دکمه (Button) برای شروع مجدد بازی.

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

public partial class Form1 : Form

{

int emtiaz = 0; این متغیر برای ثبت امتیاز تعریف شده

int rn;برای نگهداری یک عدد تصادفی

string[] s = new string[50];

Random r = new Random(); متغیر ایجادشده برای ساخت  یک عدد تصادفی

int timee = 60;شروع زمان از  ۶۰

در مرحله بعد در متد لود فرم اقدام به مقدار دهی اندیس های آرایه با کلمات می کنیم سپس توسط متغیر r که در بخش بالا تعریف شده بود اقدام به ایجاد یک عدد تصادفی می کنیم و نتیجه بدست آمده را درون متغیر rn قرار میدهیم همانطور که کد زیر می بینید،در نهایت عدد تصادفی که بدست آمده را اندیس آرایه s قرار میدهیم و در کنترل برچسب نمایش می دهیم با این کار هر بار که برنامه اجرا می شود به صورت تصادفی یک کلمه از بین کلمات تعریف شده انتخاب شده و در کنترل برچسب نمایش داده می شود.

 

private void Form1_Load(object sender, EventArgs e)
{
s[0] = “حمید”;
s[1] = “رضا”;
s[2] = “گل”;
s[3] = “تمام”;
s[4] = “فیثاغورث”;
s[5] = “کلیات”;
s[6] = “پریزاد”;
s[7] = “نامه”;
s[8] = “رمضان”;
s[9] = “سعادت”;
s[10] = “زیبا”;
s[11] = “مهتاب”;
s[12] = “فلک”;
s[13] = “پژواک”;
s[14] = “خورشید”;
s[15] = “نگار”;
s[16] = “سخره”;
s[17] = “سحر”;
s[18] = “کلیله و دمنه”;
s[19] = “سیما”;
s[20] = “آپارتمان”;
s[21] = “دانشگاه”;
s[22] = “مدرسه”;
s[23] = “دانش آموز”;
s[24] = “کتاب”;
s[25] = “گلدان”;
s[26] = “شمع”;
s[27] = “قرآن”;
s[28] = “صندلی”;
s[29] = “مدیر”;
s[30] = “معلم”;
s[31] = “دانشکده”;
s[32] = “فردوسی”;
s[33] = “خیام”;
s[34] = “حافظ”;
s[35] = “سعدی”;
s[36] = “گنجینه”;
s[37] = “فضای مجازی”;
s[38] = “کشتی”;
s[39] = “نسیم”;
s[40] = “ملایم”;
s[41] = “رهایی”;
s[42] = “شهرزاد”;
s[43] = “قضا”;
s[44] = “کتابخانه”;
s[45] = “دلداده”;
s[46] = “کبریت”;
s[47] = “قندان”;
s[48] = “سبزه”;
s[49] = “پرتقال”;
rn =r.Next(0,50);
label1.Text = s[rn];
}

در مرحله بعد در متد KeyDown کنترل کادر متن کد زیر را می نویسیم

 

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)اگر کلید اینتر فشره شد
if (textBox1.Text == label1.Text)و اگر کلمه داخل کنترل کادر متن با کلمه کنترل برچسب یکی بود آنگاه
{
textBox1.Text = “”;کنترل کادر متن را خالی کن
label1.Text = s[r.Next(0, 49)];و یک کلمه تصادفی دیگر ایجاد کرده درون کنترل برچسب چاپ کن
emtiaz+=3;و ۳ امتیاز به امتیاز فعلی اضافه کن
label2.Text = “امتیاز: ” + emtiaz;ومقدار متغیر امتیازرا در کنار واژه امتیاز  در کنترل برچسب دوم چاپ کن
label1.ForeColor = Color.Black;و رنگ متن برچسب را به رنگ مشکی تغییر بده
}
else در غیر این صورت ،یعنی اگر واژه کنترل کادر متن با واژه برچسب یکی نبود آنگاه
{
emtiaz–;یک امتیاز از امتیاز کل کسر کن
label2.Text = “امتیاز: ” + emtiaz;و ومقدار متغیر امتیازرا در کنار واژه امتیاز  در کنترل برچسب دوم چاپ کن
label1.ForeColor = Color.Red;و رنگ متن برچسب را به رنگ قرمز تغییر بده
}
}

در ادامه در رویداد تیک تایمر کد زیر را می نویسیم

private void timer1_Tick(object sender, EventArgs e)
{
timee–;با هر تیک یکی از متغیر timee کم کن
label3.Text = “زمان: “+timee.ToString();مقدار متغیر timee را در این برچسب چاپ کن
if (timee<=0)اگر زمان صفر شد
{
timer1.Stop();ابتدا تایمر متوقف شود
textBox1.Enabled = false;سپس کادر ورود متن غیر فعال شود و خطوط بعدی که شرایطی است که در تصویر بالا می بینیدبه طور مثال اگر امتیاز بیشتر از ۵۰ بود کنترل برچسب ۴ عالی را چاپ کند و به همین صورت…..
if (emtiaz >= 50)
label4.Text = “عالی”;
else if (emtiaz >= 40 && emtiaz<=50)
label4.Text = “خیلی خوب”;
else if (emtiaz >= 30 && emtiaz <= 40)
label4.Text = “خوب”;
else if (emtiaz >= 20 && emtiaz <= 30)
label4.Text = “متوسط”;
else if (emtiaz <= 50)
label4.Text = “ضعیف”;
button1.Visible = true;نمایش دکمه شروع مجدد
}
}

در نهایت برای دکمه شروع مجدد هم کدهای زیر نوشته می شود که بیانگر بازگرداندن تنظیمات برنامه به حالت اولیه است و اینکه در آخر دکمه مخفی شود.

private void button1_Click(object sender, EventArgs e)
{
timee =60;تنظیم زمان به پیش فرض
emtiaz = 0;تنظیم امتیاز به پیش فرض
textBox1.Enabled = true;فعال کردن کادر ورود متن
label2.Text = “امتیاز:”;پیش فرض کردن کنترل برچسب
timer1.Start();راه اندازی تایمر
button1.Visible = false;مخفی کردن دکمه شروع مجدد
}فعالیت منزل صفحه ۲۱۳ کتاب توسعه ، فعالیت منزل ۲۱۳ توسعه برنامه سازی

دانلود برنامه به زبان سی شارپ
برای دستیابی به سوالات این درس و دروس دیگر می توانید به کانال تلگرامی ما به آدرس pc_on@بپیوندید.منتظرتان هستیم 💗   

این مطالب را نیز ببینید!

فعالیت منزل صفحه ۷۲ کتاب توسعه برنامه سازی و پایگاه داده (چاپ تعداد هنرجو با نام مشخص شده)

فعالیت منزل صفحه ۷۲ کتاب توسعه برنامه سازی و پایگاه داده (چاپ تعداد هنرجو با …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 × 2 =