viernes, 3 de julio de 2009

Proyecto Ajedrez en C#

Hola chicos, había dejado un poco olvidado este proyecto (por todo lo que ha pasado en Honduras con ese Mel y los relajos, no hemos tenido clases..) pero aquí estoy nuevamente y les adjunto el código del archivo de Funciones_Globales donde ya esta terminada la validación de los peones, ojo, cambió un poco porque ahora ya puede capturar piezas contrarias y valida el movimiento de dos y una fila si está en la primera...

**************Código a Pegar*********************

public int Validar_posicion_peon(string color, int f_o, int c_o, int f_d, int c_d)
{
string color_pieza_destino=obtener_color_pieza_pos(f_d,c_d);

if (color == "N")
{
#region evaluar_peon
if (f_o == 1)
{
if ((((f_d == f_o + 1) && (Tablero[f_o + 1, c_d] == "-")) || ((f_d == f_o + 2) && (Tablero[f_o + 2, c_d] == "-") && (Tablero[f_o + 1, c_d] == "-"))) && (c_d == c_o))
{
return 1;
}
else
if (((c_d == c_o + 1) || (c_d == c_o - 1)) && (f_d == f_o + 1) && (color_pieza_destino == "B"))
{
return 1;
}
else
return 2;
}
else
{
if (((f_d == f_o + 1)) && (c_o == c_d) && (Tablero[f_d, c_o] == "-"))
return 1;
else
if (((c_d == c_o + 1) || (c_d == c_o - 1)) && (f_d == f_o + 1) && (color_pieza_destino == "B"))
return 1;
else
return 2;
}
#endregion
}
else
{
#region evaluar_peon
if (f_o == 6)
{
if ((((f_d == f_o - 1) && (Tablero[f_o - 1, c_d] == "-")) || ((f_d == f_o - 2) && (Tablero[f_o - 2, c_d] == "-") && (Tablero[f_o - 1, c_d] == "-"))) && (c_d == c_o))
{
return 1;
}
else
if (((c_d == c_o + 1) || (c_d == c_o - 1)) && (f_d == f_o - 1) && (color_pieza_destino == "N"))
{
return 1;
}
else
return 2;
}
else
{
if (((f_d == f_o - 1)) && (c_o == c_d) && (Tablero[f_d, c_o] == "-"))
return 1;
else
if (((c_d == c_o - 1) || (c_d == c_o + 1)) && (f_d == f_o - 1) && (color_pieza_destino == "N"))
return 1;
else
return 2;
}
#endregion
}
}

En este caso la función ya no necesita llamar la pieza.

18 comentarios:

  1. buenas tardes
    profe entonces este proyecto de ajedrez lo vamos a entregar junto con el otro proyecto que nos habia dejado a y otra cosa profe si no es mucha la molestia y estan amable me puede dar la fecha de inicio examenes del III parcial

    GRACIAS, SALUDOS

    ResponderEliminar
  2. josue Amaya

    Admiro que eres muy educado, la fecha de exmanes es dentro de dos semanas, este lunes, a clases, el proximo a clases y el siguiente a examenes...

    Saludos

    Si, tienen que entregarlo

    ResponderEliminar
  3. Profe vdd q el plano dl ajedrez dbe llevar un nombre para si poder validar los movimientos..
    pero llevo un nombre d frma interna y otro externa vdd???

    ResponderEliminar
  4. Buenas Profesor Elvin, espero este muy bien. Tengo unas dudas....El trabajo del ajedrez es para el dia del examen osea este miercoles?
    Y podria decirme el valor que tiene?


    Le Agradesco por la ayuda, espero despeje mis dudas...saludes

    :::Bryan ArieL:::

    ResponderEliminar
  5. PRIMERO: Hola profe Elvin, quisiera saver si el ejercicio que dejo el lunes 13 de julio de 2009 de My SQL es tarea o solo es un ejercicio para practicar.(Y Para que parcial es?)

    SEGUNDO: Bryan, no seas un chupamedias.........

    jajajajajajajajaja............

    ResponderEliminar
  6. Wizard
    para imprimir un msj de movimiento falto komo puedo hacerlo en X-0??

    PictureBox pic = (PictureBox)sender;
    pic.Image = (Bitmap)e.Data.GetData(DataFormats.Bitmap);

    PictureBox org = (PictureBox)origenes;
    if (imagen == 2)

    esta bien asi esto si se me komplica!!

    ResponderEliminar
  7. wizard para un gane en X-0

    if( Tablero[0, 0] = && Tablero[0, 1] = && Tablero [0, 2]=

    MessageBox.Show("La X Gana!");

    komo seria??
    igualado a k??
    iria en drag & drop verdad??

    ResponderEliminar
  8. una pregunta mas

    tengo k hacer k la X siempre sea primero y k 0 siempre sea 2do?

    si lo tengo k hacer komo seria??? y donde seria el kodigo??

    ResponderEliminar
  9. J'Cruz

    Primero, me haces preguntas demasiado especificas y a la vez generales, seria bueno que como lo has hecho agregues el codigo que tienes y me digas donde no entiendes y que crees que tu que deberia de suceder y como crees que se deberia de hacer..

    Segundo, para que X siempre sea primero declara la variable del Jugador como globlar, similar al ajedrez y como vez en el ejemplo del ajdrez le coloque una B de valor inicial eso quiere decir que asi siempre se que el primero en mover es blancas igual has con X

    lo de validar quien gana tienes que validar

    si todas las columnas de cada fila tienen el mismo signo si no no gana...
    Podrias hacer un FOR e ir sumando cada Signo y si son 3 que salga y ya gano, asi podrias recorres el tablero vertical y horizontal y oblicuo con menos codigo

    El drag and drop es parte de la interfase no tiene que ver con la logica del programa siempre va para que se genere el moviento

    Espero que esto te sirva, me alegra que estes interesado el terminarlo

    Saludos y muchos exitos

    ResponderEliminar
  10. Bryan
    Siento ver demasiado tarde este mensaje, todavia tienes dudas???

    Victor:
    Es solo para practicar, el segundo parcial por cieto que ya pasó pero siempre vemos SQL y segudno, ques chupamediaS? (Cuentale a todo el internet ....)

    Saludos...

    ResponderEliminar
  11. Podria subir el programa completo xfa...

    ResponderEliminar
  12. disculpen io no soi de su clase ni nada quisiera saber si no es mucha molestia el que me pasen el codigo fuente del programa del ajedrez esque me lo encargaron el viernes y lo necesiito urgentemente antes del miercoles por su atencion gracias

    ResponderEliminar
  13. pucha profe espero que no se aya olvidado de mi pero nesecito su ayuda por que estoy ahogado otra ves con ese proyecto toy resiviendo estructurad e datos con su clon veee perdon con el lic galeano y nos dejo este proyecto si no es mucha la molestia nesecitare su apoyo en esto

    ResponderEliminar
  14. parce q mas, venga me gusto mucho ese aporete, pero eso es toda la funcion del juego como tal del ajedrez o solo parte de ella y de ser asi pues si podes distrivuir todo el codigo te lo agradeceria, me encantaria estudiarlo....ok te lo agradezco de todas formas pero si algo me contactas al correo lf.lozanomesa@gmail.com
    ok

    ResponderEliminar
  15. Hola. está interesante el proyecto. pero no sé como seguirles.

    ResponderEliminar
  16. Quiero seguir el proyecto, cómo comienzo.

    ResponderEliminar