hafıza oyunu
unknown
csharp
2 years ago
9.8 kB
11
Indexable
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;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace metegoktas
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
timer1 = new Timer();
timer1.Interval = 1000;
timer1.Tick += timer1_tick;
resimlerikaristir();
}
Image[] resimler =
{
Properties.Resources._1,
Properties.Resources._2,
Properties.Resources._3,
Properties.Resources._4,
Properties.Resources._5,
Properties.Resources._6,
Properties.Resources._7,
Properties.Resources._8,
Properties.Resources._9,
Properties.Resources._10,
Properties.Resources._11,
Properties.Resources._12,
Properties.Resources._13,
Properties.Resources._14,
Properties.Resources._15,
Properties.Resources._16,
Properties.Resources._17,
Properties.Resources._18,
Properties.Resources._19,
Properties.Resources._20
};
int[] indeksler = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17,18,18,19,19 };
PictureBox ilkkutu;
int ilkindex;
int bulunan, denemesayisi;
int kalansure = 6;
int ilkdogru, ikincidogru = 0;
bool oyuncu = true;
private void timer1_tick(object sender, EventArgs e)
{
if (kalansure > 0)
{
kalansure--;
textBox2.Text = kalansure.ToString();// Kalan süreyi güncelle
if (kalansure <= 2)
{
textBox1.ForeColor = Color.Red;
}
else
{
textBox1.ForeColor = Color.Blue;
}
}
else
{
if (oyuncu == true)
{
oyuncu = false;
textBox7.Visible = false;
textBox8.Visible = true;
kalansure = 6;
}
else
{
oyuncu=true;
textBox8.Visible = false;
textBox7.Visible=true;
kalansure=6;
}
}
}
private void resimlerikaristir()
{
Random rnd = new Random();
for (int i = 0; i < 40; i++)
{
int sayi = rnd.Next(40);
int gecici = indeksler[i];
indeksler[i] = indeksler[sayi];
indeksler[sayi] = gecici;
}
}
private void Form1_Load(object sender, EventArgs e)
{
resimlerikaristir();
}
private void textBox1_Click(object sender, EventArgs e)
{
PictureBox kutu = (PictureBox)sender;
int kutuno = int.Parse(kutu.Name.Substring(10));
int indeksno = indeksler[kutuno - 1];
kutu.Image = resimler[indeksno];
kutu.Refresh();
if (ilkkutu == null)
{
ilkkutu = kutu;
ilkindex = indeksno;
denemesayisi++;
kalansure = 6;
}
else
{
System.Threading.Thread.Sleep(1000);
ilkkutu.Image = null;
kutu.Image = null;
kalansure = 6;
if (ilkindex == indeksno)
{
ilkkutu.Visible = false;
kutu.Visible = false;
bulunan++;
if (oyuncu==true)
{
ilkdogru++;
textBox4.Text = ilkdogru.ToString();
}
if (oyuncu==false)
{
ikincidogru++;
textBox6.Text = ikincidogru.ToString();
}
if (ilkdogru==11||ikincidogru==11)
{
timer1.Stop();
if (ilkdogru==11)
{
MessageBox.Show("Tebrikler " + ilkdogru + " dogru ile 1. oyuncu kazandı");
}
if (ikincidogru==11)
{
MessageBox.Show("Tebrikler " + ikincidogru + " dogru ile 2. oyuncu kazandı");
}
sıfırla();
denemesayisi = 0;
ilkdogru = 0;
ikincidogru = 0;
this.Close();
}
}
ilkkutu = null;
}
}
void sıfırla()
{
bulunan = 0;
denemesayisi = 0;
foreach (Control kontrol in Controls)
{
kontrol.Visible = true;
}
resimlerikaristir();
}
private void startbutton_Click(object sender, EventArgs e)
{
resimlerikaristir();
timer1.Start();
goster();
System.Threading.Thread.Sleep(5000);
gizle();
}
private void pictureBox36_Click(object sender, EventArgs e)
{
PictureBox kutu = (PictureBox)sender;
int kutuno = int.Parse(kutu.Name.Substring(10));
int indeksno = indeksler[kutuno - 1];
kutu.Image = resimler[indeksno];
kutu.Refresh();
if (ilkkutu == null)
{
ilkkutu = kutu;
ilkindex = indeksno;
denemesayisi++;
kalansure = 6;
}
else
{
System.Threading.Thread.Sleep(1000);
ilkkutu.Image = null;
kutu.Image = null;
kalansure = 6;
if (ilkindex == indeksno)
{
ilkkutu.Visible = false;
kutu.Visible = false;
bulunan++;
if (oyuncu==true)
{
ilkdogru++;
textBox4.Text = ilkdogru.ToString();
}
if (oyuncu==false)
{
ikincidogru++;
textBox6.Text = ikincidogru.ToString();
}
if (bulunan == 18)
{
timer1.Stop();
if (oyuncu==true)
{
MessageBox.Show("Tebrikler " + ilkdogru + " dogru ile 1. oyuncu kazandı");
}
if (oyuncu == false)
{
MessageBox.Show("Tebrikler " + ikincidogru + " dogru ile 2. oyuncu kazandı");
}
sıfırla();
denemesayisi = 0;
ilkdogru = 0;
ikincidogru = 0;
this.Close();
}
}
else
{
if (oyuncu == true)
{
oyuncu = false;
textBox7.Visible = false;
textBox8.Visible = true;
kalansure = 6;
}
else
{
oyuncu = true;
textBox8.Visible = false;
textBox7.Visible = true;
kalansure = 6;
}
}
ilkkutu = null;
}
}
void goster()
{
for (int i = 1; i <= 40; i++)
{
string pictureBoxName = "pictureBox" + i.ToString();
PictureBox kutu = Controls.Find(pictureBoxName, true).FirstOrDefault() as PictureBox;
if (kutu != null)
{
int indeksno = indeksler[i - 1];
kutu.Image = resimler[indeksno];
kutu.Refresh();
}
}
}
void gizle()
{
for (int i = 1; i <= 40; i++)
{
string pictureBoxName = "pictureBox" + i.ToString();
PictureBox kutu = Controls.Find(pictureBoxName, true).FirstOrDefault() as PictureBox;
if (kutu != null)
{
// Assuming there's a default image or null to reset the PictureBox
kutu.Image = null;
kutu.Refresh();
}
}
}
}
}
Editor is loading...
Leave a Comment