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

[C++, SDL] Automatyczne zmienianie obrazków

Ostatnio zmodyfikowano 2013-01-07 18:43
Autor Wiadomość
megatron
» 2013-01-07 18:43:34
cześć tu ja MeGameOne; :D
już trochę mnie ten foch popuścił, wiedziałem że będziecie coś jeszcze pisać, więc chciałem sprawdzić no i mam:
a to mój kod skrócony o dokładnie 609 linijek:
C/C++
#include <SDL/SDL.h>
#include <stdio.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include "Windows.h"


////////////////////////////////////////////////////////////////////////////////////

SDL_Surface * tlo = NULL;
SDL_Surface * OBRAZ = NULL;
SDL_Surface * autorzy = NULL;
SDL_Surface * zakoncz = NULL;
SDL_Surface * dni = NULL;
SDL_Surface * miesiace = NULL;
SDL_Surface * rok = NULL;
SDL_Surface * dni_tygodnia = NULL;

////////////////////////////////////////////////////////////////////////////////////
SDL_Event zdarzenie;

SDL_Rect tloDane;
SDL_Rect tloCel;

SDL_Rect autorzyDane;
SDL_Rect autorzyCel;

SDL_Rect zakonczDane;
SDL_Rect zakonczCel;

SDL_Rect dniDane;
SDL_Rect dniCel;

SDL_Rect miesiaceDane;
SDL_Rect miesiaceCel;

SDL_Rect rokDane;
SDL_Rect rokCel;

SDL_Rect dni_tygodniaDane;
SDL_Rect dni_tygodniaCel;

Uint8 * keystate = SDL_GetKeyState( NULL );
////////////////////////////////////////////////////////////////////////////////////

bool wyjscie = false;
int x, y;
int myszkaX, myszkaY;

////////////////////////////////////////////////////////////////////////////////////

