memorama
Publicado por memorama (3 intervenciones) el 03/06/2019 18:49:39
tengo un juego de memorama pero quiero que al encontrar las parejas estos desaparescan.. alguna ayuda. se les agradece.
Valora esta pregunta


0




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 System.Collections;using System.Media;namespace Seleccion_de_Cartas_Juego
{ public partial class Juego1 : Form {public Juego1()
{InitializeComponent();
}private void Juego1_Load(object sender, EventArgs e)
{InicioDeJuego();
}public void InicioDeJuego()
{timer1.Enabled = false;
timer1.Stop();
cantidadeM.Text = "0";
mostrarmsj.Text = " ";
cartasVolteadas = 0; Movimientos = 0;panelJuego.Controls.Clear();
CartasNumeradas = new List<string>();
CartaRevueltas = new List<string>();
CartaSeleccionadas = new ArrayList();
for (int i = 0; i < 6; i++)
{CartasNumeradas.Add(i.ToString());
CartasNumeradas.Add(i.ToString());
//CartasNumeradas.Add(i.ToString());
}var numAleatorio = new Random();
var resultado = CartasNumeradas.OrderBy(item => numAleatorio.Next());
foreach (string valorCarta in resultado)
{CartaRevueltas.Add(valorCarta);
}var juegoPanel = new TableLayoutPanel();
juegoPanel.RowCount = Filas;
juegoPanel.ColumnCount = Filas;
juegoPanel.RowCount = Columnas;
juegoPanel.ColumnCount = Columnas;
for (int i = 0; i < Columnas; i++)
{var porcentaje = 150F / (float)Columnas - 10;
juegoPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, porcentaje));
juegoPanel.RowStyles.Add(new RowStyle(SizeType.Percent, porcentaje));
}for (int j = 0; j < Filas; j++)
{var porcentaje = 150F / (float)Filas - 10;
juegoPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, porcentaje));
juegoPanel.RowStyles.Add(new RowStyle(SizeType.Percent, porcentaje));
} int fichas = 1;for (int i = 0; i < Columnas; i++)
{for (int j = 0; j < Filas; j++)
{var cartasJuego = new PictureBox();
cartasJuego.Name = string.Format("{0}", fichas);
cartasJuego.Dock = DockStyle.Fill;
cartasJuego.SizeMode = PictureBoxSizeMode.StretchImage;
cartasJuego.Image = Properties.Resources.fondo;
cartasJuego.Cursor = Cursors.Hand;
cartasJuego.Click += carta_Click;
juegoPanel.Controls.Add(cartasJuego, i, j);
fichas++;
} }juegoPanel.Dock = DockStyle.Fill;
panelJuego.Controls.Add(juegoPanel);
}private void carta_Click(object sender, EventArgs e)
{if (CartaSeleccionadas.Count < 2)
{SoundPlayer Player = new SoundPlayer();
Player.SoundLocation = @"C:\sonido\carta.wav";
Player.Play();
Movimientos++;
cantidadeM.Text = Convert.ToString(Movimientos);
var seleccionadasPorUsuario = (PictureBox)sender;
actualCarta = Convert.ToInt32(CartaRevueltas[Convert.ToInt32(seleccionadasPorUsuario.Name) - 1]);
seleccionadasPorUsuario.Image = recucuperarImagen(actualCarta);
CartaSeleccionadas.Add(seleccionadasPorUsuario);
if (CartaSeleccionadas.Count == 2)
{CartaTemporal1 = (PictureBox)CartaSeleccionadas[0];
CartaTemporal2 = (PictureBox)CartaSeleccionadas[1];
//CartaTemporal3 = (PictureBox)CartaSeleccionadas[2];
int carta1 = Convert.ToInt32(CartaRevueltas[Convert.ToInt32(CartaTemporal1.Name) - 1]);
int carta2 = Convert.ToInt32(CartaRevueltas[Convert.ToInt32(CartaTemporal2.Name) - 1]);
//int carta3 = Convert.ToInt32(CartaRevueltas[Convert.ToInt32(CartaTemporal3.Name) - 1]);
if (carta1 != carta2 /*|| carta2!=carta3*/)
{timer1.Enabled = true;
timer1.Start();
}else
{cartasVolteadas++;
if (cartasVolteadas == 6)
{mostrarmsj.Text = "Juego Completado";
}CartaSeleccionadas.Clear();
CartaTemporal1.Enabled = false;
CartaTemporal2.Enabled = false;
//CartaTemporal3.Enabled = false;
} } } }public Bitmap recucuperarImagen(int numeroImagen)
{Bitmap tiempImagen = new Bitmap(200, 100);
switch (numeroImagen)
{case 0: tiempImagen = Properties.Resources.img6;
break;
default: tiempImagen = (Bitmap)Properties.Resources.ResourceManager.GetObject("img" + numeroImagen);
break;
}return tiempImagen;
}private void Timer1_Tick(object sender, EventArgs e)
{ int virarCarta = 1;if (virarCarta == 1)
{CartaTemporal1.Image = Properties.Resources.fondo;
CartaTemporal2.Image = Properties.Resources.fondo;
//CartaTemporal3.Image = Properties.Resources.fondo;
CartaSeleccionadas.Clear();
virarCarta = 0;timer1.Stop();
} }private void Mm_Click(object sender, EventArgs e)
{ }private void Mostrarmsj_Click(object sender, EventArgs e)
{ }List<string> CartaRevueltas;
ArrayList CartaSeleccionadas;
int Movimientos = 0; int Columnas = 4; int Filas = 3; int cartasVolteadas = 0;List<string> CartasNumeradas;
PictureBox CartaTemporal2;
PictureBox CartaTemporal1;
//PictureBox CartaTemporal3;
int actualCarta = 0;private void Reiniciar_Click_1(object sender, EventArgs e)
{InicioDeJuego();
}private void PictureBox1_Click(object sender, EventArgs e)
{Form Menu = new Menu();
this.Hide();
Menu.ShowDialog();
} }}
