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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problemas en este programa (Juego de 2048 en C) No responde a comandos W,A,S,D
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemas en este programa (Juego de 2048 en C) No responde a comandos W,A,S,D  (Leído 2,491 veces)
Carlos.Martinez

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Problemas en este programa (Juego de 2048 en C) No responde a comandos W,A,S,D
« en: 22 Noviembre 2015, 03:13 am »

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define A 119
#define AB 115
#define DER 100
#define IZQ 97
#define p printf
void orden ();
void caos ();
void PADRE1 ();
void SATAN1 ();
void SANTO1 ();
void JESUS1 ();
void padre ();
void satan();
void jesus();
void santo();
void bit();
void interaccion();
int V[4][4] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int aux, aux1=0,aux2=0,aux3=0,aux4=0,aux5=0;
int a,b,ba;
        int main()
        {
            time_t t;
            srand((unsigned) time(&t));
            for(a=0;a<3;a++)
            {
                caos();
            }
            bit();
            orden();
            interaccion();
            return 0;
        }
void orden()
{
    int a,b;
    for(a=0;a<=3;a++)
    {
        for(b=0;b<=3;b++)
        {
            p("%d\t",V[a]);
        }
        p("\n");
    }
}
void caos()
{
 int b1 = 0;
 int e,f;
 do{
    b1 = 0;
    e= rand()% 4;
    f= rand()% 4;
    if(V[f][e]==0)
        {
        V[f][e] = 2;
        b1 = 1;
    }
 }while(b1==0);
}
void PADRE1()
    {
        do{
                ba=0;
                for(a=1;a<=3;a++)
                    {
                    for(b=0;b<=3;b++)
                    {
                        if(V[a-1]==0&&V[a]!=0)
                        {
                            V[a-1]=V[a];
                            V[a]=0;
                            ba=1;
                        }
                    }
                }
            }while (ba=1);
    }
    void SATAN1()
    {
        do{
            ba=0;
            for(a=2;a>=0;a--)
            {
                for(b=0;b<=3;b++)
                {
                    if(V[a+1]==0&&V[a]!=0)
                    {
                        V[a+1]=V[a];
                        V[a]=0;
                        ba=1;
                    }
                    }
                }
            }while(ba==1);
    }
    void SANTO1()
    {
        do
        {
            ba=0;
            for (a=0;a<=3;a++)
            {
                for (b=1;b<=3;b++)
                {
                    if(V[a][b-1]==0&&V[a]!=0)
                    {
                        V[a][b-1]=V[a];
                        V[a]=0;
                        ba=1;
                    }

                }
            }
        }while (ba=1);
    }
    void JESUS1()
        {
            do{
                ba=0;
                for (a=0;a<=3;a++)
                {
                    for (b=2;b>=0;b--)
                    {

                    if(V[a][b-1]==0&&V[a]!=0)
                    {
                        V[a][b-1]=V[a];
                        V[a]=0;
                        ba=1;
                    }
                }
            }
        }while (ba==1);
    }
    void padre ()
    {
        for (a=1;a<=3;a++)
                {
                    for (b=0;b<4;b++)
                    {
                        if (V[a-1]==V[a])
                        {
                            V[a-1]+=V[a];
                            V[a]=0;
                        }
                    }
                }
    }
        void satan()
        {

        for (a=2;a>=0;a--)
                {
                    for (b=0;b<4;b++)
                    {
                        if (V[a+1]==V[a])
                        {
                            V[a+1]+=V[a];
                            V[a]=0;
                        }
                    }
                }
        }
        void jesus ()
        {
            for(a=0;a<=3;a++)
            {
                for(b=2;b>=0;b--)
                {
                    if(V[a][b+a]==V[a])
                    {
                        V[a][b+1]+=V[a];
                        V[a]=0;
                    }
                }
            }
        }
        void santo()
        {
            SANTO1();
            for(a=0;a<=3;a++)
            {
                for(b=1;b<=3;b++)
                {
                    if(V[a][b-1]==V[a])
                    {
                        V[a][b-1]+=V[a];
                        V[a]=0;
                    }
                }
            }
        }

        void bit()
        {
            p("Utilice:\nw para arriba\ns para abajo\npara derecha a\npara izquierda d \n\n\n\n");
            system("pause");
            system("cls");
        }
        void interaccion()
        {
            int i,e,f,a;
            int t1, band=0;
            time_t t;
            do
            {
                t1=getch();
                switch(t1)
                {
                case A:
                    PADRE1 ();
                    padre();
                    PADRE1 ();
                    caos ();
                    system ("cls");
                    break;
                case AB:
                    SATAN1();
                    satan();
                    SATAN1();
                    caos ();
                    system ("cls");
                    break;

                case IZQ:
                    SANTO1();
                    santo();
                    SANTO1();
                    caos ();
                    system ("cls");
                    break;

                case DER:
                    JESUS1;
                    jesus();
                    JESUS1();
                    caos ();
                    system ("cls");
                    break;

                default:
                    {
                        p("\n\n\n\tTECLA ERRONEA\n\n");
                        system("pause");
                        system("cls");
                        break;
                    }
                }
            orden();
        }
        while((aux1==1)||(aux2==1)||(aux3==1)||(aux4==1)||(aux5==1));
        p("TERMINO EL JUEGO");

                }


En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Problemas en este programa (Juego de 2048 en C) No responde a comandos W,A,S,D
« Respuesta #1 en: 22 Noviembre 2015, 03:24 am »

Imprimes un mensaje indicando qué se debe ingresar los comandos pero, ¿Cómo haces para leer lo que se ingresa? no veo que invoques al metodo scanf.


En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Carlos.Martinez

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Problemas en este programa (Juego de 2048 en C) No responde a comandos W,A,S,D
« Respuesta #2 en: 22 Noviembre 2015, 03:31 am »

orden=  imprimir matriz
caos= numeros aleatorios / posicion aleatoria
padre= mover numeros arriba
satan= mover numeros abajo
jesus= mover numeros hacia la derecha
santo= mover numeros hacia la izquierda
bit= funcion para instrucciones
interaccion= funcion para poder introducir comandos w,a,s,d
TODOS LOS QUE ESTEN EN MAYUSCULAS Y TENGAN UN 1 SE RECORREN HACIA LA MISMA DIRECCION DEL QUE ESTA EN MINUSCULAS Y NO TIENE UN NUMERO Y SUMA EN EL CASO DE QUE SEAN IGUALES.
 
« Última modificación: 22 Noviembre 2015, 03:33 am por Carlos.Martinez » En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Problemas en este programa (Juego de 2048 en C) No responde a comandos W,A,S,D
« Respuesta #3 en: 22 Noviembre 2015, 03:41 am »

Me sale este error: error: incompatible types when assigning to type ‘int[4]’ from type ‘int’

if( V[a][b-1]  == V[a] )
     {
          V[a][b-1] +=V[a];
          V[a]=0;

     }


V es una matriz 4x4 no puedes acceder a sus elementos de esa manera, prueba con V[n][m], V[0][1],V[3][3]..etc.. o como lo que está marcado de azul
« Última modificación: 22 Noviembre 2015, 03:43 am por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
damical

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Problemas en este programa (Juego de 2048 en C) No responde a comandos W,A,S,D
« Respuesta #4 en: 20 Mayo 2016, 21:19 pm »

tenes el codigo completo sin errores?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Al meter una secuencia de comandos el pc te responde con otra...Como? « 1 2 ... 5 6 »
Programación Visual Basic
BenRu 57 14,982 Último mensaje 27 Junio 2005, 22:21 pm
por BenRu
problemas para eliminar trial de este programa
Ingeniería Inversa
metalyeyo 3 4,163 Último mensaje 10 Junio 2010, 21:16 pm
por Revolutions
El juego WOW cada 2x3 (No responde)
Juegos y Consolas
alcardo 5 5,746 Último mensaje 25 Junio 2013, 18:07 pm
por Randomize
Crear juego de 2048 en lenguaje C con Codeblocks
Programación C/C++
Carlos.Martinez 2 3,772 Último mensaje 18 Noviembre 2015, 03:36 am
por furciorifa
2048 juego en C, algoritmo para que pierda
Programación C/C++
damical 6 5,331 Último mensaje 27 Mayo 2016, 01:49 am
por damical
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines