Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Sterowanie snakem

Ostatnio zmodyfikowano 2015-05-13 17:58
Autor Wiadomość
arek213
Temat założony przez niniejszego użytkownika
Sterowanie snakem
» 2015-05-13 14:32:32
Stworzyłem mapę do gry. Teraz próbuje dodawać kolejne elementy do tej mapy aby wiedzieć jak poruszać się potem wężem. Jednak dla case 72, czyli strzałki w góre muszę zmniejszać wartość poz_y i nie wiem czy tak jest ok ? Czy lepiej gdy w programie dla case 72 byłoby aby poz_y się zwiększało ? Tablice mam dwuwymiarową i dlatego tak musi być.

C/C++
#include <iostream>
#include <windows.h>
#include<stdlib.h>
#include<conio.h>

using namespace std;

class Plansza
{
public:
    char tablica[ 25 ][ 70 ];
    char sciana = 219;
   
public:
    void wypelnij()
    {
        for( int i = 0; i < 25; i++ )
        {
            for( int j = 0; j < 70; j++ )
            {
                tablica[ i ][ j ] = 0;
            }
        }
       
       
        for( int j = 0; j < 70; j++ )
        {
            tablica[ 0 ][ j ] = sciana;
        }
       
        for( int i = 1; i < 25; i++ )
        {
            tablica[ i ][ 0 ] = sciana;
            tablica[ i ][ 69 ] = sciana;
        }
       
        for( int j = 0; j < 70; j++ )
        {
            tablica[ 24 ][ j ] = sciana;
        }
    }
    void rysuj() const
    {
        for( int i = 0; i < 25; i++ )
        {
            for( int j = 0; j < 70; j++ )
            {
                cout << tablica[ i ][ j ];
            }
            cout << endl;
        }
    }
};
class Potwor
{
public:
   
    char znak = 219;
    int poz_x;
    int poz_y;
   
public:
   
    Potwor( int x, int y )
        : poz_x( x )
         , poz_y( y )
    { };
   
};

int main()
{
    Plansza mapa;
    mapa.wypelnij();
    mapa.rysuj();
    Potwor waz( 30, 14 );
    mapa.tablica[ waz.poz_y ][ waz.poz_x ] = waz.znak;
    system( "cls" );
    mapa.rysuj();
    for( int i = 0; i < 4; i++ )
    {
        if( getch() == 224 )
        {
            switch( getch() )
            {
            case 80: waz.poz_y++; break;
            case 72: waz.poz_y--; break;
            case 75: waz.poz_x--; break;
            case 77: waz.poz_x++; break;
               
            }
            mapa.tablica[ waz.poz_y ][ waz.poz_x ] = waz.znak;
            system( "cls" );
            mapa.rysuj();
        }
    }
   
    return 0;
}
P-132189
Quirinnos
» 2015-05-13 16:06:33
Możesz trochę rozwinąć? Bo nie bardzo wiem o co Ci chodzi. Jak dla "72" dasz zwiększanie, to będzie szedł do dołu, gdy wciśniesz strzałkę do góry. Więc chyba nie o to chodzi.
P-132191
arek213
Temat założony przez niniejszego użytkownika
» 2015-05-13 16:33:38
Dla "72" mam zmniejszenie y'a aby wąż szedł do góry, to tak jest ok ?
P-132192
C-Objective
» 2015-05-13 17:25:55
odwrotnie chyba
P-132194
Quirinnos
» 2015-05-13 17:58:38
72, to strzałka do góry, więc na osi Y ma się zmniejszać.
P-132200
« 1 »
  Strona 1 z 1