Exemplo n.º 1
0
// entry point of the program
int main( int arc, char* argv[] )
{	
	// First we need to create our Game Framework
	Initialise(SCREEN_X, SCREEN_Y, false,"Shoot em up" );

	initGame();
	initMenu();
	initBoss();
	initGameOver();
	gameProcess = &menuState;	
	do {
		frameCounter++;

		if(frameCounter > 5000)
			frameCounter = 0;
		
		gameProcess();	// function pointer to run game
		
	} while ( FrameworkUpdate() == false );
	// clean up memory
	destroyGame();
	destroyMenu();
	destroyBoss();
	destroyGameOver();
	
	Shutdown();

	return 0;
}
Exemplo n.º 2
0
int main(int argc ,char **argv){
 SDL_Init(SDL_INIT_VIDEO);
 Window *frame = createWindow(SCREEN_WIDTH,SCREEN_HEIGHT,"Snakeing!");
 Game *game = createGame(frame);
 SDL_Event event;
 int flag = 1 ;
 while (flag){
   if ( !displayGame(game) ) {
     flag=0; 
     break;
    }  
   SDL_PollEvent(&event);
   SDL_Delay(80);
    if (event.type == SDL_QUIT){
       flag = 0;
       break;
      } 
    else if (event.type == SDL_KEYDOWN) {
        handleEvent(game,event); 
       }
  } 
 printf("Your Score is : %i\n",getGameScore(game));
 destroyGame(game); 
 game = NULL;
 destroyWindow(frame); 
 frame = NULL;
 SDL_Quit();
 return 0;
}
Exemplo n.º 3
0
int main( int argc, char* argv[] )
{		
	//Create the game framework
	Initialise(SCREEN_X, SCREEN_Y, false);

	initGame();

	do {
		g_iFrameCounter++;

		if(g_iFrameCounter > 5000)
		{
			g_iFrameCounter = 0;
		}

		ClearScreen();
		updateGame();
		drawGame();

		if( checkExit() )
		{
			break;
		}
		
	} while( FrameworkUpdate() == false );

	destroyGame();

	Shutdown();

	return 0;
}
Exemplo n.º 4
0
/**
* \fn int main(int argc, char* argv[])
* \brief Main function.
* \param[in] argc Number of argument passed to the program.
* \param[in] argv Arguments passed to the program.
*/
int main(int argc, char* argv[]) {

   unsigned int frameLimit;

   /*Create the Game structure*/
   Game* game = createGame();

   frameLimit = SDL_GetTicks()+16;

   /* initializes SDL */
   initGame("MyLittleProject",game);

   /* initializes player */
   initializePlayer(game->player);

   /* loads resources */
   loadGame(game);

   /* Main loop */
   while(game->go == 1) {
      /* reads input from keyboard */
      getInput(game->input, game);

      /* checks if menu is used */
      if(game->onMenu == 0) {
         /* updates game */
         updatePlayer(game->player,game);
         updateObject(game);

         /* displays everything */
         draw(game);

      } else {
         switch(game->menuType) {

         case START :
            updateStartMenu(game->input,game);
            drawStartMenu(game); // ya un bug ici !
            break;

         case SELECT_LEVEL :
            updateSelectLevelMenu(game->input,game);
            drawSelectLevelMenu(game);

         }
      }

      /*set the framerate at 60 FPS*/
      delay(frameLimit);
      frameLimit = SDL_GetTicks()+16;
   }

   /*free everything*/
   destroyGame(game);

   return EXIT_SUCCESS;
}
Exemplo n.º 5
0
MainForm::MainForm(QWidget *p, Qt::WindowFlags f) : QMainWindow(p, f)
{
	ui.setupUi(this);
	boardgame = new MainWidget(this);
	setCentralWidget(boardgame);
	
	connect(ui.actionQuickGame, SIGNAL(triggered()), this, SLOT(quickGame()));
	connect(ui.actionQuit, SIGNAL(triggered()), this, SLOT(destroyGame()));
	
	connect(ui.actionLoadGame, SIGNAL(triggered()), this, SLOT(test()));
	connect(ui.actionSaveGame, SIGNAL(triggered()), this, SLOT(test2()));
}
Exemplo n.º 6
0
//************************************
// Method:    play - main function for game handles entire game play until user exits
// FullName:  Game::play
// Access:    public 
// Returns:   void
// Qualifier:
//************************************
void Game::play()
{
	char userInput='c';
	while (!m_endGame && userInput=='c')//user asks to continue playing and game isnt over
	{
		//set current players order to reflect on UI
		UIs::UI::setPlayers(getPlayerAt(0),getPlayerAt(1),getPlayerAt(2),getPlayerAt(3));
		newRound();//play a game round
		if (m_endGame)
		{
			UIs::UI::displayMessage("Game over!! enter e to exit or n for new game");
		}
		else
		{
			UIs::UI::displayMessage("enter e to exit,c to continue or n for new game");
		}

		userInput=UIs::UI::getUserGameInput();
		while((userInput=='c'&& m_endGame )||(userInput!='e' && userInput!='c' && userInput!='n'))//input isn't valid
		{
			UIs::UI::clearInputLine();
			if (m_endGame)
			{
				UIs::UI::displayErrorMessage("ERROR:the input you entered is invalid: use n or e only!");
			}
			else
			{
				UIs::UI::displayErrorMessage("ERROR:the input you entered is invalid: use c n or e only!");
			}
			userInput=UIs::UI::getUserGameInput();
		}
		UIs::UI::clearConsole();
		if (userInput=='n')//new game
		{
			UIs::UI::plotGoodbyeScreen(m_numberOfRounds,returnNameOfWinningPlayer());//summery
			destroyGame();  //Clear game settings
			initGame();		//initialize new game from user decisions
			play();			//Start anew
		}
		else if (userInput =='e')//exit
		{
			UIs::UI::plotGoodbyeScreen(m_numberOfRounds,returnNameOfWinningPlayer());
			m_endGame=true;//ask to end game
		}
		else // must be c
		{
			UIs::UI::setPlayers(getPlayerAt(0),getPlayerAt(1),getPlayerAt(2),getPlayerAt(3));//new order- winner starts
		}
	}//end main while
}
Exemplo n.º 7
0
void cleanup(void)
{
	SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, "Cleaning up ...");

	SDL_DestroyRenderer(app.renderer);
	SDL_DestroyWindow(app.window);

	destroyLookups();

	destroyTextures();

	expireTexts(1);

	destroyFonts();

	destroySounds();

	destroyGame();

	destroyFighterDefs();

	destroyCapitalShipDefs();

	destroyBulletDefs();

	destroyItemDefs();

	destroyStarSystems();

	destroyBattle();

	destroyGalacticMap();

	destroyWidgets();

	destroyResources();
	
	destroyCredits();
	
	SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, "Done");

	TTF_Quit();

	SDL_Quit();
}
Exemplo n.º 8
0
void MainWindow::onTabCloseRequested(int index)
{
	const TabData& tab = m_tabs.at(index);

	if (tab.game == nullptr)
	{
		delete tab.pgn;
		removeGame(index);

		if (m_tabs.isEmpty())
			close();

		return;
	}

	if (tab.game->isFinished())
		destroyGame(tab.game);
	else
	{
		connect(tab.game, SIGNAL(finished(ChessGame*)),
			this, SLOT(destroyGame(ChessGame*)));
		QMetaObject::invokeMethod(tab.game, "stop", Qt::QueuedConnection);
	}
}
Exemplo n.º 9
0
int main(int argc, char* argv[])
{
  sSdlWrapper* wrap = initializeSDLWrapper("Snake", 800, 600, 32, 1, 1);
  game* gameEngine  = initGame(wrap, 32, 24);
  int Selection = 0;
  sTextGFX* startUnsel = createText(wrap, "Start Game", 0xFFFFFFFF);
  sTextGFX* startSel   = createText(wrap, "Start Game", 0xFFFFF000);
  sTextGFX* exitUnsel  = createText(wrap, "Exit Game" , 0xFFFFFFFF);
  sTextGFX* exitSel    = createText(wrap, "Exit Game" , 0xFFFFF000);
  sLinkedList* titleList = 0;
  FILE* titleFile = fopen("snake.pic", "r");
  listInitialize(&titleList, sizeofPoint(), NULL);
  for(int x = 0; x < 32; x++)
    for(int y = 0; y < 24; y++)
      if(x == 0 || x == (31) || y == 0 || y == (23))
      {
	point* toAdd = createPoint(x,y);
	listPushFront(titleList, (void*)toAdd);
	free(toAdd);
      }
  while(isRunning(wrap))
  {
    beginFrame(wrap);
    if(State == -1)
    {
      readTitleFile(titleList, titleFile);
      renderList(titleList, wrap);
    }
    else if(State == 1)
      tick(gameEngine);
    else
    {
      if(Selection == 0)
      {
	renderText(wrap, startSel, 400, 300);
	renderText(wrap, exitUnsel, 400, 325);
      }
      else
      {
	renderText(wrap, startUnsel, 400, 300);
	renderText(wrap, exitSel, 400, 325);
      }
      if(keyDown(wrap, SDLK_DOWN))
	Selection = 1;
      if(keyDown(wrap,SDLK_UP))
	Selection = 0;
      if(keyDown(wrap, SDLK_RETURN))
      {
	if(Selection == 0)
	{
	  State = 1;
	  setupGame(gameEngine);
	}
	else
	  toggleRunning(wrap);
      }
      renderList(titleList, wrap);
    }
    if(keyPressed(wrap, SDLK_ESCAPE))
      toggleRunning(wrap);
    endFrame(wrap);
  }
  listClear(titleList);
  free(titleList);
  destroyText(startUnsel);
  destroyText(startSel);
  destroyText(exitUnsel);
  destroyText(exitSel);
  deinitializeWrapper(wrap);
  destroyGame(gameEngine);
  free(wrap);
  return 0;
}