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

[C++]Myslalem, patrzylem... Dziwne bledy przy tworzeniu gry i male pytanie

Ostatnio zmodyfikowano 2012-07-31 09:02
Autor Wiadomość
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
[C++]Myslalem, patrzylem... Dziwne bledy przy tworzeniu gry i male pytanie
» 2012-07-29 10:38:30
Przy probie kompilowania pliku wyswietla mi sie 8 dziwnych bledow: 1 to "multiple types in one declaration". a reszta to niezadeklarowane cout i endl(!). Co zrobilem zle? Jezeli tworze obiekt, przez ktory nie mozna sie poruszac, to czy musze zawsze robic cos takiego:
if(player.x == (tu wpisuje liczbe x danego stalego elementu) && player.y == (a tu y))   ?
To dosyc czasochlonne.

Oto kodzik:

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

int const MAP_X = 20;
int const MAP_Y = 30;

int i, j, lvl = 1, ruch = 0;

struct Position2D
{
    int x, y;
}



class Game
{
    Position2D player;
    int score;
public:
   
   
   
    Game()
        : score( 0 )
    {
        player.x = 10;
        player.y = 23;
    }
   
    void move()
    {
        switch( lvl )
        {
        case 1:
            {
                char move = getch();
                switch( move )
                {
                case 'w':
                    {
                        if( player.x-- == 7 && player.y == 11 )
                             break;
                       
                        if( player.x-- == 7 && player.y == 12 )
                             break;
                       
                        if( player.x-- == 7 && player.y == 13 )
                             break;
                       
                        if( player.x-- == 7 && player.y == 17 )
                             break;
                       
                        if( player.x-- == 7 && player.y == 18 )
                             break;
                       
                        if( player.x-- == 7 && player.y == 19 )
                             break;
                       
                        if( player.x-- == 7 && player.y == 23 )
                             break;
                       
                        if( player.x-- == 7 && player.y == 24 )
                             break;
                       
                        if( player.x-- == 7 && player.y == 25 )
                             break;
                       
                        if( player.x-- == 9 && player.y == 11 )
                             break;
                       
                        if( player.x-- == 9 && player.y == 12 )
                             break;
                       
                        if( player.x-- == 9 && player.y == 13 )
                             break;
                       
                        if( player.x-- == 9 && player.y == 17 )
                             break;
                       
                        if( player.x-- == 9 && player.y == 18 )
                             break;
                       
                        if( player.x-- == 9 && player.y == 19 )
                             break;
                       
                        if( player.x-- == 9 && player.y == 23 )
                             break;
                       
                        if( player.x-- == 9 && player.y == 24 )
                             break;
                       
                        if( player.x-- == 9 && player.y == 25 )
                             break;
                       
                        if( player.x-- == 11 && player.y == 11 )
                             break;
                       
                        if( player.x-- == 11 && player.y == 12 )
                             break;
                       
                        if( player.x-- == 11 && player.y == 13 )
                             break;
                       
                        if( player.x-- == 11 && player.y == 17 )
                             break;
                       
                        if( player.x-- == 11 && player.y == 18 )
                             break;
                       
                        if( player.x-- == 11 && player.y == 19 )
                             break;
                       
                        if( player.x-- == 11 && player.y == 23 )
                             break;
                       
                        if( player.x-- == 11 && player.y == 24 )
                             break;
                       
                        if( player.x-- == 11 && player.y == 25 )
                             break;
                       
                        if( player.x-- == 13 && player.y == 11 )
                             break;
                       
                        if( player.x-- == 13 && player.y == 12 )
                             break;
                       
                        if( player.x-- == 13 && player.y == 13 )
                             break;
                       
                        if( player.x-- == 13 && player.y == 17 )
                             break;
                       
                        if( player.x-- == 13 && player.y == 18 )
                             break;
                       
                        if( player.x-- == 13 && player.y == 19 )
                             break;
                       
                        if( player.x-- == 13 && player.y == 23 )
                             break;
                       
                        if( player.x-- == 13 && player.y == 24 )
                             break;
                       
                        if( player.x-- == 13 && player.y == 25 )
                             break;
                       
                        if( player.x-- == 15 && player.y == 11 )
                             break;
                       
                        if( player.x-- == 15 && player.y == 12 )
                             break;
                       
                        if( player.x-- == 15 && player.y == 13 )
                             break;
                       
                        if( player.x-- == 15 && player.y == 17 )
                             break;
                       
                        if( player.x-- == 15 && player.y == 18 )
                             break;
                       
                        if( player.x-- == 15 && player.y == 19 )
                             break;
                       
                        if( player.x-- == 15 && player.y == 23 )
                             break;
                       
                        if( player.x-- == 15 && player.y == 24 )
                             break;
                       
                        if( player.x-- == 15 && player.y == 25 )
                             break;
                       
                        if( player.x-- == 17 && player.y == 11 )
                             break;
                       
                        if( player.x-- == 17 && player.y == 12 )
                             break;
                       
                        if( player.x-- == 17 && player.y == 13 )
                             break;
                       
                        if( player.x-- == 17 && player.y == 17 )
                             break;
                       
                        if( player.x-- == 17 && player.y == 18 )
                             break;
                       
                        if( player.x-- == 17 && player.y == 19 )
                             break;
                       
                        if( player.x-- == 17 && player.y == 23 )
                             break;
                       
                        if( player.x-- == 17 && player.y == 24 )
                             break;
                       
                        if( player.x-- == 17 && player.y == 25 )
                             break;
                       
                        if( player.x - 1 == 0 )
                             break;
                       
                        else
                             player.x--;
                       
                        ruch++;
                        break;
                    }
                case 's':
                    {
                        if( player.x++ == 7 && player.y == 11 )
                             break;
                       
                        if( player.x++ == 7 && player.y == 12 )
                             break;
                       
                        if( player.x++ == 7 && player.y == 13 )
                             break;
                       
                        if( player.x++ == 7 && player.y == 17 )
                             break;
                       
                        if( player.x++ == 7 && player.y == 18 )
                             break;
                       
                        if( player.x++ == 7 && player.y == 19 )
                             break;
                       
                        if( player.x++ == 7 && player.y == 23 )
                             break;
                       
                        if( player.x++ == 7 && player.y == 24 )
                             break;
                       
                        if( player.x++ == 7 && player.y == 25 )
                             break;
                       
                        if( player.x++ == 9 && player.y == 11 )
                             break;
                       
                        if( player.x++ == 9 && player.y == 12 )
                             break;
                       
                        if( player.x++ == 9 && player.y == 13 )
                             break;
                       
                        if( player.x++ == 9 && player.y == 17 )
                             break;
                       
                        if( player.x++ == 9 && player.y == 18 )
                             break;
                       
                        if( player.x++ == 9 && player.y == 19 )
                             break;
                       
                        if( player.x++ == 9 && player.y == 23 )
                             break;
                       
                        if( player.x++ == 9 && player.y == 24 )
                             break;
                       
                        if( player.x++ == 9 && player.y == 25 )
                             break;
                       
                        if( player.x++ == 11 && player.y == 11 )
                             break;
                       
                        if( player.x++ == 11 && player.y == 12 )
                             break;
                       
                        if( player.x++ == 11 && player.y == 13 )
                             break;
                       
                        if( player.x++ == 11 && player.y == 17 )
                             break;
                       
                        if( player.x++ == 11 && player.y == 18 )
                             break;
                       
                        if( player.x++ == 11 && player.y == 19 )
                             break;
                       
                        if( player.x++ == 11 && player.y == 23 )
                             break;
                       
                        if( player.x++ == 11 && player.y == 24 )
                             break;
                       
                        if( player.x++ == 11 && player.y == 25 )
                             break;
                       
                        if( player.x++ == 13 && player.y == 11 )
                             break;
                       
                        if( player.x++ == 13 && player.y == 12 )
                             break;
                       
                        if( player.x++ == 13 && player.y == 13 )
                             break;
                       
                        if( player.x++ == 13 && player.y == 17 )
                             break;
                       
                        if( player.x++ == 13 && player.y == 18 )
                             break;
                       
                        if( player.x++ == 13 && player.y == 19 )
                             break;
                       
                        if( player.x++ == 13 && player.y == 23 )
                             break;
                       
                        if( player.x++ == 13 && player.y == 24 )
                             break;
                       
                        if( player.x++ == 13 && player.y == 25 )
                             break;
                       
                        if( player.x++ == 15 && player.y == 11 )
                             break;
                       
                        if( player.x++ == 15 && player.y == 12 )
                             break;
                       
                        if( player.x++ == 15 && player.y == 13 )
                             break;
                       
                        if( player.x++ == 15 && player.y == 17 )
                             break;
                       
                        if( player.x++ == 15 && player.y == 18 )
                             break;
                       
                        if( player.x++ == 15 && player.y == 19 )
                             break;
                       
                        if( player.x++ == 15 && player.y == 23 )
                             break;
                       
                        if( player.x++ == 15 && player.y == 24 )
                             break;
                       
                        if( player.x++ == 15 && player.y == 25 )
                             break;
                       
                        if( player.x++ == 17 && player.y == 11 )
                             break;
                       
                        if( player.x++ == 17 && player.y == 12 )
                             break;
                       
                        if( player.x++ == 17 && player.y == 13 )
                             break;
                       
                        if( player.x++ == 17 && player.y == 17 )
                             break;
                       
                        if( player.x++ == 17 && player.y == 18 )
                             break;
                       
                        if( player.x++ == 17 && player.y == 19 )
                             break;
                       
                        if( player.x++ == 17 && player.y == 23 )
                             break;
                       
                        if( player.x++ == 17 && player.y == 24 )
                             break;
                       
                        if( player.x++ == 17 && player.y == 25 )
                             break;
                       
                        if( player.x + 1 == MAP_X - 1 )
                             break;
                       
                        else
                             player.x++;
                       
                        ruch++;
                        break;
                    }
                case 'a':
                    {
                        if( player.x == 7 && player.y-- == 11 )
                             break;
                       
                        if( player.x == 7 && player.y-- == 12 )
                             break;
                       
                        if( player.x == 7 && player.y-- == 13 )
                             break;
                       
                        if( player.x == 7 && player.y-- == 17 )
                             break;
                       
                        if( player.x == 7 && player.y-- == 18 )
                             break;
                       
                        if( player.x == 7 && player.y-- == 19 )
                             break;
                       
                        if( player.x == 7 && player.y-- == 23 )
                             break;
                       
                        if( player.x == 7 && player.y-- == 24 )
                             break;
                       
                        if( player.x == 7 && player.y-- == 25 )
                             break;
                       
                        if( player.x == 9 && player.y-- == 11 )
                             break;
                       
                        if( player.x == 9 && player.y-- == 12 )
                             break;
                       
                        if( player.x == 9 && player.y-- == 13 )
                             break;
                       
                        if( player.x == 9 && player.y-- == 17 )
                             break;
                       
                        if( player.x == 9 && player.y-- == 18 )
                             break;
                       
                        if( player.x == 9 && player.y-- == 19 )
                             break;
                       
                        if( player.x == 9 && player.y-- == 23 )
                             break;
                       
                        if( player.x == 9 && player.y-- == 24 )
                             break;
                       
                        if( player.x == 9 && player.y-- == 25 )
                             break;
                       
                        if( player.x == 11 && player.y-- == 11 )
                             break;
                       
                        if( player.x == 11 && player.y-- == 12 )
                             break;
                       
                        if( player.x == 11 && player.y-- == 13 )
                             break;
                       
                        if( player.x == 11 && player.y-- == 17 )
                             break;
                       
                        if( player.x == 11 && player.y-- == 18 )
                             break;
                       
                        if( player.x == 11 && player.y-- == 19 )
                             break;
                       
                        if( player.x == 11 && player.y-- == 23 )
                             break;
                       
                        if( player.x == 11 && player.y-- == 24 )
                             break;
                       
                        if( player.x == 11 && player.y-- == 25 )
                             break;
                       
                        if( player.x == 13 && player.y-- == 11 )
                             break;
                       
                        if( player.x == 13 && player.y-- == 12 )
                             break;
                       
                        if( player.x == 13 && player.y-- == 13 )
                             break;
                       
                        if( player.x == 13 && player.y-- == 17 )
                             break;
                       
                        if( player.x == 13 && player.y-- == 18 )
                             break;
                       
                        if( player.x == 13 && player.y-- == 19 )
                             break;
                       
                        if( player.x == 13 && player.y-- == 23 )
                             break;
                       
                        if( player.x == 13 && player.y-- == 24 )
                             break;
                       
                        if( player.x == 13 && player.y-- == 25 )
                             break;
                       
                        if( player.x == 15 && player.y-- == 11 )
                             break;
                       
                        if( player.x == 15 && player.y-- == 12 )
                             break;
                       
                        if( player.x == 15 && player.y-- == 13 )
                             break;
                       
                        if( player.x == 15 && player.y-- == 17 )
                             break;
                       
                        if( player.x == 15 && player.y-- == 18 )
                             break;
                       
                        if( player.x == 15 && player.y-- == 19 )
                             break;
                       
                        if( player.x == 15 && player.y-- == 23 )
                             break;
                       
                        if( player.x == 15 && player.y-- == 24 )
                             break;
                       
                        if( player.x == 15 && player.y-- == 25 )
                             break;
                       
                        if( player.x == 17 && player.y-- == 11 )
                             break;
                       
                        if( player.x == 17 && player.y-- == 12 )
                             break;
                       
                        if( player.x == 17 && player.y-- == 13 )
                             break;
                       
                        if( player.x == 17 && player.y-- == 17 )
                             break;
                       
                        if( player.x == 17 && player.y-- == 18 )
                             break;
                       
                        if( player.x == 17 && player.y-- == 19 )
                             break;
                       
                        if( player.x == 17 && player.y-- == 23 )
                             break;
                       
                        if( player.x == 17 && player.y-- == 24 )
                             break;
                       
                        if( player.x == 17 && player.y-- == 25 )
                             break;
                       
                        if( player.y-- == 0 )
                             break;
                       
                        else
                             player.y++;
                       
                        ruch++;
                        break;
                    }
                case 'd':
                    {
                        if( player.x == 7 && player.y++ == 11 )
                             break;
                       
                        if( player.x == 7 && player.y++ == 12 )
                             break;
                       
                        if( player.x == 7 && player.y++ == 13 )
                             break;
                       
                        if( player.x == 7 && player.y++ == 17 )
                             break;
                       
                        if( player.x == 7 && player.y++ == 18 )
                             break;
                       
                        if( player.x == 7 && player.y++ == 19 )
                             break;
                       
                        if( player.x == 7 && player.y++ == 23 )
                             break;
                       
                        if( player.x == 7 && player.y++ == 24 )
                             break;
                       
                        if( player.x == 7 && player.y++ == 25 )
                             break;
                       
                        if( player.x == 9 && player.y++ == 11 )
                             break;
                       
                        if( player.x == 9 && player.y++ == 12 )
                             break;
                       
                        if( player.x == 9 && player.y++ == 13 )
                             break;
                       
                        if( player.x == 9 && player.y++ == 17 )
                             break;
                       
                        if( player.x == 9 && player.y++ == 18 )
                             break;
                       
                        if( player.x == 9 && player.y++ == 19 )
                             break;
                       
                        if( player.x == 9 && player.y++ == 23 )
                             break;
                       
                        if( player.x == 9 && player.y++ == 24 )
                             break;
                       
                        if( player.x == 9 && player.y++ == 25 )
                             break;
                       
                        if( player.x == 11 && player.y++ == 11 )
                             break;
                       
                        if( player.x == 11 && player.y++ == 12 )
                             break;
                       
                        if( player.x == 11 && player.y++ == 13 )
                             break;
                       
                        if( player.x == 11 && player.y++ == 17 )
                             break;
                       
                        if( player.x == 11 && player.y++ == 18 )
                             break;
                       
                        if( player.x == 11 && player.y++ == 19 )
                             break;
                       
                        if( player.x == 11 && player.y++ == 23 )
                             break;
                       
                        if( player.x == 11 && player.y++ == 24 )
                             break;
                       
                        if( player.x == 11 && player.y++ == 25 )
                             break;
                       
                        if( player.x == 13 && player.y++ == 11 )
                             break;
                       
                        if( player.x == 13 && player.y++ == 12 )
                             break;
                       
                        if( player.x == 13 && player.y++ == 13 )
                             break;
                       
                        if( player.x == 13 && player.y++ == 17 )
                             break;
                       
                        if( player.x == 13 && player.y++ == 18 )
                             break;
                       
                        if( player.x == 13 && player.y++ == 19 )
                             break;
                       
                        if( player.x == 13 && player.y++ == 23 )
                             break;
                       
                        if( player.x == 13 && player.y++ == 24 )
                             break;
                       
                        if( player.x == 13 && player.y++ == 25 )
                             break;
                       
                        if( player.x == 15 && player.y++ == 11 )
                             break;
                       
                        if( player.x == 15 && player.y++ == 12 )
                             break;
                       
                        if( player.x == 15 && player.y++ == 13 )
                             break;
                       
                        if( player.x == 15 && player.y++ == 17 )
                             break;
                       
                        if( player.x == 15 && player.y++ == 18 )
                             break;
                       
                        if( player.x == 15 && player.y++ == 19 )
                             break;
                       
                        if( player.x == 15 && player.y++ == 23 )
                             break;
                       
                        if( player.x == 15 && player.y++ == 24 )
                             break;
                       
                        if( player.x == 15 && player.y++ == 25 )
                             break;
                       
                        if( player.x == 17 && player.y++ == 11 )
                             break;
                       
                        if( player.x == 17 && player.y++ == 12 )
                             break;
                       
                        if( player.x == 17 && player.y++ == 13 )
                             break;
                       
                        if( player.x == 17 && player.y++ == 17 )
                             break;
                       
                        if( player.x == 17 && player.y++ == 18 )
                             break;
                       
                        if( player.x == 17 && player.y++ == 19 )
                             break;
                       
                        if( player.x == 17 && player.y++ == 23 )
                             break;
                       
                        if( player.x == 17 && player.y++ == 24 )
                             break;
                       
                        if( player.x == 17 && player.y++ == 25 )
                             break;
                       
                        if( player.y + 1 == MAP_Y - 1 )
                             break;
                       
                        else
                             player.y++;
                       
                        ruch++;
                        break;
                    }
                   
                } // switch z case 1
                if( player.x == 2 && player.y == 0 )
                     lvl++;
               
                if( player.x == 2 && player.y == 1 )
                     lvl++;
               
                if( player.x == 3 && player.y == 0 )
                     lvl++;
               
                if( player.x == 3 && player.y == 1 )
                     lvl++;
               
            } //case 1
           
        case 2:
            {
                char move = getch();
                switch( move )
                {
                case 'w':
                    if( player.x - 1 == 0 )
                         break;
                   
                    else
                         player.x--;
                   
                    ruch++;
                    break;
                   
                case 's':
                    if( player.x + 1 == MAP_X - 1 )
                         break;
                   
                    else
                         player.x++;
                   
                    ruch++;
                    break;
                   
                case 'a':
                    if( player.y - 1 == 0 )
                         break;
                   
                    else
                         player.y--;
                   
                    ruch++;
                    break;
                   
                case 'd':
                    if( player.y + 1 == MAP_Y - 1 )
                         break;
                   
                    else
                         player.y++;
                   
                    ruch++;
                    break;
                   
                } //switch z case 2
            } //case 2
           
        } //switch lvl
       
    } //VOID MOVE
   
    void start()
    {
        system( "title MtN Game!" );
        cout << "Witaj w swiecie MtN!\n"
        "Dzis twoim zadaniem bedzie wcielenie sie w Matiego i przezycie dnia w szkole. Powodzenia!\n"
        "Poruszasz sie za pomoca WASD.\n"
        "Nacisnij dowolny przycisk, by zaczac!\n";
        getch();
        system( "cls" );
    } //VOID START
   
   
}; //KONIEC CLASS GAME

class Map
{
    int map[ MAP_X ][ MAP_Y ];
    int map2[ MAP_X ][ MAP_Y ];
   
public:
   
    void draw_map2()
    {
        for( i = 0; i < MAP_X; i++ )
        {
            for( j = 0; j < MAP_Y; j++ )
            {
                switch( map2[ i ][ j ] )
                {
                case 0:
                    cout << ".";
                    break;
                   
                case 1:
                    cout << "&";
                    break;
                   
                case 2:
                    cout << "0";
                    break;
                   
                case 3:
                    cout << "X";
                    break;
                   
                case 4:
                    cout << "|";
                    break;
                   
                }
            }
            cout << endl;
        }
    } //DRAW MAP2
   
   
    void rysuj_mape()
    {
        switch( lvl )
        {
        case 1:
            draw_map();
            break;
        case 2:
            draw_map2();
            break;
        }
    } //rysuj_mape
   
   
   
    void reset_map()
    {
        for( i = 0; i < MAP_X; i++ )
        {
            for( j = 0; j < MAP_Y; j++ )
            {
                map[ i ][ j ] = 0;
                map2[ i ][ j ] = 0;
            }
        }
    } //RESET MAPY
   
    void draw_map()
    {
        for( i = 0; i < MAP_X; i++ )
        {
            for( j = 0; j < MAP_Y; j++ )
            {
                switch( map[ i ][ j ] )
                {
                case 0:
                    cout << ".";
                    break;
                   
                case 1:
                    cout << "&";
                    break;
                   
                case 2:
                    cout << "0";
                    break;
                   
                case 3:
                    cout << "X";
                    break;
                   
                case 4:
                    cout << "[";
                    break;
                   
                case 5:
                    cout << "_";
                    break;
                   
                case 6:
                    cout << "]";
                    break;
                   
                case 7:
                    cout << "|";
                    break;
                   
                case 8:
                    cout << "M";
                    break;
                   
                case 9:
                    cout << "K";
                    break;
                   
                case 10:
                    cout << "D";
                    break;
                   
                case 11:
                    cout << "S";
                    break;
                   
                case 12:
                    cout << "P";
                    break;
                   
                case 13:
                    cout << "-";
                   
                }
            }
            cout << endl;
        }
    } //DRAW MAP
   
    void put_player()
    {
        map[ 10 ][ 23 ] = 1;
        map2[ 17 ][ 27 ] = 1;
    } //RZUT GRACZEM
   
    void ramka()
    {
        for( i = 0; i < MAP_X; i++ )
        {
            map[ MAP_X - 1 ][ i ] = 2;
            map[ i ][ 0 ] = 2;
            map2[ MAP_X - 1 ][ i ] = 2;
            map2[ i ][ 0 ] = 2;
           
        }
       
        for( j = 0; j < MAP_Y; j++ )
        {
            map[ i ][ MAP_Y - 1 ] = 2;
            map[ i ][ 0 ] = 2;
            map2[ i ][ MAP_Y - 1 ] = 2;
            map2[ i ][ 0 ] = 2;
           
        }
    } //RAMKA(DO otoczenie())
   
    void lawki_okna()
    {
        map[ 1 ][ 10 ] = 7;
        map[ 1 ][ 21 ] = 7; //TABLICA
        for( i = 11; i <= 20; i++ )
        {
            map[ 1 ][ i ] = 7;
        }
       
       
        map[ 7 ][ 11 ] = 4;
        map[ 7 ][ 12 ] = 5; //lawka I
        map[ 7 ][ 13 ] = 6;
       
        map[ 7 ][ 17 ] = 4;
        map[ 7 ][ 18 ] = 5; //lawka II
        map[ 7 ][ 19 ] = 6;
       
        map[ 7 ][ 23 ] = 4;
        map[ 7 ][ 24 ] = 5; //lawka III
        map[ 7 ][ 25 ] = 6;
       
        map[ 9 ][ 11 ] = 4;
        map[ 9 ][ 12 ] = 5; //lawka IV
        map[ 9 ][ 13 ] = 6;
       
        map[ 9 ][ 17 ] = 4;
        map[ 9 ][ 18 ] = 5; //lawka V
        map[ 9 ][ 19 ] = 6;
       
        map[ 9 ][ 23 ] = 4;
        map[ 9 ][ 24 ] = 5; //lawka VI
        map[ 9 ][ 25 ] = 6;
       
        map[ 11 ][ 11 ] = 4;
        map[ 11 ][ 12 ] = 5; //lawka VII
        map[ 11 ][ 13 ] = 6;
       
        map[ 11 ][ 17 ] = 4;
        map[ 11 ][ 18 ] = 5; //lawka VIII
        map[ 11 ][ 19 ] = 6;
       
        map[ 11 ][ 23 ] = 4;
        map[ 11 ][ 24 ] = 5; //lawka IX
        map[ 11 ][ 25 ] = 6;
       
        map[ 13 ][ 11 ] = 4;
        map[ 13 ][ 12 ] = 5; //lawka X
        map[ 13 ][ 13 ] = 6;
       
        map[ 13 ][ 17 ] = 4;
        map[ 13 ][ 18 ] = 5; //lawka XI
        map[ 13 ][ 19 ] = 6;
       
        map[ 13 ][ 23 ] = 4;
        map[ 13 ][ 24 ] = 5; //lawka XI
        map[ 13 ][ 25 ] = 6;
       
        map[ 15 ][ 11 ] = 4;
        map[ 15 ][ 12 ] = 5; //lawka I
        map[ 15 ][ 13 ] = 6;
       
        map[ 15 ][ 17 ] = 4;
        map[ 15 ][ 18 ] = 5; //lawka II
        map[ 15 ][ 19 ] = 6;
       
        map[ 15 ][ 23 ] = 4;
        map[ 15 ][ 24 ] = 5; //lawka III
        map[ 15 ][ 25 ] = 6;
       
        map[ 17 ][ 11 ] = 4;
        map[ 17 ][ 12 ] = 5; //lawka I
        map[ 17 ][ 13 ] = 6;
       
        map[ 17 ][ 17 ] = 4;
        map[ 17 ][ 18 ] = 5; //lawka II
        map[ 17 ][ 19 ] = 6;
       
        map[ 17 ][ 23 ] = 4;
        map[ 17 ][ 24 ] = 5; //lawka III
        map[ 17 ][ 25 ] = 6;
       
        map[ 4 ][ 19 ] = 7;
        map[ 5 ][ 19 ] = 7; //OKNO
        map[ 6 ][ 19 ] = 7;
       
        map[ 9 ][ 19 ] = 7;
        map[ 10 ][ 19 ] = 7; //OKNO
        map[ 11 ][ 19 ] = 7;
       
        map[ 14 ][ 19 ] = 7;
        map[ 15 ][ 19 ] = 7; //OKNO
        map[ 16 ][ 19 ] = 7;
        /////////////////////////////MAPA2
        map2[ 1 ][ 6 ] = 2;
        map2[ 2 ][ 6 ] = 2;
        map2[ 5 ][ 6 ] = 2;
        map2[ 6 ][ 6 ] = 2;
       
        map2[ 1 ][ 14 ] = 2;
        map2[ 3 ][ 14 ] = 2;
        map2[ 5 ][ 14 ] = 2;
        map2[ 7 ][ 14 ] = 2;
        for( i = 1; i <= 14; i++ )
        {
            map2[ 4 ][ i ] = 2;
        }
        for( i = 1; i <= 14; i++ )
        {
            map2[ 8 ][ i ] = 2;
        }
       
       
       
    } //LAWECZKI(DO otoczenie())
   
