generated from sigonasr2/CPlusPlusProjectTemplate
warning level setups
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
0cbdb6f7da
commit
d6f46ba81b
@ -12,6 +12,7 @@ Board::Board(vi2d boardSize,float blockWeight,float gravity,float maxGravity,flo
|
|||||||
for (int i=0;i<boardSize.x;i++) {
|
for (int i=0;i<boardSize.x;i++) {
|
||||||
cols.push_back(std::vector<Block>());
|
cols.push_back(std::vector<Block>());
|
||||||
cols[i].reserve(boardSize.y+10);
|
cols[i].reserve(boardSize.y+10);
|
||||||
|
warningFlashingLevel.push_back(0.f);
|
||||||
}
|
}
|
||||||
clumps.reserve(100);
|
clumps.reserve(100);
|
||||||
}
|
}
|
||||||
|
3
Board.h
3
Board.h
@ -53,6 +53,9 @@ class Board{
|
|||||||
float launchTime; //How much time a stack rises before beginning descent.
|
float launchTime; //How much time a stack rises before beginning descent.
|
||||||
float landTime;
|
float landTime;
|
||||||
SelectedBlockData selectedBlock;
|
SelectedBlockData selectedBlock;
|
||||||
|
int warningLevel=0;
|
||||||
|
int maxWarningLevel=0;
|
||||||
|
std::vector<float> warningFlashingLevel;
|
||||||
Board();
|
Board();
|
||||||
Board(vi2d boardSize,float blockWeight,float gravity,float maxGravity,float launchedGravity,float launchedMaxGravity,std::vector<float> launchSpd,float launchTime,float landTime,float spawnRate,std::array<int,10> colorRates,Renderable&tileset);
|
Board(vi2d boardSize,float blockWeight,float gravity,float maxGravity,float launchedGravity,float launchedMaxGravity,std::vector<float> launchSpd,float launchTime,float landTime,float spawnRate,std::array<int,10> colorRates,Renderable&tileset);
|
||||||
void spawnBlock(int col);
|
void spawnBlock(int col);
|
||||||
|
Binary file not shown.
108
main.cpp
108
main.cpp
@ -44,6 +44,60 @@ bool Meteos::OnUserUpdate(float fElapsedTime)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Meteos::handleInput(){
|
void Meteos::handleInput(){
|
||||||
|
if (GetMouse(0).bHeld){
|
||||||
|
int mouseX=(GetMouseX()-gameBoard.drawOffset.x);
|
||||||
|
int mouseY=(GetMouseY()-gameBoard.drawOffset.y);
|
||||||
|
int mouseCol=mouseX/12;
|
||||||
|
int mouseRow=mouseY/12;
|
||||||
|
if (mouseCol>=0&&mouseCol<gameBoard.boardSize.x) {
|
||||||
|
for (int y=0;y<gameBoard.getBlocks(mouseCol).size();y++){
|
||||||
|
Block&b=gameBoard.getBlocks(mouseCol)[y];
|
||||||
|
if (b.pos.y/12==mouseRow){
|
||||||
|
SelectedBlockData newData={mouseCol,y,-1};
|
||||||
|
if (gameBoard.selectedBlock.col!=-1&&mouseCol==gameBoard.selectedBlock.col){
|
||||||
|
//See if these two can be swapped.
|
||||||
|
Block&b1=gameBoard.getBlock(gameBoard.selectedBlock);
|
||||||
|
Block&b2=gameBoard.getBlock(newData);
|
||||||
|
int y1=(gameBoard.selectedBlock.c!=-1)?gameBoard.getBlockClumps()[gameBoard.selectedBlock.c].getBlockPosition(gameBoard.getBlockClumps()[gameBoard.selectedBlock.c].getBlocks()[gameBoard.selectedBlock.ind]).y:gameBoard.getBlocks(gameBoard.selectedBlock.col)[gameBoard.selectedBlock.ind].pos.y;
|
||||||
|
int y2=(newData.c!=-1)?gameBoard.getBlockClumps()[newData.c].getBlockPosition(gameBoard.getBlockClumps()[newData.c].getBlocks()[newData.ind]).y:gameBoard.getBlocks(newData.col)[newData.ind].pos.y;
|
||||||
|
if (b1.pos.x==b2.pos.x&&std::abs(y1-y2)<=12){
|
||||||
|
//Swap the two!
|
||||||
|
BlockColor tempCol=b1.col;
|
||||||
|
b1.col=b2.col;
|
||||||
|
b2.col=tempCol;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gameBoard.selectedBlock=newData;
|
||||||
|
goto found;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int i=0;i<gameBoard.getBlockClumps().size();i++){
|
||||||
|
BlockClump&c=gameBoard.getBlockClumps()[i];
|
||||||
|
for (int j=0;j<c.getBlocks().size();j++){
|
||||||
|
Block&b=c.getBlocks()[j];
|
||||||
|
if (b.pos.x/12==mouseCol&&c.getBlockPosition(b).y<=mouseY&&c.getBlockPosition(b).y+12>=mouseY){
|
||||||
|
SelectedBlockData newData={mouseCol,j,i};
|
||||||
|
if (gameBoard.selectedBlock.col!=-1&&mouseCol==gameBoard.selectedBlock.col){
|
||||||
|
//See if these two can be swapped.
|
||||||
|
Block&b1=gameBoard.getBlock(gameBoard.selectedBlock);
|
||||||
|
Block&b2=gameBoard.getBlock(newData);
|
||||||
|
int y1=(gameBoard.selectedBlock.c!=-1)?gameBoard.getBlockClumps()[gameBoard.selectedBlock.c].getBlockPosition(gameBoard.getBlockClumps()[gameBoard.selectedBlock.c].getBlocks()[gameBoard.selectedBlock.ind]).y:gameBoard.getBlocks(gameBoard.selectedBlock.col)[gameBoard.selectedBlock.ind].pos.y;
|
||||||
|
int y2=(newData.c!=-1)?gameBoard.getBlockClumps()[newData.c].getBlockPosition(gameBoard.getBlockClumps()[newData.c].getBlocks()[newData.ind]).y:gameBoard.getBlocks(newData.col)[newData.ind].pos.y;
|
||||||
|
if (b1.pos.x==b2.pos.x&&std::abs(y1-y2)<=12){
|
||||||
|
//Swap the two!
|
||||||
|
BlockColor tempCol=b1.col;
|
||||||
|
b1.col=b2.col;
|
||||||
|
b2.col=tempCol;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gameBoard.selectedBlock=newData;
|
||||||
|
goto found;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
found:;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (GetMouse(0).bReleased){
|
if (GetMouse(0).bReleased){
|
||||||
gameBoard.selectedBlock={-1,-1,-1};
|
gameBoard.selectedBlock={-1,-1,-1};
|
||||||
}
|
}
|
||||||
@ -585,60 +639,6 @@ void Meteos::updateGame(float fElapsedTime){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
invalidatedExit:
|
invalidatedExit:
|
||||||
if (GetMouse(0).bHeld){
|
|
||||||
int mouseX=(GetMouseX()-gameBoard.drawOffset.x);
|
|
||||||
int mouseY=(GetMouseY()-gameBoard.drawOffset.y);
|
|
||||||
int mouseCol=mouseX/12;
|
|
||||||
int mouseRow=mouseY/12;
|
|
||||||
if (mouseCol>=0&&mouseCol<gameBoard.boardSize.x) {
|
|
||||||
for (int y=0;y<gameBoard.getBlocks(mouseCol).size();y++){
|
|
||||||
Block&b=gameBoard.getBlocks(mouseCol)[y];
|
|
||||||
if (b.pos.y/12==mouseRow){
|
|
||||||
SelectedBlockData newData={mouseCol,y,-1};
|
|
||||||
if (gameBoard.selectedBlock.col!=-1&&mouseCol==gameBoard.selectedBlock.col){
|
|
||||||
//See if these two can be swapped.
|
|
||||||
Block&b1=gameBoard.getBlock(gameBoard.selectedBlock);
|
|
||||||
Block&b2=gameBoard.getBlock(newData);
|
|
||||||
int y1=(gameBoard.selectedBlock.c!=-1)?gameBoard.getBlockClumps()[gameBoard.selectedBlock.c].getBlockPosition(gameBoard.getBlockClumps()[gameBoard.selectedBlock.c].getBlocks()[gameBoard.selectedBlock.ind]).y:gameBoard.getBlocks(gameBoard.selectedBlock.col)[gameBoard.selectedBlock.ind].pos.y;
|
|
||||||
int y2=(newData.c!=-1)?gameBoard.getBlockClumps()[newData.c].getBlockPosition(gameBoard.getBlockClumps()[newData.c].getBlocks()[newData.ind]).y:gameBoard.getBlocks(newData.col)[newData.ind].pos.y;
|
|
||||||
if (b1.pos.x==b2.pos.x&&std::abs(y1-y2)<=12){
|
|
||||||
//Swap the two!
|
|
||||||
BlockColor tempCol=b1.col;
|
|
||||||
b1.col=b2.col;
|
|
||||||
b2.col=tempCol;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
gameBoard.selectedBlock=newData;
|
|
||||||
goto found;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int i=0;i<gameBoard.getBlockClumps().size();i++){
|
|
||||||
BlockClump&c=gameBoard.getBlockClumps()[i];
|
|
||||||
for (int j=0;j<c.getBlocks().size();j++){
|
|
||||||
Block&b=c.getBlocks()[j];
|
|
||||||
if (b.pos.x/12==mouseCol&&c.getBlockPosition(b).y<=mouseY&&c.getBlockPosition(b).y+12>=mouseY){
|
|
||||||
SelectedBlockData newData={mouseCol,j,i};
|
|
||||||
if (gameBoard.selectedBlock.col!=-1&&mouseCol==gameBoard.selectedBlock.col){
|
|
||||||
//See if these two can be swapped.
|
|
||||||
Block&b1=gameBoard.getBlock(gameBoard.selectedBlock);
|
|
||||||
Block&b2=gameBoard.getBlock(newData);
|
|
||||||
int y1=(gameBoard.selectedBlock.c!=-1)?gameBoard.getBlockClumps()[gameBoard.selectedBlock.c].getBlockPosition(gameBoard.getBlockClumps()[gameBoard.selectedBlock.c].getBlocks()[gameBoard.selectedBlock.ind]).y:gameBoard.getBlocks(gameBoard.selectedBlock.col)[gameBoard.selectedBlock.ind].pos.y;
|
|
||||||
int y2=(newData.c!=-1)?gameBoard.getBlockClumps()[newData.c].getBlockPosition(gameBoard.getBlockClumps()[newData.c].getBlocks()[newData.ind]).y:gameBoard.getBlocks(newData.col)[newData.ind].pos.y;
|
|
||||||
if (b1.pos.x==b2.pos.x&&std::abs(y1-y2)<=12){
|
|
||||||
//Swap the two!
|
|
||||||
BlockColor tempCol=b1.col;
|
|
||||||
b1.col=b2.col;
|
|
||||||
b2.col=tempCol;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
gameBoard.selectedBlock=newData;
|
|
||||||
goto found;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
found:;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int i=comboDisplayList.size()-1;i>=0;i--){
|
for (int i=comboDisplayList.size()-1;i>=0;i--){
|
||||||
ComboOverlay&c=comboDisplayList[i];
|
ComboOverlay&c=comboDisplayList[i];
|
||||||
c.lifetime++;
|
c.lifetime++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user