Sunteți pe pagina 1din 55

Procedimientos y algoritmos programados juego ChaKana

Libreras utilizadas.
using
using
using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Windows.Forms;
System.Threading;
System.IO;

namespace ChacKipus
{
public partial class Form1 : Form
{
Declaracin de arreglos bidimensionales usados
string[,] kipus= new string[81,6];
string[,] kipusbarajado= new string[81, 6];
string[,] deshaser = new string[3, 3];
string[,] chananas = new string[27, 4];
PictureBox[] pictureBoxs = new PictureBox[20];
int cchacanas, cchacanasechas,des,cronometro;
public Form1()
{
Thread tiempo = new Thread(new ThreadStart(screen1));
tiempo.Start();
Thread.Sleep(7900);
cargarkipus();
InitializeComponent();
tiempo.Abort();
}
protected void contardeshaser()->Procedimiento que cuenta los movimientos a deshacer
{

int c=0;
for (int i=0; i<3;i++)
{
if (deshaser[i, 1] != null)
{
if (deshaser[i, 1].ToString() != "nada")
{
c = c + 1;
}
}
}
button3.Text = "Deshacer (" + c.ToString()+")";
if (c==0)
{
button3.Text = "Deshacer (" + c.ToString() + ")";
}
}
protected void inicializar()-> Procedimiento que inicializa las variables
{
cchacanas = 0;
cchacanasechas = 0;
txtchacanas.Text ="0";
deshaser[0, 1] = "nada";
deshaser[1, 1] = "nada";
deshaser[2, 1] = "nada";
contardeshaser();
txtcronometro.Text = "0";
cronometro = 0;
des = 0;
mazo.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath, string.Format("Imagenes\\{0}",
"cartasll.png"))); -> Instruccin que carga imagen en picturebox
}
public void screen1()
{
Application.Run(new splash());
}

private void Form1_Load(object sender, EventArgs e)


{
pictureBox14.AllowDrop = true;
pictureBox15.AllowDrop = true;
pictureBox16.AllowDrop = true;
button2.Enabled = false;
button5.Enabled = false;
inicializar();
}
protected override void OnClosing(CancelEventArgs e)
{
DialogResult rs2 = MessageBox.Show("Esta opcin cerrar ChaKana, perder todas las ChaKanas ganadas\n\rDesea continuar?", "Mensaje
de ChaKana", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
{
if (rs2 == DialogResult.No)
e.Cancel = true;
}
}
private void button6_Click(object sender, EventArgs e)
{
cerrar();
}

private void cerrar()-> Procedimiento que muestra un mensaje antes de cerrar el juego
{
if (MessageBox.Show("Esta opcin cerrar ChaKana, perder todas las ChaKanas ganadas\n\rDesea continuar?", "Mensaje de ChaKana",
MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
Application.Exit();
}
}
private void cargarkipus()-> Procedimiento que carga en el arreglo kipus todas las imgenes.
En la posicin cero(0,0) se almacena la inicial del color

En
En
En
En
En

la
la
la
la
la

posicin uno (0,1) la forma.


posicin 2 (0,2) el cantidad
posicin 3(0,3) el relleno
posicin cuatro (0,4) el estado (1 sin utilizar, 0 utilizado)
posicin cinco (0,5) el nombre del archivo
{
kipus[0,0] = "r";
kipus[0,1] = "e";
kipus[0,2] = "1";
kipus[0,3] = "b";
kipus[0,4] = "1";
kipus[0,5] = "re1b";
kipus[1,0] = "r";
kipus[1,1] = "e";
kipus[1,2] = "2";
kipus[1,3] = "b";
kipus[1,4] = "1";
kipus[1,5] = "re2b";
kipus[2,0] = "r";
kipus[2,1] = "e";
kipus[2,2] = "3";
kipus[2,3] = "b";
kipus[2,4] = "1";
kipus[2,5] = "re3b";
kipus[3,0] = "n";
kipus[3,1] = "c";
kipus[3,2] = "1";
kipus[3,3] = "b";
kipus[3,4] = "1";
kipus[3,5] = "nc1b";
kipus[4,0] = "n";
kipus[4,1] = "c";
kipus[4,2] = "2";
kipus[4,3] = "b";
kipus[4,4] = "1";
kipus[4,5] = "nc2b";
kipus[5,0] = "n";
kipus[5,1] = "c";

kipus[5,2] = "3";
kipus[5,3] = "b";
kipus[5,4] = "1";
kipus[5,5] = "nc3b";
kipus[6,0] = "n";
kipus[6,1] = "t";
kipus[6,2] = "1";
kipus[6,3] = "b";
kipus[6,4] = "1";
kipus[6,5] = "nt1b";
kipus[7,0] = "n";
kipus[7,1] = "t";
kipus[7,2] = "2";
kipus[7,3] = "b";
kipus[7,4] = "1";
kipus[7,5] = "nt2b";
kipus[8,0] = "n";
kipus[8,1] = "t";
kipus[8,2] = "3";
kipus[8,3] = "b";
kipus[8,4] = "1";
kipus[8,5] = "nt3b";
kipus[9,0] = "r";
kipus[9,1] = "t";
kipus[9,2] = "1";
kipus[9,3] = "b";
kipus[9,4] = "1";
kipus[9,5] = "rt1b";
kipus[10,0] = "r";
kipus[10,1] = "t";
kipus[10,2] = "2";
kipus[10,3] = "b";
kipus[10,4] = "1";
kipus[10,5] = "rt2b";
kipus[11,0] = "r";
kipus[11,1] = "t";
kipus[11,2] = "3";
kipus[11,3] = "b";

kipus[11,4]
kipus[11,5]
kipus[12,0]
kipus[12,1]
kipus[12,2]
kipus[12,3]
kipus[12,4]
kipus[12,5]
kipus[13,0]
kipus[13,1]
kipus[13,2]
kipus[13,3]
kipus[13,4]
kipus[13,5]
kipus[14,0]
kipus[14,1]
kipus[14,2]
kipus[14,3]
kipus[14,4]
kipus[14,5]
kipus[15,0]
kipus[15,1]
kipus[15,2]
kipus[15,3]
kipus[15,4]
kipus[15,5]
kipus[16,0]
kipus[16,1]
kipus[16,2]
kipus[16,3]
kipus[16,4]
kipus[16,5]
kipus[17,0]
kipus[17,1]
kipus[17,2]
kipus[17,3]
kipus[17,4]
kipus[17,5]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"1";
"rt3b";
"a";
"e";
"1";
"b";
"1";
"ae1b";
"a";
"e";
"2";
"b";
"1";
"ae2b";
"a";
"e";
"3";
"b";
"1";
"ae3b";
"a";
"c";
"1";
"b";
"1";
"ac1b";
"a";
"c";
"2";
"b";
"1";
"ac2b";
"a";
"c";
"3";
"b";
"1";
"ac3b";

kipus[18,0]
kipus[18,1]
kipus[18,2]
kipus[18,3]
kipus[18,4]
kipus[18,5]
kipus[19,0]
kipus[19,1]
kipus[19,2]
kipus[19,3]
kipus[19,4]
kipus[19,5]
kipus[20,0]
kipus[20,1]
kipus[20,2]
kipus[20,3]
kipus[20,4]
kipus[20,5]
kipus[21,0]
kipus[21,1]
kipus[21,2]
kipus[21,3]
kipus[21,4]
kipus[21,5]
kipus[22,0]
kipus[22,1]
kipus[22,2]
kipus[22,3]
kipus[22,4]
kipus[22,5]
kipus[23,0]
kipus[23,1]
kipus[23,2]
kipus[23,3]
kipus[23,4]
kipus[23,5]
kipus[24,0]
kipus[24,1]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"a";
"e";
"1";
"p";
"1";
"ae1p";
"a";
"e";
"2";
"p";
"1";
"ae2p";
"a";
"e";
"3";
"p";
"1";
"ae3p";
"n";
"c";
"1";
"p";
"1";
"nc1p";
"n";
"c";
"2";
"p";
"1";
"nc2p";
"n";
"c";
"3";
"p";
"1";
"nc3p";
"n";
"t";

kipus[24,2]
kipus[24,3]
kipus[24,4]
kipus[24,5]
kipus[25,0]
kipus[25,1]
kipus[25,2]
kipus[25,3]
kipus[25,4]
kipus[25,5]
kipus[26,0]
kipus[26,1]
kipus[26,2]
kipus[26,3]
kipus[26,4]
kipus[26,5]
kipus[27,0]
kipus[27,1]
kipus[27,2]
kipus[27,3]
kipus[27,4]
kipus[27,5]
kipus[28,0]
kipus[28,1]
kipus[28,2]
kipus[28,3]
kipus[28,4]
kipus[28,5]
kipus[29,0]
kipus[29,1]
kipus[29,2]
kipus[29,3]
kipus[29,4]
kipus[29,5]
kipus[30,0]
kipus[30,1]
kipus[30,2]
kipus[30,3]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"1";
"p";
"1";
"nt1p";
"n";
"t";
"2";
"p";
"1";
"nt2p";
"n";
"t";
"3";
"p";
"1";
"nt3p";
"r";
"e";
"1";
"p";
"1";
"re1p";
"r";
"e";
"2";
"p";
"1";
"re2p";
"r";
"e";
"3";
"p";
"1";
"re3p";
"r";
"t";
"1";
"p";

kipus[30,4]
kipus[30,5]
kipus[31,0]
kipus[31,1]
kipus[31,2]
kipus[31,3]
kipus[31,4]
kipus[31,5]
kipus[32,0]
kipus[32,1]
kipus[32,2]
kipus[32,3]
kipus[32,4]
kipus[32,5]
kipus[33,0]
kipus[33,1]
kipus[33,2]
kipus[33,3]
kipus[33,4]
kipus[33,5]
kipus[34,0]
kipus[34,1]
kipus[34,2]
kipus[34,3]
kipus[34,4]
kipus[34,5]
kipus[35,0]
kipus[35,1]
kipus[35,2]
kipus[35,3]
kipus[35,4]
kipus[35,5]
kipus[36,0]
kipus[36,1]
kipus[36,2]
kipus[36,3]
kipus[36,4]
kipus[36,5]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"1";
"rt1p";
"r";
"t";
"2";
"p";
"1";
"rt2p";
"r";
"t";
"3";
"p";
"1";
"rt3p";
"a";
"c";
"1";
"p";
"1";
"ac1p";
"a";
"c";
"2";
"p";
"1";
"ac2p";
"a";
"c";
"3";
"p";
"1";
"ac3p";
"n";
"c";
"1";
"s";
"1";
"nc1n";

kipus[37,0]
kipus[37,1]
kipus[37,2]
kipus[37,3]
kipus[37,4]
kipus[37,5]
kipus[38,0]
kipus[38,1]
kipus[38,2]
kipus[38,3]
kipus[38,4]
kipus[38,5]
kipus[39,0]
kipus[39,1]
kipus[39,2]
kipus[39,3]
kipus[39,4]
kipus[39,5]
kipus[40,0]
kipus[40,1]
kipus[40,2]
kipus[40,3]
kipus[40,4]
kipus[40,5]
kipus[41,0]
kipus[41,1]
kipus[41,2]
kipus[41,3]
kipus[41,4]
kipus[41,5]
kipus[42,0]
kipus[42,1]
kipus[42,2]
kipus[42,3]
kipus[42,4]
kipus[42,5]
kipus[43,0]
kipus[43,1]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"n";
"c";
"2";
"s";
"1";
"nc2n";
"n";
"c";
"3";
"s";
"1";
"nc3n";
"n";
"t";
"1";
"s";
"1";
"nt1n";
"n";
"t";
"2";
"s";
"1";
"nt2n";
"n";
"t";
"3";
"s";
"1";
"nt3n";
"a";
"e";
"1";
"s";
"1";
"ae1a";
"a";
"e";

kipus[43,2]
kipus[43,3]
kipus[43,4]
kipus[43,5]
kipus[44,0]
kipus[44,1]
kipus[44,2]
kipus[44,3]
kipus[44,4]
kipus[44,5]
kipus[45,0]
kipus[45,1]
kipus[45,2]
kipus[45,3]
kipus[45,4]
kipus[45,5]
kipus[46,0]
kipus[46,1]
kipus[46,2]
kipus[46,3]
kipus[46,4]
kipus[46,5]
kipus[47,0]
kipus[47,1]
kipus[47,2]
kipus[47,3]
kipus[47,4]
kipus[47,5]
kipus[48,0]
kipus[48,1]
kipus[48,2]
kipus[48,3]
kipus[48,4]
kipus[48,5]
kipus[49,0]
kipus[49,1]
kipus[49,2]
kipus[49,3]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"2";
"s";
"1";
"ae2a";
"a";
"e";
"3";
"s";
"1";
"ae3a";
"a";
"c";
"1";
"s";
"1";
"ac1a";
"a";
"c";
"2";
"s";
"1";
"ac2a";
"a";
"c";
"3";
"s";
"1";
"ac3a";
"r";
"e";
"1";
"s";
"1";
"re1r";
"r";
"e";
"2";
"s";

kipus[49,4]
kipus[49,5]
kipus[50,0]
kipus[50,1]
kipus[50,2]
kipus[50,3]
kipus[50,4]
kipus[50,5]
kipus[51,0]
kipus[51,1]
kipus[51,2]
kipus[51,3]
kipus[51,4]
kipus[51,5]
kipus[52,0]
kipus[52,1]
kipus[52,2]
kipus[52,3]
kipus[52,4]
kipus[52,5]
kipus[53,0]
kipus[53,1]
kipus[53,2]
kipus[53,3]
kipus[53,4]
kipus[53,5]
kipus[54,0]
kipus[54,1]
kipus[54,2]
kipus[54,3]
kipus[54,4]
kipus[54,5]
kipus[55,0]
kipus[55,1]
kipus[55,2]
kipus[55,3]
kipus[55,4]
kipus[55,5]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"1";
"re2r";
"r";
"e";
"3";
"s";
"1";
"re3r";
"r";
"t";
"1";
"s";
"1";
"rt1r";
"r";
"t";
"2";
"s";
"1";
"rt2r";
"r";
"t";
"3";
"s";
"1";
"rt3r";
"n";
"e";
"1";
"b";
"1";
"ne1b";
"n";
"e";
"2";
"b";
"1";
"ne2b";

kipus[56,0]
kipus[56,1]
kipus[56,2]
kipus[56,3]
kipus[56,4]
kipus[56,5]
kipus[57,0]
kipus[57,1]
kipus[57,2]
kipus[57,3]
kipus[57,4]
kipus[57,5]
kipus[58,0]
kipus[58,1]
kipus[58,2]
kipus[58,3]
kipus[58,4]
kipus[58,5]
kipus[59,0]
kipus[59,1]
kipus[59,2]
kipus[59,3]
kipus[59,4]
kipus[59,5]
kipus[60,0]
kipus[60,1]
kipus[60,2]
kipus[60,3]
kipus[60,4]
kipus[60,5]
kipus[61,0]
kipus[61,1]
kipus[61,2]
kipus[61,3]
kipus[61,4]
kipus[61,5]
kipus[62,0]
kipus[62,1]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"n";
"e";
"3";
"b";
"1";
"ne3b";
"r";
"c";
"1";
"b";
"1";
"rc1b";
"r";
"c";
"2";
"b";
"1";
"rc2b";
"r";
"c";
"3";
"b";
"1";
"rc3b";
"n";
"e";
"1";
"p";
"1";
"ne1p";
"n";
"e";
"2";
"p";
"1";
"ne2p";
"n";
"e";

kipus[62,2]
kipus[62,3]
kipus[62,4]
kipus[62,5]
kipus[63,0]
kipus[63,1]
kipus[63,2]
kipus[63,3]
kipus[63,4]
kipus[63,5]
kipus[64,0]
kipus[64,1]
kipus[64,2]
kipus[64,3]
kipus[64,4]
kipus[64,5]
kipus[65,0]
kipus[65,1]
kipus[65,2]
kipus[65,3]
kipus[65,4]
kipus[65,5]
kipus[66,0]
kipus[66,1]
kipus[66,2]
kipus[66,3]
kipus[66,4]
kipus[66,5]
kipus[67,0]
kipus[67,1]
kipus[67,2]
kipus[67,3]
kipus[67,4]
kipus[67,5]
kipus[68,0]
kipus[68,1]
kipus[68,2]
kipus[68,3]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"3";
"p";
"1";
"ne3p";
"r";
"c";
"1";
"p";
"1";
"rc1p";
"r";
"c";
"2";
"p";
"1";
"rc2p";
"r";
"c";
"3";
"p";
"1";
"rc3p";
"a";
"t";
"1";
"b";
"1";
"at1b";
"a";
"t";
"2";
"b";
"1";
"at2b";
"a";
"t";
"3";
"b";

kipus[68,4]
kipus[68,5]
kipus[69,0]
kipus[69,1]
kipus[69,2]
kipus[69,3]
kipus[69,4]
kipus[69,5]
kipus[70,0]
kipus[70,1]
kipus[70,2]
kipus[70,3]
kipus[70,4]
kipus[70,5]
kipus[71,0]
kipus[71,1]
kipus[71,2]
kipus[71,3]
kipus[71,4]
kipus[71,5]
kipus[72,0]
kipus[72,1]
kipus[72,2]
kipus[72,3]
kipus[72,4]
kipus[72,5]
kipus[73,0]
kipus[73,1]
kipus[73,2]
kipus[73,3]
kipus[73,4]
kipus[73,5]
kipus[74,0]
kipus[74,1]
kipus[74,2]
kipus[74,3]
kipus[74,4]
kipus[74,5]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"1";
"at3b";
"a";
"t";
"1";
"p";
"1";
"at1p";
"a";
"t";
"2";
"p";
"1";
"at2p";
"a";
"t";
"3";
"p";
"1";
"at3p";
"n";
"e";
"1";
"s";
"1";
"ne1n";
"n";
"e";
"2";
"s";
"1";
"ne2n";
"n";
"e";
"3";
"s";
"1";
"ne3n";

kipus[75,0]
kipus[75,1]
kipus[75,2]
kipus[75,3]
kipus[75,4]
kipus[75,5]
kipus[76,0]
kipus[76,1]
kipus[76,2]
kipus[76,3]
kipus[76,4]
kipus[76,5]
kipus[77,0]
kipus[77,1]
kipus[77,2]
kipus[77,3]
kipus[77,4]
kipus[77,5]
kipus[78,0]
kipus[78,1]
kipus[78,2]
kipus[78,3]
kipus[78,4]
kipus[78,5]
kipus[79,0]
kipus[79,1]
kipus[79,2]
kipus[79,3]
kipus[79,4]
kipus[79,5]
kipus[80,0]
kipus[80,1]
kipus[80,2]
kipus[80,3]
kipus[80,4]
kipus[80,5]

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"r";
"c";
"1";
"s";
"1";
"rc1r";
"r";
"c";
"2";
"s";
"1";
"rc2r";
"r";
"c";
"3";
"s";
"1";
"rc3r";
"a";
"t";
"1";
"s";
"1";
"at1a";
"a";
"t";
"2";
"s";
"1";
"at2a";
"a";
"t";
"3";
"s";
"1";
"at3a";

}
protected void barajar()-> Procedimiento que baraja los kipus cargados

{
List<int> numeros = new List<int>();
Random rnumero = new Random();
while (numeros.Count <= 80)-> Algoritmo que genera nmeros aleatorios del 0 hasta el 80.
{
int num = rnumero.Next(0, 80);
if ((!numeros.Contains(num)))
{
numeros.Add(num);
}
if (numeros.Count==80)
{
for (int j = 0; j < 81; j++)
{
if ((!numeros.Contains(j)))
{
numeros.Add(j);
}
}
}
}
for (int i = 0; i < 81; i++)-> Proceso que toma los kipus del arreglo kipus y los asigna al arreglo kipusbarajo de acuerdo a los nmeros de
posiciones obtenidas aleatoriamente del proceso anterior.
{
kipusbarajado[i, 0] = kipus[numeros[i], 0];
kipusbarajado[i, 1] = kipus[numeros[i], 1];
kipusbarajado[i, 2] = kipus[numeros[i], 2];
kipusbarajado[i, 3] = kipus[numeros[i], 3];
kipusbarajado[i, 4] = kipus[numeros[i], 4];
kipusbarajado[i, 5] = kipus[numeros[i], 5];
}
int car=-1;
foreach (Control cComprobar in groupBox1.Controls)->Proceso que muestra 12 kipus en el tablero comprobando que no exista
repeticin

{
if (cComprobar is PictureBox)
{

do
{

car = car + 1;
} while (kipusbarajado[car, 4] == "0");
if (cComprobar.Tag!=null)
{
if (cComprobar.Tag.ToString()!=car.ToString())
{
cComprobar.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath,
string.Format("Imagenes\\{0}", kipusbarajado[car, 5] + ".jpg")));
cComprobar.Tag = car;
kipusbarajado[car, 4] = "0";->Instruccin que indica que ya fue usado un kipus
car = car + 1;
}
else
{
kipusbarajado[car, 4] = "0";
}
}
else
{
cComprobar.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath,
string.Format("Imagenes\\{0}", kipusbarajado[car, 5] + ".jpg")));
cComprobar.Tag = car;
kipusbarajado[car, 4] = "0";
car = car + 1;
}

}
}
pictureBox14.Image = null;
pictureBox15.Image = null;
pictureBox16.Image = null;
pictureBox14.Tag = null;
pictureBox15.Tag = null;
pictureBox16.Tag = null;
nkipus();

private void button1_Click(object sender, EventArgs e)


{
if (pictureBox14.Image != null || pictureBox15.Image != null || pictureBox16.Image != null || txtchacanas.Text!="0")
{
if (MessageBox.Show("Esta opcin realiza un nuevo juego, perder todas las ChaKanas ganadas\n\rDesea continuar?", "Mensaje de
ChaKana", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
barajar();
inicializar();
button2.Enabled = true;
button5.Enabled = true;
timer1.Enabled = true;
}

}
else
{
barajar();
inicializar();
button2.Enabled = true;
button5.Enabled = true;
timer1.Enabled = true;
}
contardeshaser();
verificar();

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)


{
try
{
if (pictureBox1.BackgroundImage != null)
{
pictureBox1.DoDragDrop(pictureBox1.Tag.ToString(), DragDropEffects.Move);
}
}
catch

{}

//label4.Text=pictureBox1.Tag.ToString();

private void pictureBox2_MouseDown(object sender, MouseEventArgs e)


{
try
{
if (pictureBox2.BackgroundImage != null)
{
pictureBox2.DoDragDrop(pictureBox2.Tag.ToString(), DragDropEffects.Move);
}
}
catch { }
}
private void pictureBox16_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void pictureBox15_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void pictureBox14_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void pictureBox3_MouseDown(object sender, MouseEventArgs e)
{
try {
if (pictureBox3.BackgroundImage!=null)
{

pictureBox3.DoDragDrop(pictureBox3.Tag.ToString(), DragDropEffects.Move);
}

}
catch { }

private void pictureBox4_MouseDown(object sender, MouseEventArgs e)


{
try
{
if (pictureBox4.BackgroundImage != null)
{
pictureBox4.DoDragDrop(pictureBox4.Tag.ToString(), DragDropEffects.Move);
}
}
catch { }
}
private void pictureBox8_MouseDown(object sender, MouseEventArgs e)
{
try
{
if (pictureBox8.BackgroundImage != null)
{
pictureBox8.DoDragDrop(pictureBox8.Tag.ToString(), DragDropEffects.Move);
}
}
catch { }
}
private void pictureBox7_MouseDown(object sender, MouseEventArgs e)
{
try
{
if (pictureBox7.BackgroundImage != null)
{
pictureBox7.DoDragDrop(pictureBox7.Tag.ToString(), DragDropEffects.Move);
}

}
catch { }

private void pictureBox6_MouseDown(object sender, MouseEventArgs e)


{
try
{
if (pictureBox6.BackgroundImage != null)
{
pictureBox6.DoDragDrop(pictureBox6.Tag.ToString(), DragDropEffects.Move);
}
}
catch { }
}
private void pictureBox5_MouseDown(object sender, MouseEventArgs e)
{
try
{
if (pictureBox5.BackgroundImage != null)
{
pictureBox5.DoDragDrop(pictureBox5.Tag.ToString(), DragDropEffects.Move);
}
}
catch { }
}
private void pictureBox9_MouseDown(object sender, MouseEventArgs e)
{
try
{
if (pictureBox9.BackgroundImage != null)
{
pictureBox9.DoDragDrop(pictureBox9.Tag.ToString(), DragDropEffects.Move);
}
}
catch { }

}
private void pictureBox10_MouseDown(object sender, MouseEventArgs e)
{
try
{
if (pictureBox10.BackgroundImage != null)
{
pictureBox10.DoDragDrop(pictureBox10.Tag.ToString(), DragDropEffects.Move);
}
}
catch { }
}
private void pictureBox11_MouseDown(object sender, MouseEventArgs e)
{
try
{
if (pictureBox11.BackgroundImage != null)
{
pictureBox11.DoDragDrop(pictureBox11.Tag.ToString(), DragDropEffects.Move);
}
}
catch { }
}
private void pictureBox12_MouseDown(object sender, MouseEventArgs e)
{
try
{
if (pictureBox12.BackgroundImage != null)
{
pictureBox12.DoDragDrop(pictureBox12.Tag.ToString(), DragDropEffects.Move);
}
}
catch { }
}

private void pictureBox16_DragDrop(object sender, DragEventArgs e)


{
if (pictureBox16.Tag==null)
{
if (button3.Enabled == false)
{
button3.Enabled = true;
}
deshaser[des, 0] = "pictureBox16";
pictureBox16.Tag = e.Data.GetData(DataFormats.Text);
pictureBox16.Image = new System.Drawing.Bitmap(Path.Combine(Application.StartupPath, string.Format("Imagenes\\{0}",
kipusbarajado[int.Parse(pictureBox16.Tag.ToString()), 5] + ".jpg")));
int pic = int.Parse(pictureBox16.Tag.ToString());
quitaimage(pic);
comprobar();
}
}
protected void quitaimage(int pic)-> Procedimiento que quita los kipus del tablero principal para asignarlo al tablero secundario de 3 kipus
{
if (pictureBox1.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox1";
deshaser[des, 2] = pictureBox1.Tag.ToString();
if (des<=2)
{
des = des + 1;
}
pictureBox1.BackgroundImage = null;
}
if (pictureBox2.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox2";
deshaser[des, 2] = pictureBox2.Tag.ToString();
if (des <=2)
{
des = des + 1;
}
pictureBox2.BackgroundImage = null;

}
if (pictureBox3.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox3";
deshaser[des, 2] = pictureBox3.Tag.ToString();
if (des <=2)
{
des = des + 1;
}
pictureBox3.BackgroundImage = null;
}
if (pictureBox4.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox4";
deshaser[des, 2] = pictureBox4.Tag.ToString();
if (des <=2)
{
des = des + 1;
}
pictureBox4.BackgroundImage = null;
}
if (pictureBox5.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox5";
deshaser[des, 2] = pictureBox5.Tag.ToString();
if (des <=2)
{
des = des + 1;
}
pictureBox5.BackgroundImage = null;
}
if (pictureBox6.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox6";
deshaser[des, 2] = pictureBox6.Tag.ToString();
if (des <=2)
{
des = des + 1;

}
pictureBox6.BackgroundImage = null;

}
if (pictureBox7.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox7";
deshaser[des, 2] = pictureBox7.Tag.ToString();
if (des <=2)
{
des = des + 1;
}
pictureBox7.BackgroundImage = null;
}
if (pictureBox8.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox8";
deshaser[des, 2] = pictureBox8.Tag.ToString();
if (des <=2)
{
des = des + 1;
}
pictureBox8.BackgroundImage = null;
}
if (pictureBox9.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox9";
deshaser[des, 2] = pictureBox9.Tag.ToString();
if (des <=2)
{
des = des + 1;
}
pictureBox9.BackgroundImage = null;
}
if (pictureBox10.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox10";
deshaser[des, 2] = pictureBox10.Tag.ToString();
if (des <=2)

{
des = des + 1;
}
pictureBox10.BackgroundImage = null;

}
if (pictureBox11.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox11";
deshaser[des, 2] = pictureBox11.Tag.ToString();
if (des <=2)
{
des = des + 1;
}
pictureBox11.BackgroundImage = null;
}
if (pictureBox12.Tag.ToString() == pic.ToString())
{
deshaser[des, 1] = "pictureBox12";
deshaser[des, 2] = pictureBox12.Tag.ToString();
if (des <=2)
{
des = des + 1;
}
pictureBox12.BackgroundImage = null;
}
}
private void pictureBox15_DragDrop(object sender, DragEventArgs e)
{
if (pictureBox15.Tag == null)
{
if (button3.Enabled == false)
{
button3.Enabled = true;
}
deshaser[des, 0] = "pictureBox15";
pictureBox15.Tag = e.Data.GetData(DataFormats.Text);

pictureBox15.Image = new System.Drawing.Bitmap(Path.Combine(Application.StartupPath, string.Format("Imagenes\\{0}",


kipusbarajado[int.Parse(pictureBox15.Tag.ToString()), 5] + ".jpg")));
int pic = int.Parse(pictureBox15.Tag.ToString());
quitaimage(pic);
comprobar();
}
}
private void pictureBox14_DragDrop(object sender, DragEventArgs e)
{
if (pictureBox14.Tag == null)
{
if (button3.Enabled==false)
{
button3.Enabled = true;
}
deshaser[des, 0] = "pictureBox14";
//deshaser[des, 1] = pictureBox14.Tag.ToString();
pictureBox14.Tag = e.Data.GetData(DataFormats.Text);
pictureBox14.Image = new System.Drawing.Bitmap(Path.Combine(Application.StartupPath, string.Format("Imagenes\\{0}",
kipusbarajado[int.Parse(pictureBox14.Tag.ToString()), 5] + ".jpg")));
int pic = int.Parse(pictureBox14.Tag.ToString());
quitaimage(pic);
comprobar();
contardeshaser();
}
}
private void comprobar()-> Procedimiento que se encarga de comprobar las 15 reglas para la obtencin de una chakana
{
int imagen1, imagen2, imagen3,regla=0;
bool cha = false;
if (pictureBox14.Tag != null && pictureBox15.Tag != null && pictureBox16.Tag != null)
{
imagen1 = int.Parse(pictureBox14.Tag.ToString());
imagen2 = int.Parse(pictureBox15.Tag.ToString());
imagen3 = int.Parse(pictureBox16.Tag.ToString());
if (kipusbarajado[imagen1, 0] == kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] == kipusbarajado[imagen1, 0])
{

if (kipusbarajado[imagen1, 1] == kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] == kipusbarajado[imagen1, 1])


{
if (kipusbarajado[imagen1, 3] == kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] == kipusbarajado[imagen1, 3])
{
if (kipusbarajado[imagen1, 2] != kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] != kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen2, 2] != kipusbarajado[imagen3, 2])
{
cha = true;
regla = 1;
}
}

}
if (kipusbarajado[imagen1, 0] == kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] == kipusbarajado[imagen1, 0])
{
if (kipusbarajado[imagen1, 1] == kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] == kipusbarajado[imagen1, 1])
{
if (kipusbarajado[imagen1, 2] == kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] == kipusbarajado[imagen1, 2])
{
if (kipusbarajado[imagen1, 3] != kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] != kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] != kipusbarajado[imagen3, 3])
{
regla = 2;
cha = true;
}
}

}
if (kipusbarajado[imagen1, 0] == kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] == kipusbarajado[imagen1, 0])
{
if (kipusbarajado[imagen1, 3] == kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] == kipusbarajado[imagen1, 3])
{
if (kipusbarajado[imagen1, 2] == kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] == kipusbarajado[imagen1, 2])
{
if (kipusbarajado[imagen1, 1] != kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] != kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] != kipusbarajado[imagen3, 1])

{
regla = 3;
cha = true;
}
}

}
if (kipusbarajado[imagen1, 1] == kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] == kipusbarajado[imagen1, 1])
{
if (kipusbarajado[imagen1, 3] == kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] == kipusbarajado[imagen1, 3])
{
if (kipusbarajado[imagen1, 2] == kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] == kipusbarajado[imagen1, 2])
{
if (kipusbarajado[imagen1, 0] != kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] != kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen2, 0] != kipusbarajado[imagen3, 0])
{
regla = 4;
cha = true;
}
}

}
if (kipusbarajado[imagen1, 1] != kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] != kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] != kipusbarajado[imagen3, 1])
{
if (kipusbarajado[imagen1, 3] != kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] != kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] != kipusbarajado[imagen3, 3])
{
if (kipusbarajado[imagen1, 2] == kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] == kipusbarajado[imagen1, 2])
{
if (kipusbarajado[imagen1, 0] != kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] != kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen2, 0] != kipusbarajado[imagen3, 0])
{
regla = 5;
cha = true;
}

}
if (kipusbarajado[imagen1, 1] != kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] != kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] != kipusbarajado[imagen3, 1])
{
if (kipusbarajado[imagen1, 2] != kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] != kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen2, 2] != kipusbarajado[imagen3, 2])
{
if (kipusbarajado[imagen1, 3] == kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] == kipusbarajado[imagen1, 3])
{
if (kipusbarajado[imagen1, 0] != kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] != kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen2, 0] != kipusbarajado[imagen3, 0])
{
regla = 6;
cha = true;
}
}

}
if (kipusbarajado[imagen1, 3] != kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] != kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] != kipusbarajado[imagen3, 3])
{
if (kipusbarajado[imagen1, 2] != kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] != kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen2, 2] != kipusbarajado[imagen3, 2])
{
if (kipusbarajado[imagen1, 1] == kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] == kipusbarajado[imagen1, 1])
{
if (kipusbarajado[imagen1, 0] != kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] != kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen2, 0] != kipusbarajado[imagen3, 0])
{
regla = 7;
cha = true;
}
}

}
}
if (kipusbarajado[imagen1, 3] != kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] != kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] != kipusbarajado[imagen3, 3])
{
if (kipusbarajado[imagen1, 2] != kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] != kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen2, 2] != kipusbarajado[imagen3, 2])
{
if (kipusbarajado[imagen1, 0] == kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] == kipusbarajado[imagen1, 0])
{
if (kipusbarajado[imagen1, 1] != kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] != kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] != kipusbarajado[imagen3, 1])
{
regla = 8;
cha = true;
}
}

}
//NUEVOS//
if (kipusbarajado[imagen1, 0] == kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] == kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen2, 0] == kipusbarajado[imagen3, 0])
{
if (kipusbarajado[imagen1, 1] == kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] == kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] == kipusbarajado[imagen3, 1])
{
if (kipusbarajado[imagen1, 2] != kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] != kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen3, 2] != kipusbarajado[imagen2, 2])
{
if (kipusbarajado[imagen1, 3] != kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] != kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] != kipusbarajado[imagen3, 3])
{
regla = 9;
cha = true;
}
}

}
}
if (kipusbarajado[imagen1, 0] == kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] == kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen2, 0] == kipusbarajado[imagen3, 0])
{
if (kipusbarajado[imagen1, 3] == kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] == kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] == kipusbarajado[imagen3, 3])
{
if (kipusbarajado[imagen1, 2] != kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] != kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen3, 2] != kipusbarajado[imagen2, 2])
{
if (kipusbarajado[imagen1, 1] != kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] != kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] != kipusbarajado[imagen3, 1])
{
regla = 10;
cha = true;
}
}
}

}
if (kipusbarajado[imagen1, 0] == kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] == kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen2, 0] == kipusbarajado[imagen3, 0])
{
if (kipusbarajado[imagen1, 2] == kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] == kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen2, 2] == kipusbarajado[imagen3, 2])
{
if (kipusbarajado[imagen1, 1] != kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] != kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen3, 1] != kipusbarajado[imagen2, 1])
{
if (kipusbarajado[imagen1, 3] != kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] != kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] != kipusbarajado[imagen3, 3])
{
regla = 11;
cha = true;
}
}

}
}
if (kipusbarajado[imagen1, 1] == kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] == kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] == kipusbarajado[imagen3, 1])
{
if (kipusbarajado[imagen1, 3] == kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] == kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] == kipusbarajado[imagen3, 3])
{
if (kipusbarajado[imagen1, 0] != kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] != kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen3, 0] != kipusbarajado[imagen2, 0])
{
if (kipusbarajado[imagen1, 2] != kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] != kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen2, 2] != kipusbarajado[imagen3, 2])
{
regla = 12;
cha = true;
}
}
}

}
if (kipusbarajado[imagen1, 1] == kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] == kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] == kipusbarajado[imagen3, 1])
{
if (kipusbarajado[imagen1, 2] == kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] == kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen2, 2] == kipusbarajado[imagen3, 2])
{
if (kipusbarajado[imagen1, 0] != kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] != kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen3, 0] != kipusbarajado[imagen2, 0])
{
if (kipusbarajado[imagen1, 3] != kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] != kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] != kipusbarajado[imagen3, 3])
{
regla = 13;
cha = true;
}
}

}
}
if (kipusbarajado[imagen1, 3] == kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] == kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] == kipusbarajado[imagen3, 3])
{
if (kipusbarajado[imagen1, 2] == kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] == kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen2, 2] == kipusbarajado[imagen3, 2])
{
if (kipusbarajado[imagen1, 0] != kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] != kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen3, 0] != kipusbarajado[imagen2, 0])
{
if (kipusbarajado[imagen1, 1] != kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] != kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] != kipusbarajado[imagen3, 1])
{
regla = 14;
cha = true;
}
}
}

}
if (kipusbarajado[imagen1, 3] != kipusbarajado[imagen2, 3] && kipusbarajado[imagen3, 3] != kipusbarajado[imagen1, 3] &&
kipusbarajado[imagen2, 3] != kipusbarajado[imagen3, 3])
{
if (kipusbarajado[imagen1, 2] != kipusbarajado[imagen2, 2] && kipusbarajado[imagen3, 2] != kipusbarajado[imagen1, 2] &&
kipusbarajado[imagen2, 2] != kipusbarajado[imagen3, 2])
{
if (kipusbarajado[imagen1, 0] != kipusbarajado[imagen2, 0] && kipusbarajado[imagen3, 0] != kipusbarajado[imagen1, 0] &&
kipusbarajado[imagen3, 0] != kipusbarajado[imagen2, 0])
{
if (kipusbarajado[imagen1, 1] != kipusbarajado[imagen2, 1] && kipusbarajado[imagen3, 1] != kipusbarajado[imagen1, 1] &&
kipusbarajado[imagen2, 1] != kipusbarajado[imagen3, 1])
{
regla = 15;
cha = true;
}
}

}
}
if (cha)
{
timer1.Stop();
cronometro = 0;
chananas[cchacanas, 0]
chananas[cchacanas, 1]
chananas[cchacanas, 2]
chananas[cchacanas, 3]
kipusbarajado[imagen1,
kipusbarajado[imagen2,
kipusbarajado[imagen3,

= kipusbarajado[imagen1,5];
= kipusbarajado[imagen2, 5];
= kipusbarajado[imagen3, 5];
= regla.ToString()+" Tiempo: "+txtcronometro.Text;
4]="0";
4]="0";
4]="0";

if (cchacanasechas==27)
{
MessageBox.Show("Conseguiste todas las ChaKanas, FELICIDADES", "ChaKana", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtcronometro.Text = "0 seg.";
}
else
{
MessageBox.Show("Conseguiste una ChaKana, sigue as", "ChaKana", MessageBoxButtons.OK, MessageBoxIcon.Information);
txtcronometro.Text = "0 seg.";
timer1.Start();
}
try
{
pictureBox16.Image = null;
pictureBox15.Image = null;
pictureBox14.Image = null;
}
catch
{
}

pictureBox16.Tag = null;
pictureBox15.Tag = null;
pictureBox14.Tag = null;
cchacanasechas = cchacanasechas + 1;
cchacanas = cchacanasechas;
txtchacanas.Text = cchacanasechas.ToString();
deshaser[0, 1] = "nada";
deshaser[1, 1] = "nada";
deshaser[2, 1] = "nada";
nuevastres();
if(int.Parse(txtkipus.Text)<40)
{
mazo.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath, string.Format("Imagenes\\
{0}", "cartasm.png")));
}
if (int.Parse(txtkipus.Text) < 10)
{
mazo.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath, string.Format("Imagenes\\
{0}", "cartasf.jpg")));
}
if (int.Parse(txtkipus.Text) == 0)
{
mazo.BackgroundImage = null;
}
des = 0;
nkipus();
}
else
{
MessageBox.Show("Esa no es una ChaKana, prueba otra vez", "ChaKana", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
contardeshaser();
}
protected void nkipus()-> Procedimeinto que cuenta la cantidad kipus disponibles en el arreglo kipusbarajado
{
int ckipus = 0;
for (int i = 0; i < 81; i++)

{
if (kipusbarajado[i,4]=="1")
{
ckipus = ckipus + 1;
}
}
txtkipus.Text = ckipus.ToString();
}
protected void nuevastres()-> Procedimeinto que toma tres kipus nuevos cuando se consigue una chakana
{
foreach(Control cComprobar in groupBox1.Controls)
{
if (cComprobar is PictureBox)
{
if(cComprobar.BackgroundImage==null)
{
int car = -1;
do
{
car = car + 1;
} while (kipusbarajado[car, 4] == "0" && car<80);
if (car < 81)
{
if (kipusbarajado[car, 4] == "1")
{
if (cComprobar.Tag != null)
{
if (cComprobar.Tag.ToString() != car.ToString())
{
cComprobar.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath,
string.Format("Imagenes\\{0}", kipusbarajado[car, 5] + ".jpg")));
cComprobar.Tag = car;
kipusbarajado[car, 4] = "0";
}
else
{
kipusbarajado[car, 4] = "0";
}

}
else
{
cComprobar.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath,
string.Format("Imagenes\\{0}", kipusbarajado[car, 5] + ".jpg")));
cComprobar.Tag = car;
kipusbarajado[car, 4] = "0";
}
}

}
nkipus();

private void verificar()-> Procedimiento que recorre los 12 kipus ubicados en el tablero principal y determina si existe una chakana posible.
{
bool cha = false;
foreach (Control cComprobar in groupBox1.Controls)
{
if (cComprobar is PictureBox)
{
if (cComprobar.BackgroundImage != null)
{
foreach (Control cComprobar2 in groupBox1.Controls)
{
if (cComprobar2 is PictureBox)
{
if (cComprobar2.BackgroundImage != null && cComprobar2.Name.ToString()!=cComprobar.Name.ToString())
{
foreach (Control cComprobar3 in groupBox1.Controls)
{
if (cComprobar3 is PictureBox)

{
if (cComprobar3.BackgroundImage != null && cComprobar3.Name.ToString() != cComprobar2.Name.ToString())
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2])
{
cha = true;
}
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] !=

kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] !=


kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
cha = true;
}
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
cha = true;
}
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3])
{

if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0])
{
cha = true;
}
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] != kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] != kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] != kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0])
{
cha = true;
}
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] != kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] != kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] != kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0])
{
cha = true;
}
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] != kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] != kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] != kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1])
{

if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0])
{
cha = true;
}
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] != kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] != kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] != kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
cha = true;
}
}
}

}
//NUEVOS

