Esempio n. 1
0
void Player::setScore(int value)
{
    if (value > getHighScore())
    {
        SharedEventController::Instance().playerHighScoreChanged(getHighScore(), value);
        _setHighScore(value);
    }
    m_score = value;
}
Esempio n. 2
0
void Player::dumpSave(bool saveToFile /*= false*/)
{
    SaveController& sc = *SharedGameDelegate::Instance().getSaveController();
    sc.setHighScore(getHighScore());
    sc.setCash(getCash());
    sc.setMapProgress(m_storyProgress);
    sc.setChipPosition(m_tokenMapPosition);
}
Esempio n. 3
0
void initGame(int lv0, int sc0){
	gfield_init();
	gobstacle_init();
	gjump_initFlag();
	
	SCORE = sc0;
	LEVEL = lv0;
	
	PLAYER_JHEIGHT = 0;
	PLAYER_MATRIX = loadMatrix("player.mat");
	PLAYER_MATRIX_LOSE = loadMatrix("player_lose.mat");
	SCORE_HIGH = getHighScore();
	
}
Esempio n. 4
0
int makeGuess(char **answer) {
   int c;
   match("\n");
   c = getchar();
   if (c == EOF) {
      _terminate(10);
   }
   if (c == 'M' || c == 'N') {
      if (c == 'M') {
         match("iraculously, you have manage to prolong Tuco's life.\n");
         return 0;
      }
      match("ice shot Blondie, you freed Tuco.\n");
      match("The correct word is: ");

      do {
         c = getchar();
         if (c == EOF) {
            _terminate(11);
         }
      } while (c != '\n');

      getHighScore();
      return 1;
   }
   else if (c == 'H' || c == ' ') {
      if (c == 'H') {
         match("aha, Tuco is feeling that rope a little more!\n");
      }
      else {
         char *ans = correct;
         *answer = correct;
         //you lose
         printBoard(1);
         match("\nBlondie, you missed, Tuco has been hanged.\n");
         match("The correct word is: ");
         do {
            c = getchar();
            *ans++ = c;
            if (c == EOF) {
               _terminate(12);
            }
         } while (c != '\n');
         ans -= 2;
         *ans = 0;
         return 1;
      }
   }
   return 0;
}
Esempio n. 5
0
void Game::onTimeElapsed() {
	Inventory inventory;
	inventory.addItem(InventoryItem(SWAP_BONUS_IDENTIFIER, swapRemaining));
	inventory.addItem(InventoryItem(CHANGE_BONUS_IDENTIFIER, changeRemaining));
	inventory.addItem(InventoryItem(REMOVE_BONUS_IDENTIFIER, removeRemaining));
	gameSpice->updateInventory(inventory);
	auto gameSpice = GameSpice::getInstance();
	gameSpice->addFund(Fund(score), [&] (Fund f) {});
	gameSpice->getHighScore(GAMESPICE_LEADERBOARD_ID, [&] (HighScore s) {
		submitScore();
		int oldScore = s.getScore();
		bool isNewHighScore = score > oldScore;
		auto scene = isNewHighScore ? NewHighScore::scene() : GameOver::scene();
		GameManager::sharedGameManager()->runScene(scene);
	});
}
Esempio n. 6
0
int gameScreen(int lv0, int sc0){
	int i, inp;
	
	if( lv0 >= MAX_LEVEL || lv0 < 0 ){
		fprintf(stderr, "レベル指定が不正です\n");
		exit(1);
	}
	initGame(lv0, sc0);
	gdscr_initscr();
	
	gdscr_refresh();
	drawString(6, 40, "Press space key to start", FORMAT_CENTER);
	while( 1 ){
		inp = getch();
		if( inp == ' ' )break;
		if( inp == 'q' )break;
	}
	
	timeout(0);
	setLevel(LEVEL);
	while( !gbump_check() && inp != 'q' ){
	
		/*sleep処理*/
		usleep(DELAY);
	
		/*入力受付処理*/
		inp = getch();
		if( inp == ' ' ) gjump_flagSet();
		
		/*レベルアップ処理*/
		if( checkLevelUp() ){
			LEVEL++;
			setLevel(LEVEL);
		}
		
		/*画面更新処理*/
		gfield_shiftl();
		gobstacle_put(&FIELD[FIELD_WIDTH - 1]);
		gjump_jumpPlayer();
		SCORE++;
		gdscr_refresh();
	}
	
	/*終了処理*/
	setHighScore(SCORE);
	SCORE_HIGH = getHighScore();
	timeout(-1);
	freeMatrix(PLAYER_MATRIX);
	PLAYER_MATRIX = PLAYER_MATRIX_LOSE;
	
	/*終了画面描画*/
	gdscr_draw();
	drawString(5, 5, "GAME OVER.", FORMAT_LEFT);
	printCommand(22, 76, FORMAT_RIGHT, COMMAND_LIST, COMMAND_NUM);
	refresh();
	
	/*コマンド取得*/
	inp = getCommand(COMMAND_LIST, COMMAND_NUM);
	
	/*開放*/
	freeMatrix(PLAYER_MATRIX_LOSE);
	gobstacle_memFree();
	gdscr_endwin();
	
	/*メッセージ返却*/
	switch( inp ){
		case 'r':
			return COMMAND_RETRY;
		case 'm':
			return COMMAND_MENU;
		case 'q':
			return COMMAND_QUIT;
		default:
			return 9999;
	}
}