Changeset 11499 for code/branches/HUD_HS16/src/modules
- Timestamp:
- Oct 23, 2017, 2:56:00 PM (7 years ago)
- Location:
- code/branches/HUD_HS16
- Files:
-
- 1 deleted
- 15 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
code/branches/HUD_HS16
- Property svn:mergeinfo changed
-
code/branches/HUD_HS16/src/modules/CMakeLists.txt
r11497 r11499 26 26 ################ Sub Directories ################ 27 27 28 ADD_SUBDIRECTORY(dialogue)29 28 ADD_SUBDIRECTORY(designtools) 30 ADD_SUBDIRECTORY(dialogue)31 29 ADD_SUBDIRECTORY(gametypes) 32 30 ADD_SUBDIRECTORY(notifications) … … 46 44 ADD_SUBDIRECTORY(dodgerace) 47 45 ADD_SUBDIRECTORY(hover) 48 ADD_SUBDIRECTORY(superorxobros) -
code/branches/HUD_HS16/src/modules/dialogue/CMakeLists.txt
r11395 r11499 1 1 SET_SOURCE_FILES(DIALOGUE_SRC_FILES 2 2 DialogueManager.cc 3 NextQuestion.cc 3 4 4 5 ) … … 7 8 MODULE 8 9 FIND_HEADER_FILES 10 TOLUA_FILES 11 DialogueManager.h 9 12 LINK_LIBRARIES 10 13 orxonox 11 14 SOURCE_FILES ${DIALOGUE_SRC_FILES} 12 15 ) 16 -
code/branches/HUD_HS16/src/modules/dodgerace/DodgeRace.cc
r11497 r11499 36 36 #include "DodgeRaceCube.h" 37 37 #include "core/CoreIncludes.h" 38 #include "Highscore.h"39 38 40 39 namespace orxonox … … 225 224 // It will misteriously crash the game! 226 225 // Instead startMainMenu, this won't crash. 227 if (Highscore::exists()){228 int score = this->getPoints();229 if(score > Highscore::getInstance().getHighestScoreOfGame("Dodge Race"))230 Highscore::getInstance().storeHighscore("Dodge Race",score);231 232 }233 226 GSLevel::startMainMenu(); 234 227 } -
code/branches/HUD_HS16/src/modules/gametypes/CMakeLists.txt
r11497 r11499 3 3 RaceCheckPoint.cc 4 4 SpaceRaceManager.cc 5 5 OldSpaceRace.cc 6 OldRaceCheckPoint.cc 6 7 SpaceRaceBot.cc 7 8 SpaceRaceController.cc -
code/branches/HUD_HS16/src/modules/gametypes/SpaceRace.cc
r11497 r11499 23 23 * Mauro Salomon 24 24 * Co-authors: 25 * Celine Egger*/ 26 27 28 29 30 /* 31 Edited, Renewed and Revised by 32 Berkay Berabi 33 Louis Meile 34 35 36 To-do- list by Louis Meile and Berkay Berabi for future projects : 37 - improve AI (SpaceRaceController): 38 i) so far bots arent able to evade obstacles. fix that! 39 ii) bots should be able to use pickups 40 - game crashes when bot wins the game(this is a huge problem you should work with the log file to find out what the errors are ) 41 - bots rotate while waiting for the countdown to end. make it stop! 42 - add elements to level file to make it even more fun to play. be creative! 43 */ 44 25 * Celine Egger 26 * 27 */ 45 28 46 29 #include "SpaceRace.h" 47 30 48 #include "core/CoreIncludes.h"49 #include "chat/ChatManager.h"50 #include "util/Convert.h"51 #include "util/Math.h"52 #include "infos/Bot.h"53 #include "items/Engine.h"54 #include "controllers/HumanController.h"55 56 #include "core/CoreIncludes.h"57 #include "chat/ChatManager.h"58 #include "infos/PlayerInfo.h"59 #include "worldentities/pawns/Pawn.h"60 #include "core/config/ConfigValueIncludes.h"61 #include "infos/Bot.h"62 #include "SpaceRaceBot.h"63 31 #include "items/Engine.h" 64 32 … … 69 37 #include "SpaceRaceBot.h" 70 38 #include "items/Engine.h" 71 #include <vector>72 73 39 74 40 namespace orxonox … … 80 46 RegisterObject(SpaceRace); 81 47 82 this->botclass_ = Class(SpaceRaceBot); 48 this->botclass_ = Class(SpaceRaceBot);//ClassByString("") 83 49 this->cantMove_ = false; 84 50 this->bTimeIsUp_ = false; 85 this->setConfigValues(); 86 87 this->numberOfBots_ = 5; // quick fix: don't allow default-bots to enter the race 88 //we fixed the number of bots in order to have the same starting position all the time ! 51 this->numberOfBots_ = 0; // quick fix: don't allow default-bots to enter the race 52 // remove this line, if a raceBot has been created. 89 53 } 90 91 void SpaceRace::setConfigValues()92 {93 94 95 }96 97 void SpaceRace::start()98 {99 // define spawn positions of the 5 bots100 101 int startpos[15];102 103 startpos[0] =100;104 startpos[1] =-40;105 startpos[2] =0;106 107 startpos[3] =100;108 startpos[4] =-40;109 startpos[5] =100;110 111 startpos[6] =100;112 startpos[7] =-40;113 startpos[8] =-100;114 115 startpos[9] =0;116 startpos[10] =-40;117 startpos[11] =-80;118 119 startpos[12] =0;120 startpos[13] =-40;121 startpos[14] =80;122 123 124 125 126 Gametype::start();127 if (true)128 {129 this->spawnPlayersIfRequested();130 this->cantMove_ = true;131 //players are unable to move while countdown is running132 for (Engine* engine : ObjectList<Engine>()){133 engine->setActive(false);134 135 136 }137 //append spawn positions to bots138 int a,b,c;139 a=0;140 b=1;141 c=2;142 for (SpaceRaceBot* bot : ObjectList<SpaceRaceBot>()){143 bot->getControllableEntity()->setPosition(startpos[a],startpos[b],startpos[c]);144 a= a+3;145 b = b+3;146 c+= 3;147 }148 149 150 }151 152 153 154 std::string message("Use headphones to hear the countdown!");155 this->getGametypeInfo()->sendAnnounceMessage(message);156 ChatManager::message(message);157 158 //after 11 seconds , countdownFinished function is called to activate bots` engines159 Timer* countdownTimer = new Timer();160 countdownTimer->setTimer(11, false, createExecutor(createFunctor(&SpaceRace::countdownFinished, this)));161 }162 163 164 165 54 166 55 void SpaceRace::end() … … 174 63 { 175 64 message = multi_cast<std::string>(s) + "." + multi_cast<std::string>(ms) + " seconds !!\n" 176 + "You lose!";65 + "You didn't reach the check point before the time limit. You lose!"; 177 66 } 178 67 else 179 68 { 180 message = "You win!! Final check point reachedafter "+ multi_cast<std::string>(s)69 message = "You win!! You have reached the last check point after "+ multi_cast<std::string>(s) 181 70 + "." + multi_cast<std::string>(ms) + " seconds."; 182 71 } … … 189 78 } 190 79 191 192 void SpaceRace::tick(float dt) 80 void SpaceRace::tick(float dt) 193 81 { 194 82 SUPER(SpaceRace,tick,dt); 195 } 83 84 // spawn the players already when the countdown starts, but deactivate their engines 85 if (this->isStartCountdownRunning() && !this->cantMove_) 86 { 87 this->spawnPlayersIfRequested(); 88 this->cantMove_ = true; 89 90 for (Engine* engine : ObjectList<Engine>()) 91 engine->setActive(false); 92 } 93 94 // activate the engines again if the countdown ends 95 if (!this->isStartCountdownRunning() && this->cantMove_) 96 { 97 for (Engine* engine : ObjectList<Engine>()) 98 engine->setActive(true); 99 100 this->cantMove_= false; 101 102 std::string message = "The match has started! Reach the check points as quickly as possible!"; 103 this->getGametypeInfo()->sendAnnounceMessage(message); 104 ChatManager::message(message); 105 } 106 } 196 107 197 108 void SpaceRace::newCheckpointReached(RaceCheckPoint* checkpoint, PlayerInfo* player) … … 203 114 int ms = this->clock_.getMilliseconds() % 1000; 204 115 205 206 207 const std::string& message = player->getName() + " reached the checkpoint " + multi_cast<std::string>(checkpoint->getCheckpointIndex() + 1) 208 + "after " + multi_cast<std::string>(s) + "." + multi_cast<std::string>(ms) + " seconds."; 209 this->getGametypeInfo()->sendAnnounceMessage(message); 210 ChatManager::message(message); 211 212 } 213 214 void SpaceRace::countdownFinished()//activates the engines of all players 215 { 216 217 std::string message("RACE STARTED "); 116 const std::string& message = "Checkpoint " + multi_cast<std::string>(checkpoint->getCheckpointIndex() + 1) 117 + " reached after " + multi_cast<std::string>(s) + "." + multi_cast<std::string>(ms) + " seconds."; 218 118 this->getGametypeInfo()->sendAnnounceMessage(message); 219 ChatManager::message(message);220 221 222 for (Engine* engine : ObjectList<Engine>())223 engine->setActive(true);224 225 226 227 }228 229 void SpaceRace::playerEntered(PlayerInfo* player)230 {231 Gametype::playerEntered(player);232 233 const std::string& message = player->getName() + " entered the game";234 119 ChatManager::message(message); 235 120 } 236 121 237 238 void SpaceRace::addBots(unsigned int amount) //function that add the bots to the game239 {240 for (unsigned int i = 1; i <= amount; ++i){241 this->botclass_.fabricate(this->getContext());242 }243 }244 245 246 //set bot configurations247 122 bool SpaceRace::allowPawnHit(Pawn* victim, Pawn* originator) 248 123 { 249 return true;124 return false; 250 125 } 251 126 252 127 bool SpaceRace::allowPawnDamage(Pawn* victim, Pawn* originator) 253 128 { 254 return true;129 return false; 255 130 } 256 131 257 bool SpaceRace::allowPawnDeath(Pawn* victim, Pawn* originator)// false because the bots can not recognize the objects and die to early 258 //if they can 132 bool SpaceRace::allowPawnDeath(Pawn* victim, Pawn* originator) 259 133 { 260 134 return false; -
code/branches/HUD_HS16/src/modules/gametypes/SpaceRace.h
r11497 r11499 57 57 virtual ~SpaceRace() {} 58 58 59 void setConfigValues();59 virtual void tick(float dt) override; 60 60 61 virtual void tick(float dt) override;62 virtual void start() override;63 61 virtual void end() override; 64 virtual void countdownFinished();65 virtual void addBots(unsigned int amount) override; //<! overwrite function in order to bypass the addbots command.66 67 68 69 virtual void playerEntered(PlayerInfo* player) override;70 71 //virtual void newCheckpointReached();72 62 73 63 void newCheckpointReached(RaceCheckPoint* checkpoint, PlayerInfo* player); 74 75 76 77 64 inline RaceCheckPoint* getCheckpointReached(PlayerInfo* player) 78 65 { return this->checkpointReached_[player]; } -
code/branches/HUD_HS16/src/modules/gametypes/SpaceRaceBot.cc
r11497 r11499 23 23 * Author: purgham 24 24 */ 25 #include <vector>26 25 27 26 #include "SpaceRaceBot.h" 28 #include "core/GameMode.h"29 27 #include "core/CoreIncludes.h" 30 #include "core/config/ConfigValueIncludes.h"31 #include "gametypes/Gametype.h"32 #include "controllers/AIController.h"33 #include "gametypes/SpaceRaceController.h"34 35 36 37 28 38 29 namespace orxonox … … 44 35 this->defaultController_ = Class(SpaceRaceController);// ClassByString("") 45 36 this->createController(); 46 47 }48 49 SpaceRaceBot::~SpaceRaceBot(){50 51 }52 53 void SpaceRaceBot::setConfigValues()54 {55 static const std::string names[] =56 {57 "Dr. Julius No",58 "Berkay Berabi",59 "Louis Meile"60 "Yo mama"61 };62 static std::vector<std::string> defaultnames(names, names + sizeof(names) / sizeof(std::string));63 64 SetConfigValue(names_, defaultnames);65 37 } 66 38 } -
code/branches/HUD_HS16/src/modules/gametypes/SpaceRaceBot.h
r11497 r11499 30 30 #include "gametypes/GametypesPrereqs.h" 31 31 #include "gametypes/SpaceRaceController.h" 32 #include <vector>33 32 34 33 … … 36 35 { 37 36 37 /** 38 39 */ 38 40 class _GametypesExport SpaceRaceBot: public Bot 39 41 { 40 42 public: 41 SpaceRaceBot(Context* context); 42 virtual ~SpaceRaceBot(); 43 44 void setConfigValues(); 45 46 47 48 virtual inline bool isInitialized() const override 49 { return true; } 50 virtual inline float getPing() const override 51 { return 0; } 52 virtual inline float getPacketLossRatio() const override 53 { return 0; } 54 55 56 private: 57 std::vector<std::string> names_; 58 59 43 SpaceRaceBot(Context* context); 44 virtual ~SpaceRaceBot() {} 60 45 }; 61 46 } -
code/branches/HUD_HS16/src/modules/gametypes/SpaceRaceController.cc
r11497 r11499 16 16 * GNU General Public License for more details. 17 17 * 18 * You should have 18 * You should have received a copy of the GNU General Public License 19 19 * along with this program; if not, write to the Free Software 20 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. … … 58 58 OrxAssert(!checkpoints.empty(), "No Checkpoints in Level"); 59 59 checkpoints_ = checkpoints; 60 /*orxout()<<"es gibt: "<<checkpoints_.size()<<"checkpoints"<<endl; 61 for(std::vector<RaceCheckPoint*>::iterator it=checkpoints_.begin(); it!=checkpoints_.end(); it++) 62 { 63 orxout()<<"Checkpoint "<<(*it)->getCheckpointIndex()<<"; NExtReal: "; 64 std::set<int> temp =(*it)->getNextCheckpoints(); 65 for (std::set<int>::iterator ii =temp.begin(); ii!=temp.end(); ii++) 66 { 67 orxout()<<(*ii)<<", "; 68 } 69 70 orxout()<<" NextVirtual: "; 71 temp=(*it)->getVirtualNextCheckpoints(); 72 for (std::set<int>::iterator ii =temp.begin(); ii!=temp.end(); ii++) 73 { 74 orxout()<<(*ii)<<", "; 75 } 76 orxout()<<endl<<endl; 77 78 }//ausgabe*/ 79 /* 80 for (std::vector<RaceCheckPoint*>::iterator it = checkpoints.begin(); it != checkpoints.end(); ++it) 81 { 82 std::set<int> nextCheckPoints = ((*it)->getNextCheckpoints()); 83 if(!nextCheckPoints.empty()) 84 { 85 for (std::set<int>::iterator numb = nextCheckPoints.begin(); numb!=nextCheckPoints.end(); numb++) 86 { 87 RaceCheckPoint* point2 = findCheckpoint((*numb)); 88 89 //if(point2 != nullptr) 90 //placeVirtualCheckpoints((*it), point2); 91 } 92 } 93 } 94 */ 95 /* 96 for(std::vector<RaceCheckPoint*>::iterator it=checkpoints_.begin(); it!=checkpoints_.end(); it++) 97 { 98 orxout()<<"Checkpoint "<<(*it)->getCheckpointIndex()<<"; NExtReal: "; 99 std::set<int> temp =(*it)->getNextCheckpoints(); 100 for (std::set<int>::iterator ii =temp.begin(); ii!=temp.end(); ii++) 101 { 102 orxout()<<(*ii)<<", "; 103 } 104 105 orxout()<<" NextVirtual: "; 106 temp=(*it)->getVirtualNextCheckpoints(); 107 for (std::set<int>::iterator ii =temp.begin(); ii!=temp.end(); ii++) 108 { 109 orxout()<<(*ii)<<", "; 110 } 111 orxout()<<endl; 112 113 }//ausgabe 114 orxout()<<"es gibt: "<<checkpoints_.size()<<"checkpoints"<<endl;*/ 60 115 staticRacePoints_ = findStaticCheckpoints(nextRaceCheckpoint_, checkpoints); 61 116 // initialisation of currentRaceCheckpoint_ … … 67 122 continue; 68 123 } 124 //orxout()<<"Die ANzahl der virtuellen CP betraegt: "<< (-i)-2<<endl; 69 125 70 126 } … … 169 225 minNextRaceCheckPoint = nextRaceCheckPoint; 170 226 } 171 172 227 } 173 228 … … 308 363 //orxout()<< "CP "<< currentRaceCheckpoint_->getCheckpointIndex()<<" chanched to: "<< nextRaceCheckpoint_->getCheckpointIndex()<<endl; 309 364 } 310 311 365 else if ((lastPositionSpaceship-this->getControllableEntity()->getPosition()).length()/dt > ADJUSTDISTANCE) 312 366 { … … 326 380 //orxout(user_status) << "dt= " << dt << "; distance= " << (lastPositionSpaceship-this->getControllableEntity()->getPosition()).length() <<std::endl; 327 381 lastPositionSpaceship = this->getControllableEntity()->getPosition(); 328 329 this->boostControl();330 382 this->moveToPosition(nextRaceCheckpoint_->getPosition()); 331 this->boostControl();332 383 } 333 384 -
code/branches/HUD_HS16/src/modules/invader/Invader.cc
r11497 r11499 33 33 34 34 #include "Invader.h" 35 #include "Highscore.h" 35 36 36 #include "core/CoreIncludes.h" 37 37 #include "core/EventIncludes.h" … … 189 189 // It will misteriously crash the game! 190 190 // Instead startMainMenu, this won't crash. 191 if (Highscore::exists()){192 int score = this->getPoints();193 if(score > Highscore::getInstance().getHighestScoreOfGame("Orxonox Arcade"))194 Highscore::getInstance().storeHighscore("Orxonox Arcade",score);195 196 }197 191 GSLevel::startMainMenu(); 198 192 } -
code/branches/HUD_HS16/src/modules/jump/Jump.cc
r11497 r11499 34 34 #include "Jump.h" 35 35 #include "core/CoreIncludes.h" 36 #include "Highscore.h"37 36 38 37 #include "JumpCenterpoint.h" … … 312 311 cleanup(); 313 312 GSLevel::startMainMenu(); 314 if (Highscore::exists()){ 315 int score = this->getScore(this->getPlayer()); 316 if(score > Highscore::getInstance().getHighestScoreOfGame("Jump")) 317 Highscore::getInstance().storeHighscore("Jump",score); 318 319 } 313 320 314 Deathmatch::end(); 321 315 } -
code/branches/HUD_HS16/src/modules/pickup/DDDialogue.cc
r11395 r11499 9 9 RegisterClass(DDDialogue); 10 10 11 12 11 /** 13 12 @brief … … 19 18 } 20 19 21 //getResponses22 20 23 21 bool DDDialogue::execute(bool bTriggered, BaseObject* trigger) 24 22 { 25 23 if(!bTriggered) return false; 26 27 28 24 29 25 orxout() << "bTriggered is " << bTriggered; … … 49 45 XMLPortEventSink(DDDialogue, BaseObject, "execute", execute, xmlelement, mode); 50 46 } 51 52 53 47 } -
code/branches/HUD_HS16/src/modules/tetris/Tetris.cc
r11497 r11499 39 39 40 40 #include "Tetris.h" 41 #include "Highscore.h"42 41 43 42 #include "core/CoreIncludes.h" … … 328 327 this->player_->stopControl(); 329 328 } 330 if (Highscore::exists()){ 331 int score = this->getScore(this->getPlayer()); 332 if(score > Highscore::getInstance().getHighestScoreOfGame("Tetris")) 333 Highscore::getInstance().storeHighscore("Tetris",score); 334 335 } 329 336 330 this->cleanup(); 337 331 -
code/branches/HUD_HS16/src/modules/towerdefense/TowerDefense.cc
r11497 r11499 81 81 #include "chat/ChatManager.h" 82 82 #include "core/CoreIncludes.h" 83 #include "Highscore.h"84 83 85 84 namespace orxonox … … 198 197 void TowerDefense::end() 199 198 { 200 if (Highscore::exists()){ 201 int score = this->getWaveNumber(); 202 if(score > Highscore::getInstance().getHighestScoreOfGame("Tower Defense")) 203 Highscore::getInstance().storeHighscore("Tower Defense",score); 204 205 } 199 206 200 TeamDeathmatch::end(); 207 201 ChatManager::message("Match is over! Gameover!");
Note: See TracChangeset
for help on using the changeset viewer.