Exemplo n.º 1
0
Arquivo: Form1.cs Projeto: liyue0117/3
        private void button1_Click(object sender, EventArgs e)
        {
            CardPanel.Controls.Clear();
            timer1.Start();
            var cards = new List <CardControl>();

            for (int suit = 0; suit < 4; suit++)
            {
                for (int rank = 0; rank < 13; rank++)
                {
                    var card = new CardControl();
                    card.Suit     = (Suit)suit;
                    card.Rank     = (Rank)rank;
                    card.ShowBack = true;
                    card.Click   += cardControl1_Click;
                    cards.Add(card);
                    //CardPanel.Controls.Add(card);
                }
            }
            var random  = new Random();
            var adress1 = new List <CardControl>();
            var adress2 = new List <CardControl>();

            for (int i = 0, j = 0; j < 12; i++, j++)
            {
                int index = random.Next(52 - i);
                var card  = new CardControl();
                adress1.Add(cards[index]);
                card.Suit     = cards[index].Suit;
                card.Rank     = cards[index].Rank;
                card.ShowBack = cards[index].ShowBack;
                card.Click   += cardControl1_Click;
                adress2.Add(card);
                // CardPanel.Controls.Add(cards[index]);
                cards.RemoveAt(index);
            }
            for (int i = 0; i < 12; i++)
            {
                int index1 = random.Next(12 - i);
                CardPanel.Controls.Add(adress1[index1]);
                adress1.RemoveAt(index1);
                int index2 = random.Next(12 - i);
                CardPanel.Controls.Add(adress2[index2]);
                adress2.RemoveAt(index2);
            }
        }
Exemplo n.º 2
0
Arquivo: Form1.cs Projeto: liyue0117/3
        private void cardControl1_Click(object sender, EventArgs e)
        {
            var card = (CardControl)sender;

            if (!card.ShowBack)
            {
                return;
            }
            card.ShowBack = !card.ShowBack;
            lbltimes.Text = times++.ToString();
            if (click == 2)
            {
                lastcard1.ShowBack = !lastcard1.ShowBack;
                lastcard2.ShowBack = !lastcard2.ShowBack;
                lastcard1          = card;
                click = 1;
                return;
            }
            if (click == 0)
            {
                click++;
                lastcard1 = card;
            }
            else if (click == 1)
            {
                //Thread.Sleep(500);
                if (lastcard1.Suit == card.Suit && lastcard1.Rank == card.Rank)
                {
                    click = 0;
                    End++;
                }
                else
                {
                    lastcard2 = card;
                    click++;
                }
            }
            if (End == 12)
            {
                MessageBox.Show("You win!");
            }
        }