Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 1, 2016, 3:08:54 PM (8 years ago)
Author:
kappenh
Message:

updated Highscore interface and Jump save routine TODO Menu!

Location:
code/branches/Highscore_HS16/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • code/branches/Highscore_HS16/src/modules/jump/Jump.cc

    r11313 r11315  
    312312        cleanup();
    313313        GSLevel::startMainMenu();
    314         orxout() << "Test Highscore" << endl;
    315314        if (Highscore::exists()){
    316                     orxout() << "exists" << endl;
    317                    Highscore::getInstance().storeHighscore("player","jump",sectionNumber_ - 2);
     315                    int score = this->getScore(this->getPlayer());
     316                    if(score > Highscore::getInstance().getHighestScoreOfGame("Jump"))
     317                        Highscore::getInstance().storeHighscore("player","Jump",score);
     318
    318319          }
    319320        Deathmatch::end();
  • code/branches/Highscore_HS16/src/orxonox/Highscore.cc

    r11313 r11315  
    2020    void Highscore::setConfigValues()
    2121    {
     22        SetConfigValue(highscores_, std::vector<std::string>()).description("HighscoreVektor");
     23    }
    2224
    23                 SetConfigValue(name_, "Test").description("The name of the game");
    24         SetConfigValue(tests_, std::vector<std::string>()).description("Testvektor");
     25    int Highscore::getHighestScoreOfGame(std::string game){
     26        std::string delimiter = "./.";
     27        int best = -1;
     28        for (std::string score : this->highscores_)
     29        {
     30           
     31            score.erase(0, score.find(delimiter) + delimiter.length());
     32            if(game.compare(score.substr(0,score.find(delimiter))) == 0){
     33                score.erase(0, score.find(delimiter) + delimiter.length());
     34                int possibleBest = std::stoi(score);
     35                if(possibleBest > best) best = possibleBest;
     36            }
     37
     38
     39        }
     40       
     41        return best;
     42       
    2543    }
     44
    2645    void Highscore::storeHighscore(std::string player, std::string level, int points){
    27         ModifyConfigValue(tests_, add, player+"./."+level+"./."+std::to_string(points));
     46        ModifyConfigValue(highscores_, add, player+"./."+level+"./."+std::to_string(points));
    2847    }
    2948    /* static std::string Highscore::getName(){
  • code/branches/Highscore_HS16/src/orxonox/Highscore.h

    r11313 r11315  
    1515        void setConfigValues(); // Inherited function
    1616        void storeHighscore(std::string player, std::string level, int points);
     17
     18        int getHighestScoreOfGame(std::string game);
    1719        // tolua_begin
    18                 inline const std::string& getName() {
    19                         return this->name_;
    20                 }
    21         inline void test(){
    22             this->storeHighscore("test","t",1);
    23         }
    2420        inline unsigned int getNumberOfHighscores()
    25                 { return this->tests_.size(); }
     21                { return this->highscores_.size(); }
    2622            inline const std::string& getHighscore(unsigned int index)
    27                 { return this->tests_[index]; }
     23                { return this->highscores_[index]; }
    2824
    2925        static Highscore& getInstance()
     
    3430
    3531    private:
    36         std::vector<std::string> tests_;
    37         std::string name_;
     32        std::vector<std::string> highscores_;
    3833        float version_;
    3934        static Highscore* singletonPtr_s;
Note: See TracChangeset for help on using the changeset viewer.