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

SFML mapa kafelkowa, kod do sprawdzenia i poprawy.

Ostatnio zmodyfikowano 2011-08-17 20:51
Autor Wiadomość
RoinarN
Temat założony przez niniejszego użytkownika
SFML mapa kafelkowa, kod do sprawdzenia i poprawy.
» 2011-08-17 19:49:11
Witam, znowu znowu ja :F
Mam problem z tą mapą kafelkową, nie wiem co jest źle...
Wyświetla mi 17 błędów:
http://wklej.org/id/578224/
A tutaj kod programu:
C/C++
#include <SFML/Graphics.hpp>
////////////////////////////
using namespace sf;
////////////////////////////
int szerokosc_kafla = 32, wysokosc_kafla = 32;

int map_x, map_y;
///////////////////////////
int main()
{
    RenderWindow plansza( VideoMode( 800, 600, 32 ), "Test kształtów i sterowania." );
    plansza.SetFramerateLimit( 120 );
   
    Image bricks;
    bricks.LoadFromFile( "bricks.gif" );
    Sprite 1;
    1.SetImage( bricks );
   
    Image kafelek1;
    kafelek1.LoadFromFile( "1.jpg" );
    Sprite 2;
    2.SetImage( kafelek1 );
   
    Image kafelek2;
    kafelek2.LoadFromFile( "2.jpg" );
    Sprite 3;
    3.SetImage( kefelek2 );
   
    int mapa[ 20 ][ 20 ]
    {
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    }
   
    while( plansza.IsOpened() )
    {
        Event zdarzenie;
        while( plansza.GetEvent( zdarzenie ) )
        {
            if( zdarzenie.Type == Event::Closed )
                 plansza.Close();
           
        }
       
        const Input & sterowanie = plansza.GetInput();
        if( sterowanie.IsKeyDown( Key::Left ) )
             map_x--;
       
        if( sterowanie.IsKeyDown( Key::Right ) )
             map_x++;
       
        if( sterowanie.IsKeyDown( Key::Up ) )
             map_y--;
       
        if( sterowanie.IsKeyDown( Key::Down ) )
             map_y++;
       
        plansza.Clear( Color( 255, 0, 0 ) );
        plansza.Draw( mapa() );
        plansza.Display();
    }
Ja już nic z tego nie rozumiem, w kodzie błędu mi pokazuje że pominąłem średnik kilkanaście razy, a wszędzie jest(jak mi się wydaje) gdzie powinien być.
Błagam pomóżcie mi bo ja już nie mam pojęcia jak to zrobić
P-39355
m4tx
» 2011-08-17 19:56:11
Nie możesz nazywać zmiennych samymi liczbami.
P-39356
RoinarN
Temat założony przez niniejszego użytkownika
» 2011-08-17 19:57:58
Ale to sprajty...
Możesz mi to poprawić jak powinno być?
P-39357
m4tx
» 2011-08-17 19:58:24
Sprajty to też zmienne.

3.SetImage( kefelek2 );
kefelek? Hm...
P-39358
RoinarN
Temat założony przez niniejszego użytkownika
» 2011-08-17 19:59:30
To jak mam to zrobić?
Literówka, dzięki, jeden błąd mniej...
P-39359
m4tx
» 2011-08-17 20:01:07
Zamień 1 np. na spr1, 2 na spr2 itd...

C/C++
int mapa[ 20 ][ 20 ]
{
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2;
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2;
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3;
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2;
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2;
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3;
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2;
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2;
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3;
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2;
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2;
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3;
}

1. Zamień średniki na przecinki
2. Musisz w każdej linijce walnąć klamry, czyli np:
C/C++
{ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
3. Po
int mapa[ 20 ][ 20 ]
 dowal jeszcze znak równości.
4. Po ostatniej klamerce dodaj średnik.

Ogólnie to zanim bym się zabrał za pisanie gier, przestudiowałbym cały kurs C++, a nie...
P-39360
RoinarN
Temat założony przez niniejszego użytkownika
» 2011-08-17 20:10:07
z 17błędów po poprawieniu zrobiły się 42błędy
P-39361
m4tx
» 2011-08-17 20:11:12
No ciekawe, bo ja mam teraz 1 błąd.
P-39362
« 1 » 2 3 4
  Strona 1 z 4 Następna strona