• Miércoles 6 de Noviembre de 2024, 01:17

Autor Tema:  Ajedrez Y Damas  (Leído 4595 veces)

krouz

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Ajedrez Y Damas
« en: Lunes 15 de Marzo de 2004, 18:22 »
0
Buenas:

Llevo unos dias pensando presentar como proyecto final de mi asignatura de "C" un ajedrez o unas damas. Pero he pensado que quizá de trate de algo muy complicado o quizá incluso no pueda hacerse en este lenguaje.

Mis conocimientos son los el manejo de cadenas y números, funciones, punteros y ficheros. No he dado nada más en clase y no sé si embarcarme en este proyecto será lo más apropiado como trabajo de fin de curso.

Me gustaría que alguien experimentado en "C" me diese las principales pautas a seguir, o si mi idea puede retocarse, o si debo abandonar la idea.


Muchas gracias. :hola:

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #1 en: Lunes 15 de Marzo de 2004, 19:23 »
0
Es bastante complicado a mi parecer si pensas hacerque la computadora juege contra el usuario.

Ahora si solo pensas hacer unjuego de Ajedrez en Red, ya es algo bastante mas sencillo y mas implementable.
QliX=D! - From the top of Tsunami

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Ajedrez Y Damas
« Respuesta #2 en: Lunes 15 de Marzo de 2004, 19:37 »
0
a mi me parece que el juego es complicado y si tus conocimientos en C son basicos, la verdad es mejor que lo replentees; clari si piensas hacerlo  para que el computador juegue contra uno replantealo, pero si lo quieres hacer solo para que juguen dos es mucho mas facil..

___Saludos___ :hola:  :kicking:
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

krouz

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #3 en: Lunes 15 de Marzo de 2004, 21:41 »
0
Buenas de nuevo:

Muchísimas gracias por responder tan rápidamente. Tras lo que m habeis informado, creo que la solución ideal sería hacer que el juego se pudiese jugar en red con otro PC. No obstante, mis conocimientos de redes con "C" son nulos.

¿Podría por tanto intentar crear de cero el ajedrez, con sus restricciones y demás características, y hacer una especie de "copia y pega" de un trozo de código para poder crear esa conectividad usando la red local? La verdad que no tenog ni idea de cómo gestionará "C" esta red.

Si no, me parece que un simple ajedrez entre dos jugadores en el mismo PC sería bastante pobre :( . Necesito alguna opinión, debo empezar a programar cuanto antes este proyecto.

Muchas gracias de nuevo. :hola:

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #4 en: Martes 16 de Marzo de 2004, 00:43 »
0
hacer el juego para jugarlo entre humanos es bastante facil, y agregarle la conectividad por red no es tan dificil como parece. de hecho es bastante simple (x lo menos hacer q ande, de ahi a q funcione perfecto y con cosas extras y todo eso es mas trabajo)
yo hice unas damas (2 usuarios mismo pc) sabiendo muy poco, y hace unos meses hice un jueguito en red y me demore un par de dias en echarlo a andar tras partir de 0 en el tema. es cosa de buscar tutoriales y ejemplos de winsock y estas listo, es poco el codigo q hay q agregar para la redificacionalizacionamientacion

krouz

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #5 en: Martes 16 de Marzo de 2004, 17:56 »
0
Buffff, toda la mañana buscando información y practicando con lo del "winsock" de marras y nada, creo que si no me lo explican durante las clases no será necesario para el proyecto.

De todas formas, y perdonad mi ignorancia, ¿sería muy difícil que un ordenador mandase la orden "C4" y "C6" al servidor, y éste le enviase la pantalla con los resultados? Aunque creo que la dificultad radica en conectarlo, no ya en las propias órdenes :( .

Intentaré hacerlo mediante ficheros, pero seguiré mirando, admito sugerencias (no el trabajo hecho, queiro realizarlo yo mismo), pero agradecería consejos sobre cómo orientarlo o tratar el propio tablero, si alguno tiene experiencia en ellos.


Muchas gracias :hola: .

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #6 en: Martes 16 de Marzo de 2004, 20:26 »
0
yo hice lo mio con este tutorial q es bien claro y preciso, es cosa de hacer las funciones para conectarse del host y del cliente y el resto es puro mandarse strings para comunicarse con send() y recv()

dreadlock

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #7 en: Miércoles 17 de Marzo de 2004, 01:35 »
0
Pues esta interezante tu proyecto y pues felicidades por esa ambicion de lograr algo denso!!!!:D, pues respecto a la vialidad del jusgo que si es para 1 o dos jugadores, ya te han dado algunos consejos, volviendo a tu planteamiento principal pienso que el hacer un ajedrez si esta mas dificil que hacer unas damas, por la cuestion de la complejidad de los movimientos, y el criterio de vencedor, yo optaria por unas damas, o quizas algun otro juego, tambien toma en cuenta que puedes hacer algo sencillo(aunque creo que casi nada es tan sencillo pero en fin), pero metiendole ganas e imaginacion puedes hacer algo grande apartir de una idea que al principio no sea tan brillantepero con algo de esmero se logran buenas cosas, tambein puedes intentar un cuatro en raya, un splash, un juego de naves, en fin muchas mas opciones segun mas te convenga, meter posibilidades de guardar a disco, muchas cosas
UN intento de explicar lo inezplicable:D

navisoft

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
    • http://www.latindevelopers.com
Re: Ajedrez Y Damas
« Respuesta #8 en: Sábado 20 de Marzo de 2004, 22:09 »
0
Puedo aportar con mi codigo fuente que implementé en Visual C++ 6.0, es una especie de jurado de ajedréz, es decir que controla movimientos y algunas cosas mas....


Todos juntos podemos hacer un proyectito de ajedréz.... la parte de jugar en red es interesante pero creoq ue si nos dividimos las tareas podemos implementarlo.

mi codigo fuente esta en:

http://www.programacion.uni.cc/prj/vc/chess/

krouz

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #9 en: Domingo 21 de Marzo de 2004, 12:02 »
0
Gracias por ayudar, pero como lo estoy haciendo en "C"... tengo que nadar con gotoxys, printfs de todos los estilos, algo de color... es bastante más complejo según parece que en Visual Basic.

Un saludo, y gracias.

-SB-

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #10 en: Domingo 21 de Marzo de 2004, 23:46 »
0
En verano despues de terminar 1º de carrera me puse manos a la obra con un ajedrez, (aunq implementado en ADA) y segun iba avanzando fuy viendo que era bastante mas dificil de lo esperado, no llegue a conseguir que el ordenador jugase decentemente.

Consegui un tablero para dos jugadores, pero con lo dificil que es saber quien ha ganado, y las restricciones de movimientos que hay yo creo que no es lo mas adecuado que puedes hacer, yo te aconsejo algun otro juego como 4 en raya o asi...

A las damas no se jugar jejejeje

Un saludo!!!

SB.

krouz

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #11 en: Lunes 22 de Marzo de 2004, 00:01 »
0
Buenas:

Pues vistas las ganas que tengo, y que no me va a ser ningún mal para mis estudios, me he lanzado manos a la obra hace unos días :) .

He logrado hasta el día de hoy hacer un tablero decente, con colores, con distintos colores de texto y de fondo para cada "ficha" (en realidad solo son letras mayúsculas P (peon),A Alfil) ,T,C, etc... También he conseguido que roten los turnos y que pueda validad movimientos físicos en el tablero, marcando el puntod e origen y el de destino, transformándolo a otro array y demás comprobaciones.

Hasta ahora, no he tenido grandes problemas, y estoy muy orgulloso de mí mismo. Espero que aunque la IA que pueda crear sea nefasta al menos aprenda algo de este proyecto.

Agradezco su ayuda, nos vemos :hola:.

-SB-

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #12 en: Lunes 22 de Marzo de 2004, 00:25 »
0
Pues adelante!!

Ya me contaras como te va y si te queda chulo podias pasar el codigo  :rolleyes:

Un saludo!!  :hola:

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Ajedrez Y Damas
« Respuesta #13 en: Martes 23 de Marzo de 2004, 17:49 »
0
olle mis respetos krouz

ese proyecto es grande.. yo no le he intentado.. pero espero desarrollarlo..


___Saludos___ :hola:   y Adelante :lightsabre:
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

krouz

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #14 en: Martes 23 de Marzo de 2004, 20:38 »
0
Si no puedo desarrolarlo en 3 semanas o así... me juego el aprovado del curso, así que tengo que meterle todo el interés que pueda. Más me vale... :) . Y si no... paralelamente iré desarrollando unas "damas" que serán más sencillas.

