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();
}
}
}