git repos / blockattack-game

commit 81d9c25d

sago007 · 2008-11-24 09:50
81d9c25dff7eb42e5cb86237fe3aaf6f3a5bfbfd patch · browse files
parent 32c9b349917f2a5f1935d1d419346f05519181ad

Stats screen to see your stats (currently on F11)


git-svn-id: https://blockattack.svn.sourceforge.net/svnroot/blockattack/trunk@54 9d7177f8-192b-0410-8f35-a16a89829b06

Changed files

M source/code/main.cpp before
diff --git a/source/code/main.cpp b/source/code/main.cpp index eb97c64..5f74aa1 100644 --- a/source/code/main.cpp +++ b/source/code/main.cpp
@@ -1917,6 +1917,74 @@ bool OpenDialogbox(int x, int y, char *name)
return accept;
}
+void OpenStatsDisplay()
+{
+ bool done = false; //We are done!
+ MakeBackground(1024,768);
+ DrawIMG(background,screen,0,0);
+ int y = 5;
+ const int y_spacing = 30;
+ SFont_Write(screen,fBlueFont,10,y,"Stats");
+ y+=y_spacing*2;
+ SFont_Write(screen,fBlueFont,10,y,"Chains");
+ for(int i=2;i<13;i++)
+ {
+ y+=y_spacing;
+ SFont_Write(screen,fBlueFont,10,y,(itoa(i)+"X").c_str());
+ string numberAsString = itoa(Stats::getInstance()->getNumberOf("chainX"+itoa(i)));
+ SFont_Write(screen,fBlueFont,300,y,numberAsString.c_str());
+ }
+ y+=y_spacing*2;
+ SFont_Write(screen,fBlueFont,10,y,"Lines Pushed: ");
+ string numberAsString = itoa(Stats::getInstance()->getNumberOf("linesPushed"));
+ SFont_Write(screen,fBlueFont,300,y,numberAsString.c_str());
+
+ y+=y_spacing;
+ SFont_Write(screen,fBlueFont,10,y,"Puzzles solved: ");
+ numberAsString = itoa(Stats::getInstance()->getNumberOf("puzzlesSolved"));
+ SFont_Write(screen,fBlueFont,300,y,numberAsString.c_str());
+
+ const int x_offset = 1024/2+10;
+ y = 5+y_spacing*2;
+ SFont_Write(screen,fBlueFont,x_offset,y,"VS CPU (win/loss)");
+ for(int i=0;i<7;i++)
+ {
+ y += y_spacing;
+ SFont_Write(screen,fBlueFont,x_offset,y,("AI "+itoa(i+1)).c_str());
+ numberAsString = itoa(Stats::getInstance()->getNumberOf("defeatedAI"+itoa(i)));
+ string numberAsString2 = itoa(Stats::getInstance()->getNumberOf("defeatedByAI"+itoa(i)));
+ string toPrint = numberAsString + "/" + numberAsString2;
+ SFont_Write(screen,fBlueFont,x_offset+230,y,toPrint.c_str());
+ }
+
+ SDL_Flip(screen); //Update screen
+ while (!done)
+ {
+ SDL_Delay(10);
+ SDL_Event event;
+
+ while ( SDL_PollEvent(&event) )
+ {
+ if ( event.type == SDL_QUIT ) {
+ done = true;
+ }
+
+ if ( event.type == SDL_KEYDOWN )
+ {
+ if ( (event.key.keysym.sym == SDLK_RETURN)||(event.key.keysym.sym == SDLK_KP_ENTER) ) {
+ done = true;
+ }
+ else
+ if ( (event.key.keysym.sym == SDLK_ESCAPE) ) {
+ done = true;
+ }
+ }
+
+ } //while(event)
+
+ }
+}
+
//Open a puzzle file
bool OpenFileDialogbox(int x, int y, char *name)
@@ -3764,6 +3832,7 @@ int main(int argc, char *argv[])
//char mitNavn[30];
//SelectThemeDialogbox(300,400,mitNavn);
// MainMenu();
+ OpenStatsDisplay();
} //F11
}
if ( event.key.keysym.sym == SDLK_F12 ) {