Pero me hace ilusión el ajedrez... :rolleyes: .

Gracias por el apoyo a todos, si consigo hacer que funcione en unos días la mayoría del programa postearé el código. Por cierto, me vendría bien meter en algún fichero algo así como...

1,1,1,1,1,1,1,1
0,0,0,0,0,0,0,0
2,2,2,2,2,2,2,2

Es decir, un array normal, de números o de caracteres (array[8][8]={`T`,`C`,etc...} y debo implementarlo con ficheros según mi profesora para que pueda guardar la partida en cualquier momento y demás. Y sinceramente, no tenog ni idea de cómo realizarlo, sólo se hacer las operaciones con ficheros básicas tipo agenda, como dar altas, bajas y demás. Si me ofrecen alguna ayuda, será bien recibida :hola: .

shephiroth

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #15 en: Viernes 26 de Marzo de 2004, 18:20 »
0
Buenas. Esto sería má fácil en visual, pero siendo que es un proyecto de clase intentaré ceñirme lo más posible a C normal. Si alguien ve algun error que me corrija rápidamente ^_^

La intención es crear 2 funciones, una que grabe toda tu matriz del tablero, y otra que la cargue (faltaría implementar como se sabe a quien le toca jugar, pero weno xDD). Ambas devuelve 0 si no hubo prolemas, y -1 si los hubo.

Suponemos que tablero[8][8] es tu matriz, y esta se la pasas a la funcion (recordandomelo yo, al pasar una matriz a una funcion hay que pasarle tambien su tamaño):


int grabar(char tablero[][],int x,int y)
{
FILE * archivo;
int c,z;
archivo = fopen("jedrez.sav","w");
if (archivo==null)
   return -1;
if (! fseek(archivo,0,SEEK_SET))
   return -1;
char * linea;
for (c=0;c<y;c++)
{
for (z=0;z<x;z++)
{
linea[z*2]=tablero[z][c];
linea[z*2+1]=' ';
}
linea[z*2-1]='\0';
fprintf(archivo,linea);
}
return 0;
}

y la funcion de cargar es igual pero en vez de escribiendo leyendo. Si le has pillado el truco podrás escribir la otra funcion, o si lo necesitas te la escribo ^_^

dreadlock

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Ajedrez Y Damas
« Respuesta #16 en: Viernes 26 de Marzo de 2004, 23:34 »
0
si esa idea es buena, aunque recomendaria la lectura, escritura por bloques que es mas rapida, :D suerte en el proyecto
UN intento de explicar lo inezplicable:D