Створити програму "Відгадай число" (програма GuessNum)
Огляд програми
Порядок роботи
Додаткове завдання
Програмний код
Підсумки
Після вивчення матеріалів уроку ви повинні надати звіт (заповнити просту форму).
У програмі користувачеві пропонується загадати число, виконати над ним нескладні обчислення, ввести число, яке вийде після всіх обчислень, а потім натиснути кнопку "Показати відповідь" - програма показує число, яке користувач загадав.
1. Створити новий проект (тип проекту - Windows Forms App .NET Framework, назва проекту - GuessNum)
2. Змінити назву вікна на "Відгадування числа" (властивість Text для форми)
3. Розмістіть на формі необхідні елементи управління таким чином, щоб форма виглядала так, як на малюнку вище.
4. Встановіть для текстових елементів значення властивості Font на власний розсуд.
5. Створіть обробник події Click кнопки «Показати відповідь» та напишіть наступний код:
MessageBox.Show("Ви загадували число" + (Convert.ToInt32(textBox1.Text) - 2).ToString());
6. Збережіть проект.
7. Запустіть програму на виконання та перевірте її роботу.
Інструкції рос.мовою тут: http://it-game.sfera.org.ua/2022/11/prakt-geussnum.html
У чому секрет цієї програми?
Жодного секрету тут немає, все зводиться до вирішення рівняння: (х * 3 + 6) / 3 = у, де х - задумане гравцем число, у - результат, який вийшов у гравця після виконання всіх обчислень. Спростивши це рівняння, ви легко помітите, що для того щоб знайти число х, потрібно відняти 2.
Що означає весь цей рядок з MessageBox.Show?
textBox1.Text - це строкове значення, а нам потрібно число.
Convert.ToInt32(textBox1.Text) - так ми робимо з строки число.
Далі від цього числа віднімаємо 2, ось так: Convert.ToInt32(textBox1.Text) - 2
У нас вийшло число, а нам потрібне строкове значення, тому, що строкове значення повинно бути всередині дужок при визові MessageBox.Show.
Щоб зі строки отримати число, використовується метод ToString(). Але перед цим беремо весь вираз Convert.ToInt32(textBox1.Text) - 2 у дужки, отримуємо такий запис: (Convert.ToInt32(textBox1.Text) - 2).ToString()
Отже отримаємо строкове значення. Далі цю строку додаємо до "Ви загадували число", ось так:
"Ви загадували число" + (Convert.ToInt32(textBox1.Text) - 2).ToString()
І нарешті все це записуємо всередині дужок при виклику MessageBox.Show.
Складно? Так. Але ж ви знаєте, що мова C# складна. Нічого страшного, якщо зараз все це незрозуміло. Далі ще будемо вивчати типи даних і робити програми, в яких використовуються числові та строкові значення.
Перевірка значень
У цієї програмі є недоліки. Якщо ввести якесь неправильне значення, то програма видасть помилку. Потрібно додати перевірку того, що користувач натискає лише цифрові клавіши, перевірку чи взагалі введено якесь число у поле. Також можна додати перевірку, що введено не дуже велике число. Наприклад, якщо зараз ввести число 66666666666666666666666666666, то програма видасть помилку. Всі ці перевірки ми зараз не додаємо до програми. Але якщо вам цікаво, як це зробити, то можете почитати як це робити тут: http://it-game.sfera.org.ua/2022/11/prakt-geussnum.html
Створіть власну програму з новою загадкою. Тобто придумайте власний алгоритм для загадування/відгадування числа.
Програмний код готової програми. Увага! Під час розробки програми вам не потрібно копіювати весь цей код, лише код обробника події, який записаний між фігурними скобками (ці рядки виділені червоним кольором).
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GuessNum
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Ви загадували число " + (Convert.ToInt32(textBox1.Text) - 2).ToString());
}
}
}
Скріншот зробленої програми надішліть мені на електронну пошту або на вайбер.
Заповніть форму: