duda sobre c++ ayuda

Publicado en 'Programación' por Nemesis93, 18 Nov 2012.





  1. Nemesis93

    Nemesis93 Miembro nuevo

    Registro:
    18 Nov 2012
    Mensajes:
    1
    Likes:
    0




    hola a todos bueno tengo un problema con un juego que estoy realizando en c++ en visual studio. miren el juego se parece mucho al pacman solo que no necesito monstruos pero si un personaje que recorra un mapa y coma algunos puntos al azar para que gane puntos.
    tiene alguna idea de como puedo hacer para que el programa sepa cuando mi personaje y la comida coincidad y sume puntaje.

    yo cree una matriz y dento la matriz esta la comida. luego uso un tipo gotoxy para mover al personaje.

    la comida es un char 4.
    for(int i=0;i<80;i++)
    {for(j=0;j<40;j++)
    {
    if(matriz[j]==4)
    { if(i==x && j==y)
    puntos++;
    }
    }
    }

    les agradesco su tiempo y sus aportes
     


  2. Drknow

    Drknow Miembro maestro

    Registro:
    21 Abr 2011
    Mensajes:
    332
    Likes:
    42
    Supongamos que este es tu matriz[7][18]
    podemos observar varios valores esto va simular tu mapa de juego.

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


    te explico

    Tus constantes :

    0 = valor vacío o se comió el punto
    1 = valor de las paredes.
    3 = podría ser el valor de tu personaje en el mapa.
    2 = el valor de los puntos que esta localizado en diferentes partes del mapa

    Si vas a tener que dibujar paredes vas a tener idear un algoritmo para la colisión.
    y claro tu acumulador de puntos, etc.

    Con el gotoxy te mueves por el mapa según la posición de la filaXcolumna donde actualmente se encuentra tu personaje y hacia donde se va mover según la tecla direccional presionada sumas o restas posición de la fila o columna.

    verificas si la posición esta vacía(valor 0) si no te comes el punto y acumulas puntaje

    si sabes trabajar con clases en c++ separa cada objeto que crees que existen en tu juego.

    Saludos