if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] ==
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
cha = true;
}
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2])

{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
cha = true;
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] == kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
cha = true;
}
}
}

if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] == kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] ==
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2])
{
cha = true;
}
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] == kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0])

{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
cha = true;
}
}

}
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] == kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] == kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] == kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] ==
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
cha = true;
}
}
}

if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] != kipusbarajado[int.Parse(cComprobar2.Tag.ToString()),
3] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3] != kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 3] &&
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 3] != kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 3])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 2] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 2] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 2])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 0] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 0] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 0])
{
if (kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 1] && kipusbarajado[int.Parse(cComprobar2.Tag.ToString()), 1] !=
kipusbarajado[int.Parse(cComprobar3.Tag.ToString()), 1])
{
cha = true;
}
}
}

}
//NUEVOS
}
}
}
}
}
}

}
if (cha==false)
{
MessageBox.Show("No hay ChaKanas posibles");
}
}
private void button2_Click(object sender, EventArgs e)
{
deshaser[0, 1] = "nada";
deshaser[1, 1] = "nada";
deshaser[2, 1] = "nada";
des = 0;
if (txtkipus.Text != "0")
{
foreach (Control cComprobar in groupBox1.Controls)
{
if (cComprobar is PictureBox)
{
if (cComprobar.BackgroundImage != null)
{
kipusbarajado[int.Parse(cComprobar.Tag.ToString()), 4] = "1";
}
}

}
if (pictureBox16.Image!=null)
{
kipusbarajado[int.Parse(pictureBox16.Tag.ToString()), 4] = "1";
pictureBox16.Image = null;
pictureBox16.Tag = null;
}
if (pictureBox15.Image!=null)
{
kipusbarajado[int.Parse(pictureBox15.Tag.ToString()), 4] = "1";
pictureBox15.Image = null;
pictureBox15.Tag = null;
}
if (pictureBox14.Image != null)

kipusbarajado[int.Parse(pictureBox14.Tag.ToString()), 4] = "1";
pictureBox14.Image = null;
pictureBox14.Tag = null;

List<int> numeros = new List<int>();


Random rnumero = new Random();
string[,] kipusbarajado2 = new string[81, 6];
while (numeros.Count <= 80)
{
int num = rnumero.Next(0, 85);
if (num <= 80)
{
if ((!numeros.Contains(num)))
{
numeros.Add(num);
}
if (numeros.Count == 80)
{
for (int j = 0; j < 81; j++)
{
if ((!numeros.Contains(j)))
{
numeros.Add(j);
}
}
}
}
}
int car = -1;
foreach (Control cComprobar in groupBox1.Controls)
{
if (cComprobar is PictureBox)
{
do
{

car = car + 1;
} while (kipusbarajado[numeros[car], 4] == "0");
if (cComprobar.Tag != null)
{
bool repe;
do
{
repe= false;
if (car<80)
{
car = car + 1;
}
foreach (Control cComprobar2 in groupBox1.Controls)
{
if (cComprobar2 is PictureBox)
{
if (cComprobar2.Tag.ToString() == numeros[car].ToString())
{
repe = true;
}
}
}
} while (repe == true);
if (repe==false)
{
cComprobar.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath,
string.Format("Imagenes\\{0}", kipusbarajado[numeros[car], 5] + ".jpg")));
cComprobar.Tag = numeros[car];
kipusbarajado[numeros[car], 4] = "0";
car = car + 1;
}
else
{
kipusbarajado[numeros[car], 4] = "0";
}
}
else
{

cComprobar.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath,
string.Format("Imagenes\\{0}", kipusbarajado[numeros[car], 5] + ".jpg")));
cComprobar.Tag = numeros[car];
kipusbarajado[numeros[car], 4] = "0";
car = car + 1;
}
}
}
nkipus();

}
else
{
MessageBox.Show("No existen ms kipus disponibles", "Aviso - ChaKana", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
contardeshaser();
verificar();

private void button3_Click(object sender, EventArgs e)-> Proceso del botn deshacer
{
contardeshaser();
int desc=0;
if (button3.Text!="Deshacer (0)")
{
if (button3.Text == "Deshacer (1)")
{
desc = 0;
}
if (button3.Text == "Deshacer (2)")
{
desc = 1;
}
if (button3.Text == "Deshacer (3)")
{
desc = 2;
}
if (deshaser[desc, 0].ToString() == "pictureBox16")

{
pictureBox16.Image = null;
pictureBox16.Tag = null;
}
if (deshaser[desc, 0].ToString() == "pictureBox15")
{
pictureBox15.Image = null;
pictureBox15.Tag = null;
}
if (deshaser[desc, 0].ToString() == "pictureBox14")
{
pictureBox14.Image = null;
pictureBox14.Tag = null;
}
foreach (Control cComprobar in groupBox1.Controls)
{
if (cComprobar is PictureBox)
{
if (cComprobar.Name.ToString()==deshaser[desc,1].ToString())
{
kipusbarajado[int.Parse(cComprobar.Tag.ToString()),4]="1";
cComprobar.BackgroundImage = System.Drawing.Bitmap.FromFile(Path.Combine(Application.StartupPath,
string.Format("Imagenes\\{0}", kipusbarajado[int.Parse(deshaser[desc, 2].ToString()), 5] + ".jpg")));
}
}
}
des = des - 1;
if (des > 0)
{
deshaser[desc, 1] = "nada";
//des = des - 1;
}
if (des==0)
{
deshaser[desc, 1] = "nada";
}
}
contardeshaser();

}
private void button4_Click(object sender, EventArgs e)-> Proceso del botn ayuda
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = Path.Combine(Application.StartupPath, string.Format("Doc\\{0}", "ayuda.pdf"));
proc.Start();
proc.Close();
}
private void button5_Click(object sender, EventArgs e)-> Proceso del botn ver chakanas
{
vchacanas forchacanas = new vchacanas(chananas);
forchacanas.Show();
}
private void timer1_Tick(object sender, EventArgs e)-> Proceso que cuenta los segundos transcurridos.
{
cronometro++;
if(cronometro<10)
{
txtcronometro.Text = "0" + cronometro.ToString()+" Seg.";
}
else
{
txtcronometro.Text = cronometro.ToString() + " Seg.";
}
}

S-ar putea să vă placă și