Back to Evolution Project page
00001 00002 #include "Application.h" 00003 #include "System.h" 00004 #include "configs.h" 00005 00006 #include "Screen.h" 00007 #include "ScreenMenu.h" 00008 #include "ScreenGame.h" 00009 #include "ScreenLevelEditor.h" 00010 #include "ScreenLoadLevel.h" 00011 00012 #include <stdio.h> 00013 00014 #include <ClanLib/core.h> 00015 00016 int TApplication::Run() { 00017 //*This recource will be shared with all screens. 00018 CL_ResourceManager *resources; 00019 TLevel *gamelevel; 00020 00021 TScreenMenu* screen_menu; 00022 TScreenGame* screen_game; 00023 TScreenLevelEditor* screen_level_editor; 00024 TScreenLoadLevel* screen_load_level; 00025 int next_screen=SCREEN_DEFAULT; 00026 00027 //* Init system... 00028 TSystem::init(); 00029 00030 //* Create Resources... 00031 try { 00032 resources = CL_ResourceManager::create("evolution.dat", true); 00033 } 00034 catch (CL_Error err) { 00035 resources = CL_ResourceManager::create("evolution.scr", false); 00036 } 00037 00038 gamelevel = new TLevel(); 00039 gamelevel->Init(5, 5); //Initialize level with a arbitrary value... 00040 gamelevel->set_window(4, 0, 26, 26); 00041 00044 do { 00045 switch(next_screen) { 00046 case SCREEN_MENU: 00047 screen_menu = new TScreenMenu(resources, gamelevel); 00048 next_screen = screen_menu->Show(); 00049 delete screen_menu; 00050 break; 00051 case SCREEN_GAME: 00052 screen_game = new TScreenGame(resources, gamelevel); 00053 next_screen = screen_game->Show(); 00054 delete screen_game; 00055 break; 00056 case SCREEN_EDITOR: 00057 screen_level_editor = new TScreenLevelEditor(resources, gamelevel); 00058 next_screen = screen_level_editor->Show(); 00059 delete screen_level_editor; 00060 break; 00061 case SCREEN_LOAD: 00062 screen_load_level = new TScreenLoadLevel(resources, gamelevel); 00063 next_screen = screen_load_level->Show(); 00064 delete screen_load_level; 00065 break; 00066 default: 00067 break; 00068 } 00069 printf("next screen: %d \n", next_screen); 00070 resources->unload_all_resources(); 00071 } while (next_screen!=SCREEN_QUIT); 00072 00073 printf ("Rodei! ;-) \n\n\n\n\n\n"); 00074 00075 //* De allocate memory 00076 // delete resources; 00077 00078 //*Finish the program... 00079 TSystem::finish(); 00080 return 0; 00081 } 00082 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 00111
1.0.0 written by Dimitri van Heesch,
© 1997-1999