RompeCabezas - Juego 1 - VC# 2012

Hola amigo pues hoy domingo 12 de Mayo del 2013 pues voy a subir algunos proyectos desarrollados en Visual C Sharp, Usando el IDE Visual Studio 2012, son unos juegos sencillo que usan como base los arreglos y los pictureBox.

Este se llama rompecabezas y la idea es de Kenia una alumna del CONALEP Plantel 022 de la Magica Ciudad de Chiapa de Corzo.



Muy bien el objetivo del juego es armar la imagen del perrito que se encuentra a la derecha y unicamente se puede mover la imagen vacia, hacia arriba, abajo, izquierda y derecha.

para ello se utiliza un arreglo de 0 al 8 que hacen de posicion, y por cada posicion una imagen.

0,1,2,
3,4,5,
6,7,8

Por lo que los posibles movimientos para cada posicion son:
0 = 1,3
1 = 0,4,2
2 = 1,5
3 =  0,4,6
4 = 1,5,7,3
5 = 8,4,2
6 = 3,7
7 = 6,4,8
8 = 7,5

Muy bien ahora vamos a analizar el codigo:

creamos un arreglo con todas las imagenes:
        string[] imagenes ={//ubicacion de las imagenes
                            "perrov/ped1.jpg",
                              "perrov/ped2.jpg",
                              "perrov/ped3.jpg",
                              "perrov/ped4.jpg",
                              "perrov/ped5.jpg",
                              "perrov/ped6.jpg" ,      
                               "perrov/ped7.jpg",
                               "perrov/ped8.jpg",
                                "perrov/ped9.jpg",
                          };

        /* 0,1,2
         * 3,4,5
         * 6,7,8
        */
 declaramos tambien un arreglo, llamado arreglo que es el mapa del juego:



        int[] arreglo = {//mapa de juego
                              7,3,2,
                              8,4,5,
                              6,0,1,
                         }; 
 
Crearemos una funcion que nos servira para cambiar la imagen de cada pictureBox de acuerdo a la imagen que contiene los pictures que se le ha dado un clic.



        private void pictures(int posi,int valor)
        {
            switch (posi)
            {
                case 0:
                    pictureBox2.ImageLocation = imagenes[arreglo[valor]];
                    break;
                case 1:
                    pictureBox3.ImageLocation = imagenes[arreglo[valor]];
                    break;
                case 2:
                    pictureBox4.ImageLocation = imagenes[arreglo[valor]];
                    break;
                case 3:
                    pictureBox5.ImageLocation = imagenes[arreglo[valor]];
                    break;
                case 4:
                    pictureBox6.ImageLocation = imagenes[arreglo[valor]];
                    break;
                case 5:
                    pictureBox7.ImageLocation = imagenes[arreglo[valor]];
                    break;
                case 6:
                    pictureBox8.ImageLocation = imagenes[arreglo[valor]];
                    break;
                case 7:
                    pictureBox9.ImageLocation = imagenes[arreglo[valor]];
                    break;
                case 8:
                    pictureBox10.ImageLocation = imagenes[arreglo[valor]];
                    break;
            }
        }


Tambien crearemos una funcion que checa durante cada clic del pictureBox si ya logro armar la imagen completamente:



        private void gano()
        {
            bool Gano = true;
            for (int x = 0; x < 9; x++)
            {
                if(arreglo[x]!=x)
                    Gano=false;
            }
             if(Gano==true)
                 MessageBox.Show("Haz ganado");
        }


muy Bien por ultimo solo tenemos que checar en cada pitureBox que lugar queda libre es por ello que anteriormente checamos los posibles movimientos de cada pictureBox, unicamente voy a colocar el codigo de 3 pictureBox.

private void pictureBox2_Click_1(object sender, EventArgs e)
        {
            if (arreglo[0] != 0)
            {
                if (arreglo[1] == 0)
                {
                    arreglo[1] = arreglo[0];
                    pictures(1, 0);
                    arreglo[0] = 0;
                    pictures(0, 0);
                }
                else if (arreglo[3] == 0)
                {
                    arreglo[3] = arreglo[0];
                    pictures(3, 3);
                    arreglo[0] = 0;
                    pictures(0, 0);
                }
                gano();
            }
        }

        private void pictureBox3_Click(object sender, EventArgs e)
        {
            if (arreglo[1] != 0)
            {
                if (arreglo[0] == 0)
                {
                    arreglo[0] = arreglo[1];
                    pictures(0, 1);
                    arreglo[1] = 0;
                    pictures(1, 1);
                }
                else if (arreglo[2] == 0)
                {
                    arreglo[2] = arreglo[1];
                    pictures(2, 1);
                    arreglo[1] = 0;
                    pictures(1, 1);
                }
                else if (arreglo[4] == 0)
                {
                    arreglo[4] = arreglo[1];
                    pictures(4, 1);
                    arreglo[1] = 0;
                    pictures(1, 1);
                }
                gano();
               
            }
        }

        private void pictureBox4_Click(object sender, EventArgs e)
        {
            if (arreglo[2] != 0)
            {
                if (arreglo[5] == 0)
                {
                    arreglo[5] = arreglo[2];
                    pictures(5, 2);
                    arreglo[2] = 0;
                    pictures(2, 2);
                }
                else if (arreglo[1] == 0)
                {
                    arreglo[1] = arreglo[2];
                    pictures(1, 2);
                    arreglo[2] = 0;
                    pictures(2, 2);
                }
                gano();
            }
        }


Muy espero que les haya quedado claro he aqui el codigo fuente:





Visita mis otras paginas:

Comentarios

  1. Hola amigo me pregunto si podrías subir un juego del ahorcado, en este caso uno con un enunciado bastante peculiar, acá te lo dejo :

    Debe cargar los datos almacenados del archivo PALABRAS.PAL a la estructura Listas circulares Dobles al igual que los datos
    que están almacenados en el archivo ARMAS.ARM en otra estructura del mismo tipo (por ejemplo: Listas circulares
    simples).

    2. Generar dos (2) randoms o números aleatorios (el valor máximo de ser igual a los números de posiciones creados en el
    vector y matriz respectivamente).
    3. Ubicar la palabra y el arma con que se jugara en la partida.
    4. El archivo ARMAS.ARM debe contener el arma (definidos por ustedes) y la cantidad de intentos (debe ser variado).
    5. Para comodidades de ustedes, pueden guardar la palabra a trabajar en un vector de caracteres para un mejor tratamiento y
    comparaciones entre caracteres.
    6. Al finalizar el juego (gane o pierda), debe contener un log llamado REGISTRO.LOG de todas las operaciones realizadas.

    Ojala me puedas ayudar amigo, pienso que como a mi ayudarias mucho a todos los que lo necesiten. Y seria un nuevo juego añadido en tu blog, debe ser realizado en el lenguaje C# elaborado en visual studio express 2012. Un abrazo

    ResponderEliminar
  2. The best live dealer casinos in the UK for 2021 - Casino Sites
    Play 벳 365 한글 Live Dealer Casinos for Real Money. Our 188bet top recommended 먹튀 Live Dealer 승인전화없는 토토 꽁머니 casino 파라오 바카라 sites are: Casino.com, Bet365, William Hill, PlayBet, BetVictor,

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Juego del ahorcado en C# (C Sharp)

Escribiendo en los TextField de un Pdf con Visual Basic y iTextSharp