Arkadaşlar şöyle bir ödevim var soru ve yapabildiklerim aaşağıdaki gibidir. yardım edebilirseniz sevinirim. (while ile yapılacakmış ben if le yaptım

)
Soru :
Alıntı
Program çalışmaya başladığı anda formun loadında random 1 ile 100 arası bir sayı üretecek.
Daha sonra program açılınca kullanıcıdan textbox ile bir say alacağız ve random ile karşılaştırcaz.
kullanıcının 5 hakkı bulunuyor. 5 hakkında da bilemezse tekrar oynamak ister misiniz diye
soracak evet derse tekrar 5 hak verilecek bir daha tahmin yaptırılacak.
ayrıca her tahminde eğer tahmin ettiği sayı ile random üretilen sayının arasında 5 fark varsa,
yani 5 eksiği veya 5 fazlası bir değerse çok yaklaştın denilecek
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 SayıBulmaOyunu
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int fark = 0;
int sayi = int.Parse(textBox1.Text);
hak++;
//MessageBox.Show(Rastgele.ToString());
MessageBox.Show("Tahmin Edilen Sayı : " + sayi.ToString());
MessageBox.Show("Kullanılan Hak : " + hak.ToString());
if(hak>4)
{
if (MessageBox.Show("Mesaj içeriği", "Başlık", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
hak = 0;
fark = Rastgele - sayi;
fark = sayi - Rastgele;
if (fark <= 5)
{
MessageBox.Show("Yaklaştın...");
}
if (Rastgele == sayi || sayi == Rastgele)
{
MessageBox.Show("Tebrikler!!!");
}
}
}
}
int sayi;
int Rastgele;
int hak = 0;
private void Form2_Load(object sender, EventArgs e)
{
Random r = new Random();
Rastgele = r.Next(1, 20);
}
}
}