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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con juego
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con juego  (Leído 1,836 veces)
Lesr

Desconectado Desconectado

Mensajes: 1


Ver Perfil
problema con juego
« en: 28 Noviembre 2013, 00:04 am »

hola tengo un problema con un juego llamado othello al ejecutar inicia pero despues de un rato me deja de fucionar


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define F 8
#define C 8

char otelo [F][C];
int pintaOtelo (){
   system("color 35");
   int i,j;
   
   printf("\n");
   printf("\n");
   printf("\n");
   printf("\n");
   printf("--------------------------------\n");
   for (i=0;i<=F-1;i++){
         for (j=0;j<=C-1;j++){
                printf("%c  ",otelo [j] );
            if (j<=(C-1)){
                printf("|");
             }
         }
         printf("\n");
         if (i<=(F-1)){
               printf("--------------------------------\n");
         }
         
   }
   printf("\n");
}
int inicializaOtelo (){
   int i,j;
   for (i=0;i <=F-1; i++ ){
         for (j=0;j <=C-1; j++ ){
            otelo [j] =' ';
         }
   }
}

int valoresIniciales(){
     otelo[3][3]='o';
     otelo[4][3]='o';
     otelo[4][4]='x';
     otelo[3][4]='x';
     }

int casillaVacia(int fila,int columna){
   system("color 89");
    if(otelo[fila][columna]==' '){
      return 0;                
     }
    else{
        if(otelo[fila][columna]=='x'){
            return 1;
      }
     
    else {
          return 2;    
     }
    }
    system("pause");
}


int juega(){
   int f,c,k,e,encontre,turno,veces;
   valoresIniciales();
    pintaOtelo();
   do{
      if (turno==0){
            system("color 2");
         printf("jugador 1\n");
      }
      else{
            system("color 4");
         printf("jugador 2\n");
      }
      printf("Dime renglon: ");scanf("%i",&f);fflush(stdin);
       printf("Dime columna: ");scanf("%i",&c);fflush(stdin);   
      if  (casillaVacia(f,c)==0){
          if (validaDerecha(f,c,turno)!=0){ encontre= cambia(f,c,turno,2); }
           if (validaIzquierda(f,c,turno)!=0){ }
         if (validaAbajo(f,c,turno)!=0){      }
         if (validaArriba(f,c,turno)!=0){    }
         if (validaDSD(f,c,turno)!=0){       }            
          if (validaDSD(f,c,turno)!=0){       }               
          if (validaDSI(f,c,turno)!=0){       }   
         if (validaDID(f,c,turno)!=0){       }   
         if (validaDII(f,c,turno)!=0){       }   
         }
         if(encontre==1){turno=asignaYCambiaTurno(f,c,turno); }               
        else{
             printf("la casilla la ocupa el jugador %i \n",casillaVacia(f,c));
        }
          system("cls");
          veces++;pintaOtelo();
          cambia();
          cuenta();
       system("pause");
         system("cls");
       pintaOtelo();
        
        
   }while (veces!=64);

}
int asignaYCambiaTurno(int ren, int col, int tur){
   if (tur==0){   otelo[ren][col]='x';tur=1;}
            else{   otelo[ren][col]='o';tur=0;}   
            printf("%i****************\n",tur);
   return tur;
}

int cambia(int fila,int col,int turno,int direccion){
int columna_original=col,i;
int enc=0;
   switch(direccion){
      case 2:{
               if(turno==0){
                   while(col<=7&&enc==0){
                       col++;
                      if(otelo[fila][col]=='x'){
                        for(i=col;i>=columna_original;i--){
                            otelo[fila]='x';
                        }
                        enc=1;
                    }
            
                   }
                }
                if(turno==1){
                   while(col<=7&&enc==1){
                       col++;
                      if(otelo[fila][col]=='o'){
                        for(i=col;i>=columna_original;i--){
                            otelo[fila]='o';
                            }
                          enc=0;
                    }
            
                   }
                }
        }   
   }
   return enc;
}
int cuenta(){
   int i,j;
   int cox=0,coo=0;
   for (i=0;i <=F-1; i++ ){
         for (j=0;j <=C-1; j++ ){
            if(otelo [j] =='x'){
               cox++;
            }
            else{
            
                 if(otelo [j] =='o'){
                         coo++;
                  }
              }
         }
   }
   printf("Puntos del jug 1 -> %i   puntos del jugador 2 ->%i\n",cox,coo);
   if(cox+coo==64){
          if(cox<coo){
               printf("El ganador es jugador 2");
          }
          else{
               printf("El ganador es jugador 1");
          }
    }
         
}



int validaDerecha(int f,int c, int turno){
   if(turno==0){
        if(otelo[f][c+1]=='o'){
          return 2;
         }
         else {
            return 0;
         }
    }
    else{
        if(otelo[f][c+1]=='x'){
         return 1;
        }
        else{
           return 0;
        }
   }
}
int validaIzquierda(int f,int c, int turno){
   if(turno==0){
        if(otelo[f][c-1]=='o'){
           return 2;
         }
         else {
            return 0;
         }
    }
    else{
        if(otelo[f][c-1]=='x'){
          return 1;
        }
        else{
           return 0;
        }
   }
}
int validaAbajo(int f,int c, int turno){
   if(turno==0){
        if(otelo[f+1][c]=='o'){
           return 2;
         }
         else {
            return 0;
         }
    }
    else{
        if(otelo[f+1][c]=='x'){
          return 1;
        }
        else{
           return 0;
        }
   }
}
int validaArriba(int f,int c, int turno){
   if(turno==0){
        if(otelo[f-1][c]=='o'){
           return 2;
         }
         else {
            return 0;
         }
    }
    else{
        if(otelo[f-1][c]=='x'){
          return 1;
        }
        else{
           return 0;
        }
   }
}
int validaDSD(int f,int c, int turno){/*Derecha arriba*/
   if(turno==0){
        if(otelo[f-1][c+1]=='o'){
           return 2;
         }
         else {
            return 0;
         }
    }
    else{
        if(otelo[f-1][c+1]=='x'){
          return 1;
        }
        else{
           return 0;
        }
   }
}
int validaDSI(int f,int c, int turno){/*Izquierda arriba*/
   if(turno==0){
        if(otelo[f-1][c-1]=='o'){
           return 2;
         }
         else {
            return 0;
         }
    }
    else{
        if(otelo[f-1][c-1]=='x'){
          return 1;
        }
        else{
           return 0;
        }
   }
}
int validaDID(int f,int c, int turno){/*Derecha abajo*/
   if(turno==0){
        if(otelo[f+1][c+1]=='o'){
           return 2;
         }
         else {
            return 0;
         }
    }
    else{
        if(otelo[f+1][c+1]=='x'){
          return 1;
        }
        else{
           return 0;
        }
   }
}
int validaDII(int f,int c, int turno){/*Izquierda abajo*/
   if(turno==0){
        if(otelo[f+1][c-1]=='o'){
           return 2;
         }
         else {
            return 0;
         }
    }
    else{
        if(otelo[f+1][c-1]=='x'){
          return 1;
        }
        else{
           return 0;
        }
   }
}
int main(int argc, char *argv[]){
 
    system("cls");
    inicializaOtelo ();
    juega();
 
  system("PAUSE");   
  return 0;
}

Tambien tengo otro problema la 'x' no se cambia por la 'o'


En línea

xaps

Desconectado Desconectado

Mensajes: 157



Ver Perfil
Re: problema con juego
« Respuesta #1 en: 28 Noviembre 2013, 22:37 pm »

1. Si quieres que la gente se lea tu código mételo dentro de un code-box.
2. Voy a pensar que "me deja de funcionar" es que se te cierra, ya que tampoco explicas muy bien cual es tu problema. Ese juego está programado específicamente para que termine "después de un rato". Si quieres que tarde más en cerrarse o que no se cierre, simplemente cambia la condición del bucle do-while o elimina el incremento del índice.

Saludos


En línea

"The programmers of tomorrow are the wizards of the future" - Gave Newel
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
juego problema
Juegos y Consolas
XmefistoX 4 2,109 Último mensaje 3 Enero 2005, 10:18 am
por zaerik
Problema con un juego
Juegos y Consolas
ch3ck3r 1 1,652 Último mensaje 25 Junio 2005, 18:24 pm
por DJ46
Problema Con Juego
Juegos y Consolas
skae_8 2 2,083 Último mensaje 25 Septiembre 2005, 23:47 pm
por skae_8
PROBLEMA CON EL JUEGO GUM
Juegos y Consolas
punzon 0 1,973 Último mensaje 1 Enero 2006, 23:05 pm
por punzon
problema con juego
Juegos y Consolas
yoryo(rus)15%% 1 1,325 Último mensaje 26 Febrero 2006, 01:19 am
por skapunky
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines