Új hozzászólás Aktív témák

  • trisztan94

    őstag

    Sziasztok!
    1-2 hónapja tanulgatom a C#-ot, jelenleg egy memóriajátékot akarok írni, de valamit nem tudok, és sehogy sem tudok rájönni. A program lényege, (gondolom mindenki tudja, hogy mi egy memóriajáték, de azért leírom :D) hogy van egy 4x4-es panelem feltöltve gombokkal, amik feketék alaphelyzetben. Rákattintasz, fehér lesz és kidob egy számot. Eddig minden klafa, tök jól működik, viszont elakadtam ott, hogy leellenőrizze a program, hogy ha a második kattintással felhozott gomb értéke nem egyezik az előzővel, akkor állítsa vissza feketére, ha egyezik, akkor meg maradjon úgy. Több órája ezzel sz@rakodok, sehogy sem tudok rájönni.

    Itt a kód:

    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 Memória
    {
    public partial class Form1 : Form
    {
    int lepesek = 0;
    int talalatok = 0;
    Button[] gombok = new Button[16];
    Random r = new Random();
    int elsogomb;
    public Form1()
    {
    InitializeComponent();

    }

    private void but_new_Click(object sender, EventArgs e)
    {
    for (int i = 0; i < 16; i++)
    {
    gombok[i] = new Button();
    gombok[i].Parent = panel;
    gombok[i].Width = panel.Width / 4;
    gombok[i].Height = panel.Height / 4;
    gombok[i].Left = (i % 4) * (panel.Width / 4);
    gombok[i].Top = (i / 4) * (panel.Height / 4);
    gombok[i].BackColor = Color.Black;
    gombok[i].Click += gombertek;

    }

    for (int i = 0; i < 8; i++)
    {
    for (int j = 0; j < 2; j++)
    {
    bool lerakva = false;
    while(!lerakva)
    {
    int mivanmi = r.Next(0,16);
    if (gombok[mivanmi].Tag==null)
    {
    lerakva = true;
    gombok[mivanmi].Tag = i+1;
    }
    }
    }
    }
    }
    void gombertek(object sender, EventArgs e)
    {
    (sender as Button).Text = (sender as Button).Tag.ToString();
    (sender as Button).Enabled = false;
    (sender as Button).BackColor = Color.White;
    elsogomb = int.Parse((sender as Button).Text);
    }
    void ugyanaz(object sender, EventArgs e)
    {

    }

    private void but_exit_Click(object sender, EventArgs e)
    {
    this.Close();
    }
    }
    }

    Köszönöm előre is :R

Új hozzászólás Aktív témák