C# Basit At Yarışı Oyunu

C# Basit At Yarışı Oyunu

C# Basit At Yarışı Oyunu

Arkadaşlar Öğrencilerin bulamadığı ve kendilerini geliştirmek istediği örnek uygulamaları paylaşıyoruz.At yarışı onlardan biri ödevlerinizde falan kullanabileceğiniz basit bir uygulama.Butonlara rasgele konum veriyoruz ve her konum verildiğinde kendisi konum kadar x koordinatında ilerliyor.Kodların açıklamaları mevcut bizi takip edin sizler için paylaşıyorum.!Kodların altında indirme linki mevcuttur.Uygulamayı indirip bakmanızı tavsiye ediyorum. :)

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 Buton_Yarisi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button_yaris_1.Click += Button_yaris_1_Click;
            button_yaris_2.Click += Button_yaris_2_Click;
            button_yaris_3.Click += Button_yaris_3_Click;
        }

        /*
         * C# BASİT AT YARIŞI OYUNU
         * http://csharpdersornekleri.blogspot.com.tr
         */

        // Yarışcı seçince seçileni labele yazdır
        private void Button_yaris_1_Click(object sender, EventArgs e)
        {
            label1.Text = "1 Numara";
        }

        private void Button_yaris_2_Click(object sender, EventArgs e)
        {
            label1.Text = "2 Numara";
        }

        private void Button_yaris_3_Click(object sender, EventArgs e)
        {
            label1.Text = "3 Numara";
        }

        Random rnd = new Random();
        int btn1x,btn1y,btn2x,btn2y,btn3x,btn3y;// Yarışcıların başlangıç noktalarını al
        mesajver mesaj = new mesajver(); // Mesajver classı

        private void eskikonum() // Yarışcıları başlangıç noktalarına götür
        {
            button_yaris_1.Location = new Point(btn1x, btn1y);
            button_yaris_2.Location = new Point(btn2x, btn2y);
            button_yaris_3.Location = new Point(btn3x, btn3y);
            button1.Enabled = true;
            button_yaris_1.Enabled = true;
            button_yaris_2.Enabled = true;
            button_yaris_3.Enabled = true;
            label1.Text = "";
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            int konum1 = rnd.Next(2, 10);// Her yarışcı için rasgele bir sayı
            int konum2 = rnd.Next(2, 10);
            int konum3 = rnd.Next(2, 10);
            if (button_yaris_1.Right > label_bitis.Left || button_yaris_2.Right > label_bitis.Left || button_yaris_2.Right > label_bitis.Left)
            {// Yarışcılardan biri bitiş çizgisindeyse yani yarış bittiyse
                if (button_yaris_1.Right > button_yaris_2.Right && button_yaris_1.Right > button_yaris_3.Right)
                { // Yarışcı 1 diğerlerinden öndeyse
                    if (label1.Text == "1 Numara")
                    {
                        timer1.Stop();
                        mesaj.mesajgetir("Tebrikler doğru tahmin.");
                        eskikonum();
                    }
                    else
                    {
                        timer1.Stop();
                        mesaj.mesajgetir("Seçtiğiniz at gelmedi.Kazanan 1 Numara.");
                        eskikonum();
                    }

                }
                else if (button_yaris_2.Right > button_yaris_1.Right && button_yaris_2.Right > button_yaris_3.Right)
                {// Yarışcı 2 diğerlerinden öndeyse
                    if (label1.Text == "2 Numara")
                    {
                        timer1.Stop();
                        mesaj.mesajgetir("Tebrikler doğru tahmin.");
                        eskikonum();
                    }
                    else
                    {
                        timer1.Stop();
                        mesaj.mesajgetir("Seçtiğiniz at gelmedi.Kazanan 2 Numara.");
                        eskikonum();
                    }
                }
                else if (button_yaris_3.Right > button_yaris_1.Right && button_yaris_3.Right > button_yaris_2.Right)
                {// Yarışcı 3 diğerlerinden öndeyse
                    if (label1.Text == "3 Numara")
                    {
                        timer1.Stop();
                        mesaj.mesajgetir("Tebrikler doğru tahmin.");
                        eskikonum();
                    }
                    else
                    {
                        timer1.Stop();
                        mesaj.mesajgetir("Seçtiğiniz at gelmedi.Kazanan 3 Numara.");
                        eskikonum();
                    }
                }
                else { timer1.Stop(); eskikonum(); }
            }
            else
            {// Yarışcılardan biri bitiş çizgisinde değilse her birini sağa doğru rasgele sayılarla ilerlet yani yarış bitmediyse
                button_yaris_1.Location = new Point(button_yaris_1.Location.X + konum1, button_yaris_1.Location.Y);
                button_yaris_2.Location = new Point(button_yaris_2.Location.X + konum2, button_yaris_2.Location.Y);
                button_yaris_3.Location = new Point(button_yaris_3.Location.X + konum3, button_yaris_3.Location.Y);
            }
        }


        private void button1_Click(object sender, EventArgs e)
        {
            btn1x = button_yaris_1.Location.X; //Yarışcıların başlangıç konumları
            btn1y = button_yaris_1.Location.Y;
            btn2x = button_yaris_2.Location.X;
            btn2y = button_yaris_2.Location.Y;
            btn3x = button_yaris_3.Location.X;
            btn3y = button_yaris_3.Location.Y;
            if (label1.Text == "" || label1.Text == "At seçiniz.") // At seçilmediyse
            {
                label1.Text = ("At seçiniz.");
            }
            else
            { // at seçildiyse artık seçimleri kapat yarışı başlat
                button_yaris_1.Enabled = false;
                button_yaris_2.Enabled = false;
                button_yaris_3.Enabled = false;
                button1.Enabled = false;
                timer1.Start();
            }
        }
    }
}


Yorumlar

  1. bir şey soracaktım bunun form görüntüsü varmı

    YanıtlaSil
    Yanıtlar
    1. https://i.hizliresim.com/QLRg83.png bu adresten bakabilirsiniz.

      Sil

Yorum Gönder

Konu hakkında yorumlarınızı bekliyorum teşekkürler.