    void otoczenie()
    {
        map[ 2 ][ 0 ] = 3; //DRZWI I
        map[ 3 ][ 0 ] = 3; //DRZWI II               //lvl=2;
        map[ 2 ][ 1 ] = 3; //DRZWI WLASCIWE
        map[ 3 ][ 1 ] = 3; //DRZWI WLASCIWE 2
       
       
        map2[ 16 ][ 28 ] = 3; //WL
        map2[ 16 ][ 29 ] = 3; //lvl=1
        map2[ 17 ][ 28 ] = 3; //WL
        map2[ 17 ][ 29 ] = 3;
       
        map2[ 0 ][ 22 ] = 3;
        map2[ 0 ][ 23 ] = 3; //lvl=3
        map2[ 1 ][ 22 ] = 3; //WL
        map2[ 1 ][ 23 ] = 3; //WL
       
       
        ramka();
        lawki_okna();
       
        map[ 8 ][ 23 ] = 8; //JA
        map[ 8 ][ 25 ] = 9; //KOSTEK
        map[ 10 ][ 25 ] = 10; //DUDZIO
        map[ 12 ][ 12 ] = 11; //SZYNA
        map[ 12 ][ 24 ] = 12; //PRZEMO
    }
   
}; //KONIEC CLASS MAP