int main( int argc, char * argv[] )
{
   
    //////////////////////
    SYSTEMTIME d, m, r, dtyg, s;
   
    GetSystemTime( & d );
    GetSystemTime( & m );
    GetSystemTime( & r );
    GetSystemTime( & dtyg );
   
   
   
    int dd = d.wDay, mm = m.wMonth, rr = r.wYear, dt = dtyg.wDayOfWeek;
   
    //OBRAZ
    //////////////////////
   
   
    SDL_Init( SDL_INIT_EVERYTHING );
   
    OBRAZ = SDL_SetVideoMode( 747, 328, 32, SDL_SWSURFACE );
   
    SDL_WM_SetCaption( "MeGameOne", NULL );
   
    ////////////////////////////////////////////////////////////////////////////////////
    tlo = SDL_LoadBMP( "tlo/tlo.bmp" ); //TLO
   
    autorzy = SDL_LoadBMP( "ikony/autorzy.bmp" ); //BUTTONY
    zakoncz = SDL_LoadBMP( "ikony/wyjscie.bmp" );
   
    switch( dd ) //OBRAZEK DZIEN
    {
    case 1:
        dni = SDL_LoadBMP( "ikony/01.bmp" );
        return dd;
        break;
    case 2:
        dni = SDL_LoadBMP( "ikony/02.bmp" );
        break;
    case 3:
        dni = SDL_LoadBMP( "ikony/03.bmp" );
        break;
    case 4:
        dni = SDL_LoadBMP( "ikony/04.bmp" );
        break;
    case 5:
        dni = SDL_LoadBMP( "ikony/05.bmp" );
        break;
    case 6:
        dni = SDL_LoadBMP( "ikony/06.bmp" );
        break;
    case 7:
        dni = SDL_LoadBMP( "ikony/07.bmp" );
        break;
    case 8:
        dni = SDL_LoadBMP( "ikony/08.bmp" );
        break;
    case 9:
        dni = SDL_LoadBMP( "ikony/09.bmp" );
        break;
    case 10:
        dni = SDL_LoadBMP( "ikony/10.bmp" );
        break;
    case 11:
        dni = SDL_LoadBMP( "ikony/11.bmp" );
        break;
    case 12:
        dni = SDL_LoadBMP( "ikony/12.bmp" );
        break;
    case 13:
        dni = SDL_LoadBMP( "ikony/13.bmp" );
        break;
    case 14:
        dni = SDL_LoadBMP( "ikony/14.bmp" );
        break;
    case 15:
        dni = SDL_LoadBMP( "ikony/15.bmp" );
        break;
    case 16:
        dni = SDL_LoadBMP( "ikony/16.bmp" );
        break;
    case 17:
        dni = SDL_LoadBMP( "ikony/17.bmp" );
        break;
    case 18:
        dni = SDL_LoadBMP( "ikony/18.bmp" );
        break;
    case 19:
        dni = SDL_LoadBMP( "ikony/19.bmp" );
        break;
    case 20:
        dni = SDL_LoadBMP( "ikony/20.bmp" );
        break;
    case 21:
        dni = SDL_LoadBMP( "ikony/21.bmp" );
        break;
    case 22:
        dni = SDL_LoadBMP( "ikony/22.bmp" );
        break;
    case 23:
        dni = SDL_LoadBMP( "ikony/23.bmp" );
        break;
    case 24:
        dni = SDL_LoadBMP( "ikony/24.bmp" );
        break;
    case 25:
        dni = SDL_LoadBMP( "ikony/25.bmp" );
        break;
    case 26:
        dni = SDL_LoadBMP( "ikony/26.bmp" );
        break;
    case 27:
        dni = SDL_LoadBMP( "ikony/27.bmp" );
        break;
    case 28:
        dni = SDL_LoadBMP( "ikony/28.bmp" );
        break;
    case 29:
        dni = SDL_LoadBMP( "ikony/29.bmp" );
        break;
    case 30:
        dni = SDL_LoadBMP( "ikony/30.bmp" );
        break;
    case 31:
        dni = SDL_LoadBMP( "ikony/31.bmp" );
        break;
    }
   
    switch( mm ) //OBRAZEK MIECIAC
    {
    case 1:
        miesiace = SDL_LoadBMP( "ikony/01.bmp" );
        break;
    case 2:
        miesiace = SDL_LoadBMP( "ikony/02.bmp" );
        break;
    case 3:
        miesiace = SDL_LoadBMP( "ikony/03.bmp" );
        break;
    case 4:
        miesiace = SDL_LoadBMP( "ikony/04.bmp" );
        break;
    case 5:
        miesiace = SDL_LoadBMP( "ikony/05.bmp" );
        break;
    case 6:
        miesiace = SDL_LoadBMP( "ikony/06.bmp" );
        break;
    case 7:
        miesiace = SDL_LoadBMP( "ikony/07.bmp" );
        break;
    case 8:
        miesiace = SDL_LoadBMP( "ikony/08.bmp" );
        break;
    case 9:
        miesiace = SDL_LoadBMP( "ikony/09.bmp" );
        break;
    case 10:
        miesiace = SDL_LoadBMP( "ikony/10.bmp" );
        break;
    case 11:
        miesiace = SDL_LoadBMP( "ikony/11.bmp" );
        break;
    case 12:
        miesiace = SDL_LoadBMP( "ikony/12.bmp" );
        break;
    }
   
    switch( rr ) //OBRAZEK ROK
    {
    case 2013:
        rok = SDL_LoadBMP( "ikony/2013.bmp" );
        break;
    case 2014:
        rok = SDL_LoadBMP( "ikony/2014.bmp" );
        break;
    case 2015:
        rok = SDL_LoadBMP( "ikony/2015.bmp" );
        break;
    case 2016:
        rok = SDL_LoadBMP( "ikony/2016.bmp" );
        break;
    case 2017:
        rok = SDL_LoadBMP( "ikony/2017.bmp" );
        break;
    case 2018:
        rok = SDL_LoadBMP( "ikony/2018.bmp" );
        break;
    case 2019:
        rok = SDL_LoadBMP( "ikony/2019.bmp" );
        break;
    case 2020:
        rok = SDL_LoadBMP( "ikony/2020.bmp" );
        break;
    }
   
    switch( dt ) //OBRAZEK DZIEN TYGODNIA
    {
    case 1:
        dni_tygodnia = SDL_LoadBMP( "ikony/pon.bmp" );
        break;
    case 2:
        dni_tygodnia = SDL_LoadBMP( "ikony/wt.bmp" );
        break;
    case 3:
        dni_tygodnia = SDL_LoadBMP( "ikony/sr.bmp" );
        break;
    case 4:
        dni_tygodnia = SDL_LoadBMP( "ikony/czw.bmp" );
        break;
    case 5:
        dni_tygodnia = SDL_LoadBMP( "ikony/pt.bmp" );
        break;
    case 6:
        dni_tygodnia = SDL_LoadBMP( "ikony/sob.bmp" );
        break;
    case 0:
        dni_tygodnia = SDL_LoadBMP( "ikony/nd.bmp" );
        break;
    }
   
   
    //POZYCJA I WIELKOSC
    ////////////////////////////////////////////////////////////////////////////////////
    tloDane.w = 2000;
    tloDane.h = 2000;
    tloCel.x = 0;
    tloCel.y = 0;
   
    autorzyDane.w = 200;
    autorzyDane.h = 200;
    autorzyCel.x = 10;
    autorzyCel.y = 180;
   
    zakonczDane.w = 200;
    zakonczDane.h = 200;
    zakonczCel.x = 10;
    zakonczCel.y = 250;
   
    dniDane.w = 200;
    dniDane.h = 200;
    dniCel.x = 350;
    dniCel.y = 250;
   
    miesiaceDane.w = 200;
    miesiaceDane.h = 200;
    miesiaceCel.x = 450;
    miesiaceCel.y = 250;
   
    rokDane.w = 200;
    rokDane.h = 200;
    rokCel.x = 550;
    rokCel.y = 250;
   
    dni_tygodniaDane.w = 400;
    dni_tygodniaDane.h = 200;
    dni_tygodniaCel.x = 350;
    dni_tygodniaCel.y = 195;
   
    //GLOWNA PETLA
    ////////////////////////////////////////////////////////////////////////////////////
   
    while( !wyjscie )
    {
       
       
       
        SDL_BlitSurface( tlo, & tloDane, OBRAZ, & tloCel );
        SDL_BlitSurface( autorzy, & autorzyDane, OBRAZ, & autorzyCel );
        SDL_BlitSurface( zakoncz, & zakonczDane, OBRAZ, & zakonczCel );
        SDL_BlitSurface( dni, & dniDane, OBRAZ, & dniCel );
        SDL_BlitSurface( miesiace, & miesiaceDane, OBRAZ, & miesiaceCel );
        SDL_BlitSurface( rok, & rokDane, OBRAZ, & rokCel );
        SDL_BlitSurface( dni_tygodnia, & dni_tygodniaDane, OBRAZ, & dni_tygodniaCel );
       
        while( SDL_PollEvent( & zdarzenie ) )
        {
           
            if( zdarzenie.type == SDL_MOUSEMOTION )
            {
                myszkaX = zdarzenie.motion.x;
                myszkaY = zdarzenie.motion.y;
            }
            if( zdarzenie.type == SDL_MOUSEBUTTONDOWN )
            {
                if( zdarzenie.button.button == SDL_BUTTON_LEFT &&
                ( myszkaX >= autorzyCel.x && myszkaX <=
                autorzyCel.x + autorzyDane.w ) &&( myszkaY >=
                autorzyCel.y && myszkaY <= autorzyCel.y +
                autorzyDane.h ) )
                {
                   
                }
               
                if( zdarzenie.button.button == SDL_BUTTON_LEFT &&
                ( myszkaX >= zakonczCel.x && myszkaX <=
                zakonczCel.x + zakonczDane.w ) &&( myszkaY >=
                zakonczCel.y && myszkaY <= zakonczCel.y +
                zakonczDane.h ) )
                {
                    wyjscie = true;
                }
            }
            if( zdarzenie.type == SDL_QUIT )
            {
                wyjscie = true;
            }
           
            if( keystate[ SDLK_ESCAPE ] )
            {
                wyjscie = true;
            }
        };
       
        SDL_Flip( OBRAZ );
    }
    ////////////////////////////////////////////////////////////////////////////////////
   
    SDL_Quit();
   
    return 0;
}
P-73259
1 2 3 « 4 »
Poprzednia strona Strona 4 z 4