[Orxonox-commit 6556] r11196 - in code/branches/tgidronFS16: data/levels data/overlays src/modules/hover
tgidron at orxonox.net
tgidron at orxonox.net
Thu May 26 14:49:44 CEST 2016
Author: tgidron
Date: 2016-05-26 14:49:44 +0200 (Thu, 26 May 2016)
New Revision: 11196
Modified:
code/branches/tgidronFS16/data/levels/Hover.oxw
code/branches/tgidronFS16/data/overlays/HoverHUD.oxo
code/branches/tgidronFS16/src/modules/hover/Hover.cc
code/branches/tgidronFS16/src/modules/hover/Hover.h
code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc
code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h
code/branches/tgidronFS16/src/modules/hover/TFlagsLivesLevelHUD.cc
code/branches/tgidronFS16/src/modules/hover/TFlagsLivesLevelHUD.h
Log:
Final Project
Modified: code/branches/tgidronFS16/data/levels/Hover.oxw
===================================================================
--- code/branches/tgidronFS16/data/levels/Hover.oxw 2016-05-26 12:49:13 UTC (rev 11195)
+++ code/branches/tgidronFS16/data/levels/Hover.oxw 2016-05-26 12:49:44 UTC (rev 11196)
@@ -2,7 +2,7 @@
name = "Hover level"
description = "Level for Minigame Hover"
tags = "minigame"
- screenshot = "Hover.png"
+ screenshot = "hover.png"
/>
<?lua
@@ -177,6 +177,7 @@
numCells="<?lua print(MAZE_NUM_CELLS)?>"
cellSize="<?lua print(MAZE_CELL_SIZE)?>"
cellHeight="<?lua print(MAZE_CELL_HEIGHT)?>"
+ wallThickness="<?lua print(MAZE_WALL_THICKNESS)?>"
obstacletemplate=obstacle
pickuptemplate=destroyhoverpickup
pickuprepresentationtemplate=destroyhoverpickupRepresentation
Modified: code/branches/tgidronFS16/data/overlays/HoverHUD.oxo
===================================================================
--- code/branches/tgidronFS16/data/overlays/HoverHUD.oxo 2016-05-26 12:49:13 UTC (rev 11195)
+++ code/branches/tgidronFS16/data/overlays/HoverHUD.oxo 2016-05-26 12:49:44 UTC (rev 11196)
@@ -86,6 +86,7 @@
showFlags = true
showLives = false
showLevel = false
+ levelUpgrade = false
/>
@@ -99,6 +100,7 @@
showFlags = false
showLives = true
showLevel = false
+ levelUpgrade = false
/>
@@ -112,10 +114,25 @@
showFlags = false
showLives = false
showLevel = true
+ levelUpgrade = false
/>
+ <TFlagsLivesLevelHUD
+ position = "0.3, 0.45"
+ pickpoint = "0.0, 0.0"
+ font = "ShareTechMono"
+ textsize = 0.04
+ colour = "1.0, 1.0, 1.0, 1.0"
+ align = "left"
+ showFlags = false
+ showLives = false
+ showLevel = false
+ levelUpgrade = true
+ />
+
+
</OverlayGroup>
</Template>
Modified: code/branches/tgidronFS16/src/modules/hover/Hover.cc
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/Hover.cc 2016-05-26 12:49:13 UTC (rev 11195)
+++ code/branches/tgidronFS16/src/modules/hover/Hover.cc 2016-05-26 12:49:44 UTC (rev 11196)
@@ -23,6 +23,7 @@
* Manuel Meier
* Co-authors:
* Cyrill Burgener
+ * Tomer Gidron
*
*/
@@ -63,7 +64,7 @@
cellSize = 0;
cellHeight = 0;
- bShowLevel = false;
+ bLevelUpgradeHUD = false;
totFlags = 0;
@@ -82,19 +83,10 @@
cellSize = this->origin_->getCellSize();
cellHeight = this->origin_->getCellHeight();
- /*
- bool occupiedCells[numCells][numCells];
+ //TODO
+ //create boolean array/vector to assert that no two objects are placed in the same way
+
- for(int i = 0; i < numCells; i++)
- {
- for(int j = 0; j < numCells; j++)
- {
- occupiedCells[i][j] = false;
- }
- }
- occupiedCells[0][0] = true;
- */
-
MazeGenerator generator(numCells);
generator.generateMaze();
generator.renderMaze();
@@ -204,56 +196,32 @@
{
GSLevel::startMainMenu();
}
- // Debug
- orxout() << this->origin_->getPickupTemplate() << endl;
- orxout() << this->origin_->getPickupRepresentationTemplate() << endl;
-
-
- orxout() << this->origin_->getPickupTemplateSpeed() << endl;
- orxout() << this->origin_->getPickupRepresentationTemplateSpeed() << endl;
-
- orxout() << this->origin_->getObstacleTemplate() << endl;
- //orxout() << crate->getPosition() << endl;
+
}
}
- // Start new level
+ // generate new Flags
void Hover::createFlags()
{
- //Generate 5 flags randomly (test only 1 flag)
+ //TODO
+ //Generate flags randomly using bool array
- /* do
- {
- int i = 0;
+ //Generate 5 flags randomly on field
+ for ( int i = 0; i < 5; i++ )
+ {
+ HoverFlag* flag = new HoverFlag(origin_->getContext());
+ flag->init(rand()%numCells, rand()%numCells, cellSize);
+ flags_.push_back(flag);
- HoverFlag* flag = new HoverFlag(origin_->getContext());
- int x = rand()%numCells;
- int y = rand()%numCells;
- flag->init(x, y, cellSize);
- flags_.push_back(flag);
-
- occupiedCells[x][y] = true;
-
- i++;
-
- }while( i<5 || occupiedCells[x][y] == true);
- */
-
- for ( int i = 0; i < 5; i++ )
- {
- HoverFlag* flag = new HoverFlag(origin_->getContext());
- flag->init(rand()%numCells, rand()%numCells, cellSize);
- flags_.push_back(flag);
-
- if(flags_[i]->getPosition() == get3dCoordinates(0,0,-60))
- {
- flags_[i]->destroyLater();
- flags_.erase(flags_.begin()+i);
- }
+ if(flags_[i]->getPosition() == get3dCoordinates(0,0,-60))
+ {
+ flags_[i]->destroyLater();
+ flags_.erase(flags_.begin()+i);
}
+ }
}
@@ -274,7 +242,6 @@
//ChatManager::message("Level Up!");
levelUp();
- //GSLevel::startMainMenu();
}
}
@@ -286,6 +253,7 @@
}
}
+ //start new level - call to create new flags
void Hover::levelUp()
{
level++;
@@ -296,8 +264,13 @@
}
createFlags();
toggleShowLevel();
- showLevelTimer.setTimer(1.0f, false, createExecutor(createFunctor(&Hover::toggleShowLevel, this)));
+ showLevelTimer.setTimer(2.0f, false, createExecutor(createFunctor(&Hover::toggleShowLevel, this)));
+ //spawn one additional crate randomly
+ Pawn* crate = new Pawn(origin_->getContext());
+ crate->addTemplate(origin_->getObstacleTemplate());
+ crate->setPosition(get3dCoordinates(rand()%numCells, rand()%numCells, 43.0f));
+
}
Vector3 Hover::get3dCoordinates(int x, int y, float heightOffset)
@@ -305,6 +278,7 @@
return Vector3(x*cellSize*1.0f + cellSize/2, heightOffset, y*cellSize*1.0f + cellSize/2);
}
+ //if killed, subtract number of lives. If lives == 0, end game
void Hover::costLife()
{
lives--;
Modified: code/branches/tgidronFS16/src/modules/hover/Hover.h
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/Hover.h 2016-05-26 12:49:13 UTC (rev 11195)
+++ code/branches/tgidronFS16/src/modules/hover/Hover.h 2016-05-26 12:49:44 UTC (rev 11196)
@@ -23,6 +23,7 @@
* Manuel Meier
* Co-authors:
* Cyrill Burgener
+ * Tomer Gidron
*
*/
@@ -76,7 +77,7 @@
inline int getLevel() const
{ return this->level; }
- bool bShowLevel;
+ bool bLevelUpgradeHUD;
private:
@@ -96,7 +97,7 @@
std::vector<PickupSpawner*> pickupSpawners_;
- void toggleShowLevel(){bShowLevel = !bShowLevel;}
+ void toggleShowLevel(){bLevelUpgradeHUD = !bLevelUpgradeHUD;}
Timer showLevelTimer;
};
Modified: code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc 2016-05-26 12:49:13 UTC (rev 11195)
+++ code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc 2016-05-26 12:49:44 UTC (rev 11196)
@@ -22,7 +22,7 @@
* Author:
* Manuel Meier
* Co-authors:
- * ...
+ * Tomer Gidron
*
*/
@@ -45,7 +45,7 @@
RegisterObject(HoverOrigin);
checkGametype();
- //not needed
+ //Initialization of variables (not really needed)
pickupTemplate_ = "";
pickupRepresentationTemplate_ = "";
@@ -65,6 +65,7 @@
XMLPortParam(HoverOrigin, "numCells", setNumCells, getNumCells, xmlelement, mode);
XMLPortParam(HoverOrigin, "cellSize", setCellSize, getCellSize, xmlelement, mode);
XMLPortParam(HoverOrigin, "cellHeight", setCellHeight, getCellHeight, xmlelement, mode);
+ XMLPortParam(HoverOrigin, "wallThickness", setWallThickness, getWallThickness, xmlelement, mode);
XMLPortParam(HoverOrigin, "pickuptemplate", setPickupTemplate, getPickupTemplate, xmlelement, mode);
XMLPortParam(HoverOrigin, "pickuprepresentationtemplate", setPickupRepresentationTemplate, getPickupRepresentationTemplate, xmlelement, mode);
XMLPortParam(HoverOrigin, "pickuptemplatespeed", setPickupTemplateSpeed, getPickupTemplateSpeed, xmlelement, mode);
Modified: code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h 2016-05-26 12:49:13 UTC (rev 11195)
+++ code/branches/tgidronFS16/src/modules/hover/HoverOrigin.h 2016-05-26 12:49:44 UTC (rev 11196)
@@ -22,7 +22,7 @@
* Author:
* Manuel Meier
* Co-authors:
- * ...
+ * Tomer Gidron
*
*/
@@ -65,6 +65,11 @@
inline int getCellHeight() const
{ return this->cellHeight_; }
+ inline void setWallTickness(int wallTickness)
+ { this->wallTickness_ = wallTickness; }
+ inline int getWallTickness() const
+ { return this->wallTickness_; }
+
//pickup template set and get for destroy hover pickup
inline void setPickupTemplate(std::string pickupTemplate)
@@ -123,6 +128,7 @@
int numCells_;
int cellSize_;
int cellHeight_;
+ int wallThickness_;
// Tempaltes for the destroy hover pickup
std::string pickupTemplate_;
Modified: code/branches/tgidronFS16/src/modules/hover/TFlagsLivesLevelHUD.cc
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/TFlagsLivesLevelHUD.cc 2016-05-26 12:49:13 UTC (rev 11195)
+++ code/branches/tgidronFS16/src/modules/hover/TFlagsLivesLevelHUD.cc 2016-05-26 12:49:44 UTC (rev 11196)
@@ -45,6 +45,7 @@
showLives_ = true;
showLevel_ = true;
showTotFlags_= true;
+ levelUpgrade_ = true;
}
void TFlagsLivesLevelHUD::XMLPort(Element& xmlelement, XMLPort::Mode mode)
@@ -54,6 +55,7 @@
XMLPortParam(TFlagsLivesLevelHUD,"showPoints", setShowTot, getShowTot, xmlelement, mode);
XMLPortParam(TFlagsLivesLevelHUD, "showLives", setShowLives, getShowLives, xmlelement, mode);
XMLPortParam(TFlagsLivesLevelHUD, "showLevel", setShowLevel, getShowLevel, xmlelement, mode);
+ XMLPortParam(TFlagsLivesLevelHUD, "levelUpgrade", setLevelUpgrade, getLevelUpgrade, xmlelement, mode);
}
void TFlagsLivesLevelHUD::tick(float dt)
@@ -64,6 +66,7 @@
const std::string& lives = multi_cast<std::string>(this->hoverGame_->getLives());
const std::string& level = multi_cast<std::string>(this->hoverGame_->getLevel());
+ //Display total Flags taken
if(showTotFlags_ == true){
setTextSize(0.04);
setPosition(Vector2(0.18, 0.08));
@@ -71,7 +74,7 @@
this->setCaption(flags);
}
-
+ //Display remaining lives
if(showLives_ == true){
setTextSize(0.04);
setPosition(Vector2(0.18, 0.12));
@@ -79,6 +82,7 @@
this->setCaption(lives);
}
+ //Display current level
if(showLevel_ == true){
setTextSize(0.04);
setPosition(Vector2(0.18, 0.16));
@@ -87,14 +91,19 @@
}
- if(this->hoverGame_->bShowLevel)
+ //New Level pop up
+ if(this->hoverGame_->bLevelUpgradeHUD && levelUpgrade_)
{
- setTextSize(0.2);
- setPosition(Vector2(0.3, 0.55));
- std::stringstream sstm;
- sstm << "Level " << level;
- this->setCaption(sstm.str());
+ setTextSize(0.2);
+ setPosition(Vector2(0.3, 0.45));
+ std::stringstream sstm;
+ sstm << "Level " << level;
+ this->setCaption(sstm.str());
+
+ //TODO
+ //make others stop blinking when new level pop-up is activated
}
+
}
void TFlagsLivesLevelHUD::changedOwner()
Modified: code/branches/tgidronFS16/src/modules/hover/TFlagsLivesLevelHUD.h
===================================================================
--- code/branches/tgidronFS16/src/modules/hover/TFlagsLivesLevelHUD.h 2016-05-26 12:49:13 UTC (rev 11195)
+++ code/branches/tgidronFS16/src/modules/hover/TFlagsLivesLevelHUD.h 2016-05-26 12:49:44 UTC (rev 11196)
@@ -52,7 +52,7 @@
/// sets TOTAL flags taken
inline void setShowTot(int totFlags)
{ this->totFlags_ = totFlags; }
- /// returns total flags >=0
+ /// returns TOTAL flags >=0
inline int getShowTot() const
{ return this->totFlags_; }
@@ -84,7 +84,14 @@
inline int getTotLevel() const
{ return this->totLevel_; }
+ /// sets level Upgrade
+ void setLevelUpgrade(const bool levelUpgrade)
+ { levelUpgrade_ = levelUpgrade; }
+ /// gets level Upgrade
+ const bool getLevelUpgrade() const
+ { return levelUpgrade_; }
+
private:
Hover* hoverGame_;
int totFlags_;
@@ -92,6 +99,7 @@
bool showLives_;
bool showLevel_;
bool showTotFlags_;
+ bool levelUpgrade_;
};
}
#endif /* _TFlagsLivesLevelHUD_H__ */
\ No newline at end of file
More information about the Orxonox-commit
mailing list