void setup()
{ size(800, 800); } float x=400, y=750; float vx=2.0, vy=-2.5; float boardX, boardY=760, boardW=200, boardH=10; float enemyX=350, enemyY=0, enemyW=100, enemyH=100, enemyVX=1.0; boolean ballFlying = false, ballMoving = true; void draw() { boardX = mouseX-boardW/2; background(#099CFF); rect(boardX, boardY, boardW, boardH);//桿子 ellipse(x, y, 20, 20);//球 rect(enemyX, enemyY, enemyW, enemyH);//Boss enemyX = enemyX+enemyVX; if (enemyX>700 || enemyX<100) enemyVX=-enemyVX; if(ballMoving) x = mouseX; if(ballFlying) { x = x+vx; y = y+vy; } if (x>800 || x<0) vx=-vx; if (y<0) vy=-vy; if ((y>boardY && y<boardY+boardH) && (x>boardX && x<boardX+boardW)) { vy=-vy; vx+=(mouseX-pmouseX)/2; } if ((y>enemyY && y<enemyY+enemyH) && (x>enemyX && x<enemyX+enemyW)) { vy=-vy; vx+=(mouseX-pmouseX)/2; } if(mousePressed && mouseButton == LEFT) { ballFlying = true;//點擊滑鼠,球開始移動 ballMoving = false; } }PImage p1, p2;
void setup()
{
size(800, 800);
colorMode(RGB, 255, 255, 255);
//p1 = loadImage("win.png");
//p2 = loadImage("lose.png");
}
float x=400, y=750;
float vx=2.5, vy=-3.0;
float boardX, boardY=760, boardW=200, boardH=10;
float enemyX=350, enemyY=0, enemyW=100, enemyH=100, enemyVX=1.0, enemyLife=3;
boolean ballFlying = false, ballMoving = true;
int c=255;
void draw()
{
if (enemyLife==1) boardW=100;
if (enemyLife<3 && enemyVX>0) enemyVX=2.0;
if (enemyLife<3 && enemyVX<0) enemyVX=-2.0;
//if (enemyLife==0) image(p1, 0, 0);
boardX = mouseX-boardW/2;
if (enemyLife>0)
{
background(#099CFF);
fill(255, 255, 255);
rect(boardX, boardY, boardW, boardH);//桿子
ellipse(x, y, 20, 20);//球
}
if (enemyLife>0)
{
fill(255, c, c);
rect(enemyX, enemyY, enemyW, enemyH);//Boss
enemyX = enemyX+enemyVX;
}
if (enemyX>700 || enemyX<0) enemyVX=-enemyVX;
if (ballMoving) x = mouseX;
if (ballFlying)
{
x = x+vx;
y = y+vy;
}
if (x>800 || x<0) vx=-vx;
if (y<0) vy=-vy;
//if (y>800 && enemyLife!=0) image(p2, 0, 0);
if ((y>boardY && y<boardY+boardH) && (x>boardX && x<boardX+boardW))
{
vy=-vy;
vx+=(mouseX-pmouseX)/2;
}
if ( enemyLife>0 && testSide2() )
{
c=128;
vy = -vy;
enemyLife--;
}
else c=255;
if ( enemyLife>0 && testSide() )
{
c=128;
vx = -vx;
enemyLife--;
}
else c=255;
if (mousePressed && mouseButton == LEFT)
{
ballFlying = true;//點擊滑鼠,球開始移動
ballMoving = false;
}
}
boolean testSide()
{
float right = enemyX+enemyW;
float left = enemyX;
float up = enemyY;
float down = enemyY+enemyH;
if ( y<up || y>down ) return false;
if ( x+vx<=right && x >= right)
{
println("touch right");
return true;
}
if ( x+vx>=left && x <= left)
{
println("touch left");
return true;
}
return false;
}
boolean testSide2()
{
float right = enemyX+enemyW;
float left = enemyX;
float up = enemyY;
float down = enemyY+enemyH;
if ( x<left || x>right ) return false;
if ( y+vy<=down && y >= down)
{
println("touch down");
return true;
}
if ( y+vy>=up && y <= up)
{
println("touch up");
return true;
}
return false;
}
沒有留言:
張貼留言