elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  3 en raya Help
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: 3 en raya Help  (Leído 4,394 veces)
safkevin

Desconectado Desconectado

Mensajes: 6


Ver Perfil
3 en raya Help
« en: 8 Mayo 2010, 05:59 am »

Necesito ayuda no se porque nunca me acepta los movimientos mi programa ya lo revise de arriba a abajo y todo esta bien  :(

Código:
#include <stdio.h>
int main()
{
char c1,c2,c3,c4,c5,c6,c7,c8,c9,movimiento,marcajugador,jugar_otra;
int turno_jugador;
c1='1'; //Inicializacion Variables
c2='2';
c3='3';
c4='4';
c5='5';
c6='6';
c7='7';
c8='8';
c9='9';
turno_jugador=1;
bool juegoterminado(true),juego_ganado(true),movalido;
do{
printf("\t\t\t\t||%c||%c||%c||\n",c1,c2,c3);
printf("\t\t\t\t||+||+||+||\n");
printf("\t\t\t\t||%c||%c||%c||\n",c4,c5,c6);
printf("\t\t\t\t||+||+||+||\n");
printf("\t\t\t\t||%c||%c||%c||\n",c7,c8,c9);
printf("\t\t\t\t||+||+||+||\n\n");
if(turno_jugador==1)//Marca Jugador
{marcajugador= 'X';}
else
{marcajugador= 'O';}
printf("Jugador: %d Movimiento: ",turno_jugador);
do{
scanf("%c",&movimiento);
movalido=true;
//Checar movimientos
if (movimiento == '1' && c1 == '1')
{c1 = marcajugador;}
else if (movimiento == '2' && c2 == '2')
{c2 = marcajugador;}
else if (movimiento == '3' && c3 == '3')
{c3 = marcajugador;}
else if (movimiento == '4' && c4 == '4')
{c4 = marcajugador;}
else if (movimiento == '5' && c5 == '5')
{c5 = marcajugador;}
else if (movimiento == '6' && c6 == '6')
{c6 = marcajugador;}
else if (movimiento == '7' && c7 == '7')
{c7 = marcajugador;}
else if (movimiento == '8' && c8 == '8')
{c8 = marcajugador;}
else if (movimiento == '9' && c9 == '9')
{c9 = marcajugador;}
else {printf("Movimiento Invalido, Intenta Otra Vez\n");}
movalido = false;
  }
while(!movalido);
juegoterminado=false;
juego_ganado=true;
if (c1 != '1')
{
if (c2 == c1 && c3 == c1)
{juegoterminado = true;}

if (c4 == c1 && c7 == c1)
{juegoterminado = true;}
}
if (c5 != '5')
{
if (c1 == c5 && c9 == 5)
{juegoterminado = true;}
if (c2 == c5 && c8 == c5)
{juegoterminado = true;}
if (c4 == c5 && c6 == c5)
{juegoterminado = true;}
if (c3 == c5 && c7 == c5)
{juegoterminado = true;}
}
if (c9 != '9')
{
if (c3 == c9 && c6 == c9)
{juegoterminado = true;}
if (c7 == c9 && c8 == c9)
{juegoterminado = true;}

}
if (c1 != '1' && c2 != '2' && c3 != '3' &&
c4 != '4' && c5 != '5' && c6 != '6' &&
c7 != '7' && c8 != '8' && c9 != '9' && !juegoterminado)
{
juegoterminado = true;
juego_ganado = false;
   }
if (juegoterminado)
{
if (juego_ganado)
{printf("Juagador: %d Gana!",turno_jugador);}  
// Imprimir Tablero
printf("\t\t\t\t||%c||%c||%c||\n",c1,c2,c3);
printf("\t\t\t\t||+||+||+||\n");
printf("\t\t\t\t||%c||%c||%c||\n",c4,c5,c6);
printf("\t\t\t\t||+||+||+||\n");
printf("\t\t\t\t||%c||%c||%c||\n",c7,c8,c9);
printf("\t\t\t\t||+||+||+||\n\n");
printf("Juego Terminado!");
printf("Jugar De Nuevo (Y/N)?");
scanf("%d",&jugar_otra);
if (jugar_otra == 'y'||jugar_otra == 'Y')
{
juegoterminado = false;
c1 = '1';
c2 = '2';
c3 = '3';
c4 = '4';
c5 = '5';
c6 = '6';
c7 = '7';
c8 = '8';
c9 = '9';
   }
turno_jugador=1;
}
else {
if (turno_jugador == 1)
{turno_jugador = 2;}
else
{turno_jugador = 1;}
 }
} while (!juegoterminado);
}





« Última modificación: 8 Mayo 2010, 06:11 am por safkevin » En línea

.:S'A'F:. Kevin
ralymontes

Desconectado Desconectado

Mensajes: 47



Ver Perfil
Re: 3 en raya Help
« Respuesta #1 en: 9 Mayo 2010, 05:27 am »

mm podrias decir como funciona?

Y como se usa (en teoria)..???

 para pdoer entenderlo primero y ver si el code concuerda con lo que queires ahcer.


En línea

safkevin

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: 3 en raya Help
« Respuesta #2 en: 11 Mayo 2010, 03:49 am »

me sorprende que nunca ayas jugado 3 en raya  es algo como esto:




bueno el objetivo de este juego esque el primero tira con una x o y si juntas 3 en raya ya sea en vertical u orizontal o en diagonal ganas algo asi:


ya he revisado el codigo pero en teoria esta bien no se que mas hacer  :huh:

espero haberte ayudado y espero que me ayudes jaja

En línea

.:S'A'F:. Kevin
Og.


Desconectado Desconectado

Mensajes: 822


Aprendiendo de la vida


Ver Perfil
Re: 3 en raya Help
« Respuesta #3 en: 11 Mayo 2010, 05:09 am »

Código
  1. do{
  2. scanf("%c",&movimiento);
  3. movalido=true;
  4. //Checar movimientos
  5.  
  6. if (movimiento == '1' && c1 == '1')
  7. {
  8.  c1 = marcajugador;
  9. } else if (movimiento == '2' && c2 == '2') {
  10.  c2 = marcajugador;
  11. } else if (movimiento == '3' && c3 == '3') {
  12.  c3 = marcajugador;
  13. } else if (movimiento == '4' && c4 == '4') {
  14.  c4 = marcajugador;
  15. } else if (movimiento == '5' && c5 == '5') {
  16.  c5 = marcajugador;
  17. } else if (movimiento == '6' && c6 == '6') {
  18.  c6 = marcajugador;
  19. } else if (movimiento == '7' && c7 == '7') {
  20.  c7 = marcajugador;
  21. } else if (movimiento == '8' && c8 == '8') {
  22.  c8 = marcajugador;
  23. } else if (movimiento == '9' && c9 == '9') {
  24.  c9 = marcajugador;
  25. } else {
  26.  printf("Movimiento Invalido, Intenta Otra Vez\n");
  27.  movalido = false;
  28. }
  29.    } while(!movalido);
Tu error era que la linea
Código
  1. movalido = false;
la tenias fuera del else.
En línea

|-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Aporte] 3 en raya (2 Jugadores)
Programación C/C++
Manimecker 0 3,572 Último mensaje 15 Enero 2012, 03:07 am
por Manimecker
Ejemplo de Minimax: 3 en raya
Programación C/C++
ghastlyX 4 15,270 Último mensaje 20 Abril 2015, 23:24 pm
por cappa_daniel
[SRC] IA - Juego 3 en Raya con Poda Alfa-Beta
Java
Maurice_Lupin 9 12,509 Último mensaje 23 Mayo 2013, 18:05 pm
por oriaj3
Juego 4 en raya
Programación C/C++
alvarogt91 4 8,738 Último mensaje 6 Junio 2014, 13:35 pm
por alvarogt91
Comprobar cuatro en raya en una matriz 6x6
Java
JonaLamper 2 2,297 Último mensaje 11 Noviembre 2014, 12:19 pm
por JonaLamper
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines