00001 /* 00002 * $Id: GameSelector.cpp,v 1.4 2002/08/09 05:53:25 virtualcasino Exp $ 00003 */ 00004 #include<GameSelector.h> 00005 #include<SDL.h> 00006 #include<fx.h> 00007 00008 extern SDL_Event globalEvent; 00009 namespace clawsoft { 00010 00011 GameSelButton::GameSelButton(Rect &r, const char *cap):TextButton(r, cap){ } 00012 00013 GameSelector::GameSelector(){ 00014 setClassName("GameSelector"); 00015 X(332); 00016 Y(234); 00017 W(380); 00018 H(200); 00019 dType = DLG_CANCEL; 00020 caption = "Juegos"; 00021 bingoBtn = 0; 00022 ruletaBtn = 0; 00023 blackjackBtn = 0; 00024 } 00025 00026 void GameSelector::drawContents(){ 00027 bingoBtn->draw(); 00028 ruletaBtn->draw(); 00029 blackjackBtn->draw(); 00030 } 00031 00032 void GameSelector::cancelAction(int xx, int yy, int bb){ 00033 doexit = true; 00034 opt = 0; 00035 } 00036 00037 void static _center(GameSelButton *b){ 00038 b->X((Screen->w - b->W()) / 2); 00039 } 00040 00041 void GameSelector::map(){ 00042 int w; 00043 Dialog::map(); 00044 Rect r(200, 225, 106, 32); 00045 if(!bingoBtn){ 00046 bingoBtn = new GameSelButton(r, "Bingo-Virtual"); 00047 } 00048 bingoBtn->map(); 00049 if(!ruletaBtn){ 00050 r.Y(bingoBtn->H() + r.Y() + 10); 00051 ruletaBtn = new GameSelButton(r, "Cyber-Ruleta"); 00052 } 00053 ruletaBtn->map(); 00054 if(!blackjackBtn){ 00055 r.Y(ruletaBtn->H() + r.Y() + 10); 00056 blackjackBtn = new GameSelButton(r, "BlackJack (21)"); 00057 } 00058 blackjackBtn->map(); 00059 w = bingoBtn->W() + 60; 00060 if(ruletaBtn->W() > w) 00061 w = ruletaBtn->W(); 00062 if(blackjackBtn->W() > w) 00063 w = blackjackBtn->W(); 00064 00065 _center(bingoBtn); 00066 _center(ruletaBtn); 00067 _center(blackjackBtn); 00068 W(w); 00069 H(bingoBtn->H() * 3); 00070 X((Screen->w - W()) / 2); 00071 Dialog::map(); 00072 } 00073 00074 int GameSelector::run(){ 00075 bool flag; 00076 doexit = false; 00077 SDL_BlitSurface(bRes[BACKGROUND], 0, Screen, 0); 00078 while(!doexit){ 00079 flag = false; 00080 while(SDL_PollEvent(&globalEvent)){ 00081 switch(globalEvent.type){ 00082 case SDL_MOUSEMOTION: 00083 if(checkMouseMotionEvents()) 00084 SDL_BlitSurface(bRes[BACKGROUND], 0, Screen, 0); 00085 break; 00086 case SDL_MOUSEBUTTONDOWN: 00087 if(bingoBtn->checkMouseEvents()){ 00088 opt = BINGO; 00089 doexit = true; 00090 } 00091 if(ruletaBtn->checkMouseEvents()){ 00092 doexit = true; 00093 opt = RULETA; 00094 } 00095 if(blackjackBtn->checkMouseEvents()){ 00096 opt = BLACKJACK; 00097 doexit = true; 00098 } 00099 checkMouseEvents(); 00100 break; 00101 } 00102 flag = true; 00103 } 00104 if(flag){ 00105 draw(); 00106 SDL_Flip(Screen); 00107 } 00108 } 00109 return opt; 00110 } 00111 00112 }
Powered by: