So I am trying to make a frogger game and I have everything doing what I need it to do, but my hazards wont move and everything i try to do does not work? I have no idea how to make them move and how to add another row after advancing in each level? Here is my entire code i’m sorry if its super messy
float frogX;
int level = 1;
float frogY;
float frogSize;
//creating the band sized
float bandHeight;
float BANDWIDTH;
float bottomBand_y;
float edge;
float radius;
float inner;
float offset;
float x0;
float x1;
float x2;
float middleBand_y;
//final ints and floats
final int BAND_X = 0;
final int TOPBAND_Y = 0;
final float SPEED = 0.75;
//setup of the program
void setup()
{
fullScreen();
bandHeight = height/(level+4);
BANDWIDTH = width;
frogX = width/2;
frogY = height-bandHeight/2;
frogSize = bandHeight/2;
radius = frogSize/100;
edge = frogSize;
inner = edge+radius;
}
//initial draw for the program
void draw()
{
drawWorld();
drawFrog(frogX,frogY,frogSize);
drawHazards();
displayMessage("level"+str(level));
}
void drawWorld()
{
for (int i=1;i<level+3;i++)
{
fill(0,0,255);
stroke(0,0,255);
rect(BAND_X,middleBand_y,BANDWIDTH,bandHeight);
middleBand_y = bandHeight*i;
if (detectWin())
{
level++;
frogY = height-bandHeight/2;
frogX = width/2;
}
}
fill(139,100,40);
stroke(0);
rect(BAND_X,TOPBAND_Y,BANDWIDTH,bandHeight);
rect(BAND_X,bottomBand_y,BANDWIDTH,bandHeight);
bottomBand_y = height-bandHeight;
}
//draw frog paramiters
void drawFrog(float x, float y, float diam)
{
fill(0,255,50);
ellipse(x,y,diam,diam);
}
//move frog peramiters
void moveFrog(float xChange, float yChange)
{
if (objectInCanvas(frogX, frogY, frogSize))
{
frogX = frogX+xChange;
frogY = frogY+yChange;
frogX = constrain(frogX,inner,width-inner);
frogY = constrain(frogY,inner,height-inner);
}
}
//peramiters on how to move the frog
void keyPressed()
{
if ( key == 'w')
moveFrog(0,-bandHeight);
if ( key == 's')
moveFrog(0,bandHeight);
if ( key == 'a')
moveFrog(-bandHeight,0);
if ( key == 'd')
moveFrog(bandHeight,0);
if ( key == 'i')
moveFrog(0,-bandHeight);
if ( key == 'k')
moveFrog(0,bandHeight);
if ( key == 'j')
moveFrog(-bandHeight,0);
if ( key == 'l')
moveFrog(bandHeight,0);
}
boolean objectInCanvas(float x, float y, float diam)
{
boolean InCanvas = true;
if ( x < 0 || x > width || y < 0 || y > height || diam < 0)
InCanvas = false;
return InCanvas;
}
//drawing hazard peramiters
void drawHazards()
{
for (int j=0;j<width;j++)
{
for (float i=0;i<level+2;i++)
{
float y0 = (height-bandHeight*1.5)-i*(bandHeight*3);
if (y0 < bandHeight)
{
y0 = height-bandHeight*1.5;
}
float y1 = (height-bandHeight*2.8)-i*(bandHeight*3);
if (y1 < bandHeight)
{
y1 = height-bandHeight*2.8;
}
float y2 = (height-bandHeight*3.5)-i*(bandHeight*3);
if (y2 < bandHeight)
{
y2 = height-bandHeight*3.5;
}
x0 = j*(bandHeight*3);
x1 = j*(bandHeight*4)-((bandHeight-50)/2);
x2 = j*(bandHeight*5);
drawHazard(0,x0,y0,bandHeight/1.5);
drawHazard(1,x1,y1,bandHeight/1.5);
drawHazard(2,x2,y2,bandHeight/1.5);
}
}
}
//hazard draw peramiters
void drawHazard(int type, float x, float y, float size)
{
if (type == 0)
{
fill(255,0,0);
ellipse(x,y,size,size);
}
if (type == 1)
{
fill(0);
rect(x,y,size,size);
}
if (type == 2)
{
fill(255);
ellipse(x,y,size,size);
}
}
//displaying the level selector peramiters
void displayMessage(String l)
{
textSize(bandHeight/2);
text(l,width/2.4,bandHeight/1.5);
if (detectWin())
{
frogY = height-bandHeight/2;
}
}
//return frog when reaching end of the level to advance to the next level
boolean detectWin()
{
boolean win=false;
if (frogY < bandHeight)
{
win=true;
}
return win;
}