void Player::setScore(int value) { if (value > getHighScore()) { SharedEventController::Instance().playerHighScoreChanged(getHighScore(), value); _setHighScore(value); } m_score = value; }
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); }
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(); }
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; }
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); }); }
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; } }