Sayı Tahmin Oyunu
Bu çalışmamızda form üzerinde eğlenceli bir sayı tahmin oyunu yazacağız. Program 1-50 arasında sayı üretecek, kullanıcı tahmin etmeye çalışacak. Kullanıcının girdiği sayı büyükse, "Büyük girdiniz", küçükse "Küçük girdiniz" yazacak.
Önce Visual Studio'da menülerden New - Project diyerek yeni bir proje başlarınız. Windows Form Application seçip bir isim giriniz.
Ardından Form üzerine sağ taraftaki Toolbox'tan (Araç kutusundan) aşağıdaki nesnleri sürükleyip bırakınız. Her bir nesnenin üzerine sağ tıklayıp Properties(Özellikler) den aşağıdaki ayarları yapınız.
Üç tane button, 1 tane TextBox, 2 Tane Label, 1 Tane Litxbox nesnesini form üzerine taşıyoruz.
Oyun aşağıdaki gibi oynanacaktır. Başlat butonuna basınca metin kutusu aktif olacak ve Listeye
Eğer bilgisayarın hangi sayıyı tuttuğunu tahmin edemeyip, en sonda oyunu bitirmek istersek BİTİR düğmesine basıp, tutulan sayıyı Listbox içinde gösteriyoruz.
else if (girilenSayi == sayi)
Bu programı daha da geliştirebilirsiniz, örneğin iki kullanıcı oynayabilir, siz her kullanıcıya başlangıç olarak 100 puan verirsiniz, her yanlış bilişinde 5 puan düşürebilirsiniz. Önce 0'a düşen yenilir.
Mutlu Kodlamalar,
Oğuzhan TAŞ
Ocak 2017
Önce Visual Studio'da menülerden New - Project diyerek yeni bir proje başlarınız. Windows Form Application seçip bir isim giriniz.
Ardından Form üzerine sağ taraftaki Toolbox'tan (Araç kutusundan) aşağıdaki nesnleri sürükleyip bırakınız. Her bir nesnenin üzerine sağ tıklayıp Properties(Özellikler) den aşağıdaki ayarları yapınız.
Üç tane button, 1 tane TextBox, 2 Tane Label, 1 Tane Litxbox nesnesini form üzerine taşıyoruz.
Nesne | Özellik | Değer |
Textbox | Name | txtSayi |
Button | Name | btnBaslat |
Button | Name | btnBitir |
Button | Name | btnBul |
ListBox | Name | LboxTahminler |
Oyun aşağıdaki gibi oynanacaktır. Başlat butonuna basınca metin kutusu aktif olacak ve Listeye
"OYUN BAŞLADI, bir sayı yazınız" yazacaktır. Ardından metin kutusuna tahminimiz olan sayıyı girip BUL düğmesine basıyoruz.
Eğer bilgisayarın hangi sayıyı tuttuğunu tahmin edemeyip, en sonda oyunu bitirmek istersek BİTİR düğmesine basıp, tutulan sayıyı Listbox içinde gösteriyoruz.
Başlat düğmesine basana kadar sayı girilmemesi için Program ilk açıldığında txtSayi isimli metin kutusunu Enabled=False yaparak pasif yapıyoruz. Bunun için formda boş bir alana tıklayınız, Form_Load olayına aşağıdaki kodu yazınız.
txtSayi.Enabled = false;
Ardından Başlat düğmesine tıklayarak Click() olayına aşağıdaki kodu yazınız, Click olayı buton tıklanınca devreye girer. Önce listbox'ımızın içeriğini boşaltıyoruz ardından kullanıcının tahmin girdiği kutuyu boşaltıyoruz.
Rastgele sayı üretmek için aşağıdaki iki satırı kullanıyoruz.
Burada 1 ile 51 arasında sayı üretilir, 1 dahil 51 dahil değildir.
Ardından LbTahminler listemize "Oyun Başladı" yazıyoruz ve artık kullanıcımızın sayı girebilmesi için metin kutusunu aktif yapıyoruz.
Aşağıda Başlat düğmesine basınca çalışan kodlar yer almaktadır.
Şimdi sıra geldi programın en önemli kısmına. btnBul() düğmesine tıklayıp Click() olayına aşağıdaki kodları yazıyoruz. Yukarıda btnBaslat düğmesine tıklayınca rastgele sayı üretilmişti, şimdi bu sayıyı kontrol edeceğiz.
Bu kodlar Oğuzhan Taş'a ait web sitesinde yer almaktadır, emeğe saygı gösterip isim belirtmeden ve siteye link vermeden kodları kopyalamayınız.
Önce girilenSayi değişkenimize metin kutusuna girilen bilgiyi alıyoruz ve üretilen sayıdan büyükse listemize "Büyük sayı girdiniz", küçükse "Küçük sayı girdiniz" yazıyoruz. Eşit ise kullanıcı, rastgele üretilen sayıyı bilmiştir. LBoxTahminler listemize TEBRİKLER yazımızı ekliyoruz.
else if (girilenSayi == sayi)
Kodların tamamı aşağıda verilmiştir.
txtSayi.Enabled = false;
Ardından Başlat düğmesine tıklayarak Click() olayına aşağıdaki kodu yazınız, Click olayı buton tıklanınca devreye girer. Önce listbox'ımızın içeriğini boşaltıyoruz ardından kullanıcının tahmin girdiği kutuyu boşaltıyoruz.
lboxTahminler.Items.Clear();
txtSayi.Text = "";
Rastgele sayı üretmek için aşağıdaki iki satırı kullanıyoruz.
Random rastgele = new Random();
sayi = rastgele.Next(1, 51);
Burada 1 ile 51 arasında sayı üretilir, 1 dahil 51 dahil değildir.
Ardından LbTahminler listemize "Oyun Başladı" yazıyoruz ve artık kullanıcımızın sayı girebilmesi için metin kutusunu aktif yapıyoruz.
lboxTahminler.Items.Add("Oyun başladı, bir sayı yazınız.");
txtSayi.Enabled = true;
Aşağıda Başlat düğmesine basınca çalışan kodlar yer almaktadır.
private void btnBaslat_Click(object sender, EventArgs e)
{
lboxTahminler.Items.Clear();
txtSayi.Text = "";
//Rastgele sayı üretiyoruz
Random rastgele = new Random();
sayi = rastgele.Next(1, 51);
//1 ile 51 arasında üretiyor, 1 dahil 51 dahil değil
//1 ile 51 arasında üretiyor, 1 dahil 51 dahil değil
lboxTahminler.Items.Add("Oyun başladı, bir sayı yazınız.");
txtSayi.Enabled = true;
}
Şimdi sıra geldi programın en önemli kısmına. btnBul() düğmesine tıklayıp Click() olayına aşağıdaki kodları yazıyoruz. Yukarıda btnBaslat düğmesine tıklayınca rastgele sayı üretilmişti, şimdi bu sayıyı kontrol edeceğiz.
Bu kodlar Oğuzhan Taş'a ait web sitesinde yer almaktadır, emeğe saygı gösterip isim belirtmeden ve siteye link vermeden kodları kopyalamayınız.
Önce girilenSayi değişkenimize metin kutusuna girilen bilgiyi alıyoruz ve üretilen sayıdan büyükse listemize "Büyük sayı girdiniz", küçükse "Küçük sayı girdiniz" yazıyoruz. Eşit ise kullanıcı, rastgele üretilen sayıyı bilmiştir. LBoxTahminler listemize TEBRİKLER yazımızı ekliyoruz.
private void btnBul_Click(object sender, EventArgs e)
{
int girilenSayi;
girilenSayi = int.Parse(txtSayi.Text);
if (girilenSayi > sayi)
lboxTahminler.Items.Add("Büyük sayı girdiniz, küçük giriniz.");
else if (girilenSayi < sayi)
lboxTahminler.Items.Add("Küçük sayı girdiniz, büyük giriniz.");
else if (girilenSayi == sayi)
lboxTahminler.Items.Add("TEBRİKLER, bildiniz");
}
Kodların tamamı aşağıda verilmiştir.
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 SayilBulOyun
{
public partial class Form1 : Form
{
//sayi isimli bir genel değişken tanımlıyoruz.
int sayi;
int sayi;
public Form1()
{
InitializeComponent();
}
private void btnBaslat_Click(object sender, EventArgs e)
{
lboxTahminler.Items.Clear();
txtSayi.Text = "";
//Rastgele sayı üretiyoruz
Random rastgele = new Random();
sayi = rastgele.Next(1, 51);
//1 ile 51 arasında üretiyor, 1 dahil 51 dahil değil
//1 ile 51 arasında üretiyor, 1 dahil 51 dahil değil
lboxTahminler.Items.Add("Oyun başladı, bir sayı yazınız.");
txtSayi.Enabled = true;
}
private void btnBitir_Click(object sender, EventArgs e)
{
lboxTahminler.Items.Add("Üretilen Sayı:" + sayi);
txtSayi.Enabled = false;
}
private void btnBul_Click(object sender, EventArgs e)
{
int girilenSayi;
girilenSayi = int.Parse(txtSayi.Text);
if (girilenSayi > sayi)
lboxTahminler.Items.Add("Büyük sayı girdiniz, küçük giriniz.");
else if (girilenSayi < sayi)
lboxTahminler.Items.Add("Küçük sayı girdiniz, büyük giriniz.");
else if (girilenSayi == sayi)
lboxTahminler.Items.Add("TEBRİKLER, bildiniz");
}
private void Form1_Load(object sender, EventArgs e)
{
txtSayi.Enabled = false;
}
}
}
Bu programı daha da geliştirebilirsiniz, örneğin iki kullanıcı oynayabilir, siz her kullanıcıya başlangıç olarak 100 puan verirsiniz, her yanlış bilişinde 5 puan düşürebilirsiniz. Önce 0'a düşen yenilir.
Mutlu Kodlamalar,
Oğuzhan TAŞ
Ocak 2017
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?