int main()
{
    Game g;
    Map m;
   
    g.start();
    for(;; )
    {
        m.reset_map();
        m.otoczenie();
        m.put_player();
        m.rysuj_mape();
        g.move();
        system( "cls" );
    }
   
   
}
P-61343
SeaMonster131
» 2012-07-29 11:29:41
Nigdy nie widziałem na oczy takiego kodu. o.O

Co do błędu, masz np nazwę funkcji i zmiennej taką samą:
C/C++
void move() // !
{
    switch( lvl )
    {
    case 1:
        {
            char move = getch(); // !

A co do tych wieelkich if'ów - nie trzeba tak robic. Wystarczy że masz zmienną X, Y, i tylko nimi manipulujesz, np:
C/C++
player.x = 10;
player.y = 20;

...

if( klawisz_W )
     player.y--;

if( klawisz S )
     player.y++;

..

...

Wyswietl_Gracza( player.x, player.y );

Co do niezadeklarowane cout i endl sprawa ma się tak, iż są one w przestrzeni nazw std, a co za tym idzie musisz pisać albo:
std::cout, std::endl, lub walnąć gdzieś przed ich używaniem using namespace std;
P-61347
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
.
» 2012-07-29 12:20:33
Nie zauwazylem braku namespace, jestem przyzwyczajony do tego, ze c::b sam dopisuje ;p
Takze nie wiedzialem, ze nazwy nie moga byc takie same.
Ale Sea, tu nie chodzi o poruszanie tylko o zablokowanie mozliwosci poruszania sie na dany element, bo sam zauwaz, ze

else
player.x--
break;

to sluzy do poruszania sie ;p

Kod az tak straszny?

WIELKIE DZIEKI! :D
P-61356
SeaMonster131
» 2012-07-29 13:51:36
To nie lepiej zrobić tak?
C/C++
char mapa[ 5 ][ 5 ] =
{
    'x', 'x', 'x', 'x', 'x',
    'x', ' ', 'x', ' ', 'x',
    'x', ' ', ' ', ' ', 'x',
    'x', ' ', 'x', ' ', 'x',
    'x', 'x', 'x', 'x', 'x',
};

...

if( klawisz_W && mapa[ player.y - 1 ][ player.x ] == ' ' )
     player.y--;

if( klawisz_S && mapa[ player.y + 1 ][ player.x ] == ' ' )
     player.y++;

..itd
?
Wtedy będzie można poruszać się tylko po wolnym polu (' ').
P-61363
pekfos
» 2012-07-29 14:05:20
multiple types in one declaration
C/C++
struct
{
    //..
}; // <- tu średnik ma być.
P-61366
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
.
» 2012-07-29 14:32:47
Ej, a musza byc te klasy? Bez klas by nie dzialalo? Bez nich bylo by lepiej, bo pisze, ze np.cos nie jest zadeklarowane itd.itp?

Dzieki z tym struct, tego tez nie zauwazylem.
P-61369
SeaMonster131
» 2012-07-29 14:36:21
Ej, a musza byc te klasy? Bez klas by nie dzialalo? Bez nich bylo by lepiej, bo pisze, ze np.cos nie jest zadeklarowane itd.itp?
Przy większych projektach klasy bardzo się przydają, co nie znaczy, że musisz z nich korzystać.
P-61371
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
.
» 2012-07-29 14:51:59
Zauwazylem, ze jezeli nie ma wogole klasy, to pisze, ze player jest undeclarated, chociaz zrobilem

Position2D player;

Korzystam teraz z 1 klasy, dzieki za podpowiedz
P-61374
« 1 » 2 3
  Strona 1 z 3 Następna strona