beyisoy
Aktif Üye
- Mesajlar
- 281
https://www.bilisimogretmeni.com/visual-studio-c/c-dersleri-kostebek-oyunu.html
Amaç 1 ile 42 arasında rastgele bir değer üretiliyor buna karşılık gelen kostebekyuvasi hangisi ise o butonun zemin rengi kırmızı oluyor, daha eğer kullanıcı rengi tekrar siyah olmadan basarsa skor bir artıyor yanlış butona basarsa bir azalıyor.
Amaç 1 ile 42 arasında rastgele bir değer üretiliyor buna karşılık gelen kostebekyuvasi hangisi ise o butonun zemin rengi kırmızı oluyor, daha eğer kullanıcı rengi tekrar siyah olmadan basarsa skor bir artıyor yanlış butona basarsa bir azalıyor.
Kod:
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 kostebekyakalama
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int skor = 0;
Random rnd = new Random();
//www.bilisimogretmeni.com
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 42; i++)
{
Button kostebekyuvasi = new Button();
kostebekyuvasi.BackColor = Color.Black;
kostebekyuvasi.ForeColor = Color.White;
kostebekyuvasi.Width = 50;
kostebekyuvasi.Height = 50;
kostebekyuvasi.Text = (i + 1).ToString();
flowLayoutPanel1.Controls.Add(kostebekyuvasi);
}
}
private void timer1_Tick(object sender, EventArgs e)
{
int rastgele = rnd.Next(1, 42);
//www.bilisimogretmeni.com
foreach (var b in flowLayoutPanel1.Controls)
{
Button kostebekyuvasi = b as Button;
if (kostebekyuvasi.Text == rastgele.ToString())
{
kostebekyuvasi.BackColor = Color.Red;
kostebekyuvasi.Click += new EventHandler(kostebekyuvasi_Click);
}
else
{
kostebekyuvasi.BackColor = Color.Black;
}
}
label2.Text = skor.ToString();
}
void kostebekyuvasi_Click(object sender, EventArgs e)
{
Button kostebekyuvasi = sender as Button;
if (kostebekyuvasi.BackColor == Color.Red)
skor++;
else
skor--;
}
//www.bilisimogretmeni.com
private void button1_Click(object sender, EventArgs e)
{
if (radioButton1.Checked) timer1.Interval = 1000;
if (radioButton2.Checked) timer1.Interval = 500;
if (radioButton3.Checked) timer1.Interval = 200;
timer1.Start();
}
private void button2_Click(object sender, EventArgs e)
{
timer1.Stop();
}
}
}