METİN ÇİFTÇİ Kişisel Web Sitesi
search

C# ile basit iki aracın yarışmasını sağlayacak kodlar yazdık. Oyunun mantığı at yarışı gibi, yani oyun iki kişilik ve iki arabadan biri üzerine oynayabilirsiniz. Bunun için hangi araba üzerinde oynayacaksanız o arabayı tuttuğunuz belirten kutucuğu isminizi yazıyorsunuz ve yarışı başlat butona basıyorsunuz. Arabaların hız değerlerine rastgele değer veriliyor ve böylece hangi arabanın önce bitiş noktasına varılacağı belli olmuyor yani tamamen şans. C# formunda label, textbox, picturebox, groupbox ve buton nesneleri kullanıldı. Programın genel bir görünüşü aşağıda verilmiştir.


 Araba Yarışı

Şimdi programın kod kısmına göz atalım. İlkin formunuza resimde görülen nesneleri ekleyiniz sonra kod kısmına başlayın. 


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace ArabaYarisi

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}       

private void timer1_Tick(object sender, EventArgs e)

{

if (pckirmizi.Top < 31 || pcmavi.Top < 31)

{

if (pckirmizi.Top < 31)// Bitiş çizgisine ulaştığını kontrol ediyoruz.

{

lblskor1.Text = (int.Parse(lblskor1.Text) + 1).ToString();

lblgenel.Text = (int.Parse(lblgenel.Text) + 1).ToString();

lblSonuc.Text = lblkirmiziisim.Text + " Kazandı.";

lblSonuc.ForeColor = Color.Red; // Hangi araç kazandıysa sonucu veren label nesnesinin rengini o aracın rengi ile aynı yapıyoruz.

}

else if (pcmavi.Top < 31)// Bitiş çizgisine ulaştığını kontrol ediyoruz.

{

lblskor2.Text = (int.Parse(lblskor2.Text) + 1).ToString();

lblgenel.Text = (int.Parse(lblgenel.Text) + 1).ToString();

lblSonuc.Text = lblmaviisim.Text + " Kazandı.";

lblSonuc.ForeColor = Color.Blue;// Hangi araç kazandıysa sonucu veren label nesnesinin rengini o aracın rengi ile aynı yapıyoruz.

}

timer1.Enabled = false;

timer1.Stop();

pckirmizi.Top = 492; // Arabaları yarış bittiğinde aynı yerlerine getiriyoruz.

pcmavi.Top = 492;

label2.Visible = true;

}

else

{

Random rnd = new Random();Random rnd1 = new Random(); // Random controlünü rastgele değer almak için kullandık.

pckirmizi.Top -= rnd.Next(0,rnd1.Next(1,5)); // Araba resimlerini hareket ettirmek için rastgele değer atayalım.

pcmavi.Top -= rnd.Next(0, rnd1.Next(1,5));

}

}

private void txtkirmizi_TextChanged(object sender, EventArgs e)

{

lblkirmiziisim.Text = txtkirmizi.Text; // Seçtiğiniz araba için isim yazdığızda bu ismi skor bölümüne ekliyoruz.

} 

private void txtmavi_TextChanged(object sender, EventArgs e)

{

lblmaviisim.Text = txtmavi.Text;// Seçtiğiniz araba için isim yazdığızda bu ismi skor bölümüne ekliyoruz.

} 

private void button1_Click(object sender, EventArgs e)// Bilgileri sıfırlayalım.

{

lblskor1.Text = "0";

lblskor2.Text = "0";

lblgenel.Text = "0";

txtkirmizi.Text = "";

txtmavi.Text = "";

lblSonuc.Text = "";

lblkirmiziisim.Text = "İsim Girin";

lblmaviisim.Text = "İsim Girin";

} 

private void btnBasla_Click(object sender, EventArgs e)

{

lblSonuc.Text = "";

if (txtkirmizi.Text == "" || txtmavi.Text == "") // Başlamadan önce isim kutuların kontrol ediyoruz.

{

MessageBox.Show("Lütfen isim alanlarını doldurun.");

}

else

{ 

label2.Visible = false;

timer1.Enabled = true;

timer1.Start();

}           

} 

}

} 





Paylaş







"Eğitim kafayı çalıştırmak demektir.
Belleği doldurmak değil."
Mark Twain




InstagramFacebooktwitter





Süper On Parmak Klavye Öğrenme Programı Ücretsiz
Okuma : 37325    Tarih : 26.03.2015 - 03:01
C# Dizi Değişkenler Ve Dizi Değişken Tanımlama
Okuma : 5472    Tarih : 10.09.2015 - 13:58
C# Metotlar ve Çeşitleri
Okuma : 4834    Tarih : 11.10.2015 - 02:36
C# En Çok Kullanılan String Metotlar
Okuma : 4117    Tarih : 22.02.2016 - 22:22
C# Aritmetik Operatörler Ve Mantıksal Operatörler
Okuma : 3858    Tarih : 11.09.2015 - 21:25
C# İle Araba Yarışı Oyunu Yapımı
Okuma : 3734    Tarih : 26.01.2016 - 01:28
C# Değişkenler Ve Değişken Tanımlama
Okuma : 3579    Tarih : 05.09.2015 - 20:04
C# Girilen Sayının Karekök Ve Faktöryelini Bulan Program
Okuma : 2919    Tarih : 26.03.2015 - 16:39
C# DateTime Sınıfı
Okuma : 2835    Tarih : 23.02.2016 - 22:11
C# Asp.NET Proje Konu İsimleri
Okuma : 2589    Tarih : 20.01.2016 - 23:18
C# While, Do While, For Ve Foreach Döngü Yapıları
Okuma : 2542    Tarih : 19.09.2015 - 23:18
C# Değişken Türünü Değiştirme
Okuma : 2366    Tarih : 10.09.2015 - 16:39
C Şarp Girilen Beş Basamaklı Sayıyı Yazıya Dönüştürme
Okuma : 2323    Tarih : 31.05.2015 - 00:22
C# Class Tanımlama (Sınıflar)
Okuma : 2295    Tarih : 25.09.2015 - 02:07
C# if, else if Ve else Kontrol Yapıları
Okuma : 2192    Tarih : 14.09.2015 - 01:10




İp Adresin: 18.97.9.175


© 2020 Kodlama ve Tasarım Metin ÇİFTÇİ