#include <SFML/Graphics.hpp>
#include <iostream>
using namespace std;
using namespace sf;
int mapa[ 3 ][ 10 ] =
{
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 2, 1, 1, 1, 1, 1 },
{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }
};
int szer = 40, wys = 40;
int main()
{
Image obrazek1, obrazek2, obrazek3;
obrazek1.LoadFromFile( "tlo.png" );
obrazek2.LoadFromFile( "ludek1.png" );
obrazek3.LoadFromFile( "3.png" );
Sprite sprajt1;
Sprite sprajt2;
Sprite sprajt3;
sprajt1.SetImage( obrazek1 );
sprajt2.SetImage( obrazek2 );
sprajt3.SetImage( obrazek3 );
RenderWindow aplikacja( VideoMode( 800, 600, 32 ), "Mapa" );
aplikacja.SetFramerateLimit( 60 );
while( aplikacja.IsOpened() )
{
const sf::Input & sterowanie = aplikacja.GetInput();
Event zdarzenie;
while( aplikacja.GetEvent( zdarzenie ) )
{
if( zdarzenie.Type == Event::Closed )
aplikacja.Close();
}
aplikacja.Clear( Color( 0, 0, 0 ) );
for( int y = 0; y < 3; y++ )
{
for( int x = 0; x < 10; x++ )
{
if( mapa[ y ][ x ] == 1 )
sprajt1.SetPosition( wys * x, szer * y );
aplikacja.Draw( sprajt1 );
if( mapa[ y ][ x ] == 2 )
sprajt2.SetPosition( wys * x, szer * y );
aplikacja.Draw( sprajt2 );
if( mapa[ y ][ x ] == 3 )
sprajt3.SetPosition( wys * x, szer * y );
aplikacja.Draw( sprajt3 );
if( mapa[ x ][ y ] == 1 && sterowanie.IsKeyDown( sf::Key::Left ) )
sprajt2.Move( - 1, 0 );
sprajt2.GetPosition();
if( mapa[ x ][ y ] == 1 && sterowanie.IsKeyDown( sf::Key::Right ) )
sprajt2.Move( + 1, 0 );
sprajt2.GetPosition();
if( mapa[ x ][ y ] == 1 && sterowanie.IsKeyDown( sf::Key::Up ) )
sprajt2.Move( 0, - 1 );
sprajt2.GetPosition();
if( mapa[ x ][ y ] == 1 && sterowanie.IsKeyDown( sf::Key::Down ) )
sprajt2.Move( 0, + 1 );
sprajt2.GetPosition();
}
}
aplikacja.Display();
}
return 0;
}