[C++, SDL] Automatyczne zmienianie obrazków
Ostatnio zmodyfikowano 2013-01-07 18:43
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: #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; SDL_Init( SDL_INIT_EVERYTHING ); OBRAZ = SDL_SetVideoMode( 747, 328, 32, SDL_SWSURFACE ); SDL_WM_SetCaption( "MeGameOne", NULL ); tlo = SDL_LoadBMP( "tlo/tlo.bmp" ); autorzy = SDL_LoadBMP( "ikony/autorzy.bmp" ); zakoncz = SDL_LoadBMP( "ikony/wyjscie.bmp" ); switch( dd ) { 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 ) { 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 ) { 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 ) { 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; } 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; 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; }
|
|
1 2 3 « 4 » |