Main Page   Packages   Class Hierarchy   Alphabetical List   Data Structures   File List   Namespace Members   Data Fields   Globals  

GameSelector.cpp

Go to the documentation of this file.
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:

SourceForge Logo