[Orxonox-commit 4767] r9436 - code/branches/Racingbot/src/modules/gametypes
purgham at orxonox.net
purgham at orxonox.net
Mon Nov 5 16:21:40 CET 2012
Author: purgham
Date: 2012-11-05 16:21:40 +0100 (Mon, 05 Nov 2012)
New Revision: 9436
Modified:
code/branches/Racingbot/src/modules/gametypes/SpaceRaceController.cc
code/branches/Racingbot/src/modules/gametypes/SpaceRaceManager.cc
Log:
working Version 5.11.2012 - Bots can be included after starting the level
Modified: code/branches/Racingbot/src/modules/gametypes/SpaceRaceController.cc
===================================================================
--- code/branches/Racingbot/src/modules/gametypes/SpaceRaceController.cc 2012-11-05 15:11:29 UTC (rev 9435)
+++ code/branches/Racingbot/src/modules/gametypes/SpaceRaceController.cc 2012-11-05 15:21:40 UTC (rev 9436)
@@ -28,9 +28,8 @@
#include "core/XMLPort.h"
#include "gametypes/SpaceRaceManager.h"
-// Von SpaceRaceManager points einlesen
-// Berechnungsklasse nextPoint zur verfuegung stellen
-// ^- aufrufen ueber tick (if ob noetig)
+// WEnn RAcer nach start erstellt wird fehler in Tick
+// Fuer beide Spieler wird next point angezeigt
namespace orxonox
{
CreateFactory(SpaceRaceController);
@@ -42,7 +41,6 @@
ArtificialController(creator)
{
RegisterObject(SpaceRaceController);
-
std::vector<RaceCheckPoint*> checkpoints;
for (ObjectList<SpaceRaceManager>::iterator it = ObjectList<SpaceRaceManager>::begin(); it!= ObjectList<SpaceRaceManager>::end(); ++it)
{
@@ -67,7 +65,8 @@
RaceCheckPoint* SpaceRaceController::nextPointFind(RaceCheckPoint* raceCheckpoint)
{
- int distances[] = { -1, -1, -1 };
+ int distances[] =
+ { -1, -1, -1};
int temp_i = 0;
for (std::set<int>::iterator it =raceCheckpoint->getNextCheckpoints().begin(); it!= raceCheckpoint->getNextCheckpoints().end(); ++it)
{
@@ -102,10 +101,12 @@
RaceCheckPoint* SpaceRaceController::adjustNextPoint()
{
if (currentRaceCheckpoint_ == NULL) // no Adjust possible
+
{
return nextRaceCheckpoint_;
}
if ((currentRaceCheckpoint_->getNextCheckpoints()).size() == 1) // no Adjust possible
+
{
return nextRaceCheckpoint_;
}
@@ -140,7 +141,7 @@
std::vector<RaceCheckPoint*> allCheckpoints)
{
std::map<RaceCheckPoint*, int> * zaehler = new std::map<
- RaceCheckPoint*, int>(); // counts how many times the checkpoit was reached (for simulation)
+ RaceCheckPoint*, int>(); // counts how many times the checkpoit was reached (for simulation)
for (unsigned int i = 0; i < allCheckpoints.size(); i++)
{
zaehler->insert(std::pair<RaceCheckPoint*, int>(allCheckpoints[i],0));
@@ -202,6 +203,7 @@
}
void SpaceRaceController::tick(float dt)
{
+ if (this->getControllableEntity() == NULL || this->getControllableEntity()->getPlayer() == NULL ){orxout()<<this->getControllableEntity()<<endl; return;}
if (nextRaceCheckpoint_->playerWasHere(this->getControllableEntity()->getPlayer()))
{//Checkpoint erreicht
currentRaceCheckpoint_=nextRaceCheckpoint_;
Modified: code/branches/Racingbot/src/modules/gametypes/SpaceRaceManager.cc
===================================================================
--- code/branches/Racingbot/src/modules/gametypes/SpaceRaceManager.cc 2012-11-05 15:11:29 UTC (rev 9435)
+++ code/branches/Racingbot/src/modules/gametypes/SpaceRaceManager.cc 2012-11-05 15:21:40 UTC (rev 9436)
@@ -144,10 +144,7 @@
return;
RaceCheckPoint* oldCheckpoint = gametype->getCheckpointReached(player); // returns the last from player reached checkpoint
- // % fixing
- orxout() << "SpaceRaceManager.checkpointReached( "<<newCheckpoint->getCheckpointIndex()
- <<", "<< player->isHumanPlayer() << endl;
- // % end fixing
+
if (this->reachedValidCheckpoint(oldCheckpoint, newCheckpoint, player))
{
// the player reached a valid checkpoint
More information about the Orxonox-commit
mailing list