[Orxonox-commit 4090] r8761 - code/branches/ai2/src/orxonox/controllers
jo at orxonox.net
jo at orxonox.net
Fri Jul 15 10:49:18 CEST 2011
Author: jo
Date: 2011-07-15 10:49:17 +0200 (Fri, 15 Jul 2011)
New Revision: 8761
Modified:
code/branches/ai2/src/orxonox/controllers/ArtificialController.cc
Log:
Error due to block scope (variables didn't reset in the inner while loops).
Modified: code/branches/ai2/src/orxonox/controllers/ArtificialController.cc
===================================================================
--- code/branches/ai2/src/orxonox/controllers/ArtificialController.cc 2011-07-14 21:06:37 UTC (rev 8760)
+++ code/branches/ai2/src/orxonox/controllers/ArtificialController.cc 2011-07-15 08:49:17 UTC (rev 8761)
@@ -32,7 +32,6 @@
#include <climits>
#include "util/Math.h"
-#include "util/Convert.h"
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
#include "core/command/ConsoleCommand.h"
@@ -48,8 +47,8 @@
#include "weaponsystem/WeaponMode.h"
#include "weaponsystem/WeaponPack.h"
#include "weaponsystem/Weapon.h"
+#include "weaponsystem/WeaponSlot.h"
-
namespace orxonox
{
SetConsoleCommand("ArtificialController", "formationflight", &ArtificialController::formationflight);
@@ -1136,25 +1135,17 @@
*/
void ArtificialController::analyseWeapons(Pawn* pawn)
{
- int max=10, i=0, j=0, k=0;
+ int max = 10;
if(!pawn) return;
- while(i<max)
+ for(int l=0; l<max ;l++)
{
- WeaponPack* wPack = pawn->getWeaponPack(i); //WeaponSet* wSet = pawn->getWeaponSet(i);
- i++;
- if(wPack==NULL) continue;
- while(j<max)
+ WeaponSlot* wSlot = pawn->getWeaponSlot(l);
+ if(wSlot==NULL) continue;//{COUT(0)<<"WEAPONSLOT "<<l<< " failed"<<endl; continue;}
+ for(int i=0; i<max; i++)
{
- Weapon* wpn = wPack->getWeapon(j);
- j++;
- if(wpn==NULL) continue;
- while(k<max)
- {
- WeaponMode* wMode = wpn->getWeaponmode(k);
- k++;
- if(wMode==NULL) continue;
- COUT(0)<<wMode->getIdentifier()->getName()<<": weaponpack "+multi_cast<std::string>(i-1)<<", weapon "<<multi_cast<std::string>(j-1)<<", weaponmode "<<multi_cast<std::string>(k-1)<<std::endl;
- }
+ WeaponMode* wMode = wSlot->getWeapon()->getWeaponmode(i);
+ if(wMode==NULL) continue;//{COUT(0)<<"WEAPONMODE "<<i<< " failed"<<endl;}
+ COUT(0)<<wMode->getIdentifier()->getName()<< " using mode:"<<i<<endl;
}
}
}
More information about the Orxonox-commit
mailing list