xxxxxxxxxx
var px;
var py;
var px2;
var py2;
var cmry=240;
var hscr=0;
var gamestate=0;
var green60=0;
var aqua60=0;
var purple60=0;
var temp1;
var linex= new Array(18);
var liney= new Array(18);
var liney2= new Array(18);
var linel= new Array(18);
var linek= new Array(18);
function setup() {
createCanvas(360, 480);
frameRate(60);
textSize(24);
}
function draw() {
background(34,75,141);
if(gamestate==0){
noStroke();
fill(255);
textAlign(LEFT);
text('SCORE:'+Math.floor(cmry-240),0,24);
textAlign(RIGHT);
text('HISCORE:'+hscr,360,24);
textAlign(CENTER);
text('HOPPING BALL',180,96);
text('ルール説明',180,264);
text('左右キーで移動',180,288);
text('左右はループしてます',180,312);
text('スペースキーでゲーム開始',180,384);
if(keyIsDown(32)||(mouseIsPressed&&mouseX>120&&mouseX<240)){
gamestate=1;
for(var i=0;i<18;i++){
linel[i]=random(20,40);
linex[i]=random(linel[i],360-linel[i]);
liney[i]=(i+1)*40;
liney2[i]=(i+1)*40;
linek[i]=0;
}
px=180;
py=0;
px2=0;
py2=0;
cmry=240;
}
}
else if(gamestate==1){
if(cmry<3360){green60=Math.floor((cmry-960)/240);}
else{green60=10;}
if(cmry<3360){aqua60=2*Math.floor((cmry-960)/240);}
else{aqua60=20;}
if(cmry<6960){purple60=2*Math.floor((cmry-960)/240);}
else{purple60=50;}
if(keyIsDown(RIGHT_ARROW)&&px2<3){px2+=0.5;}
else if(keyIsDown(LEFT_ARROW)&&px2>-3){px2-=0.5;}
else if (mouseIsPressed) {
if(mouseX>240&&px2<3){px2+=0.5;}
else if(mouseX<120&&px2>-3){px2-=0.5;}
}
if(py<0){py2=6;}
py2-=0.2;
py+=py2;
px+=px2;
if(px>360){px-=360;}
if(px<0){px+=360;}
if(py>cmry){cmry=py;}
if(py<cmry-250){gamestate=0;}
if(hscr<Math.floor(cmry-240)){hscr=Math.floor(cmry-240);}
stroke(255,255,255);
for(var i=0;i<18;i++){
if(liney[i]<cmry-245){
if(linek[i]==4){
linek[i]=3;
liney[i]=liney2[i];
}
else{
linel[i]=random(20,40);
linex[i]=random(linel[i],360-linel[i]);
liney[i]=liney2[i]+720;
liney2[i]=liney2[i]+720;
temp1=Math.floor(random(1,60));
if(temp1<=green60){linek[i]=1;}
else if(temp1<=aqua60){linek[i]=2;}
else if(temp1<=purple60){linek[i]=3;}
else{linek[i]=0;}
}
}
if(linek[i]==1){
linex[i]+=2;
if(linex[i]>=360+linel[i]){linex[i]=0-linel[i];}
}
if(linek[i]==2){
linex[i]-=2;
if(linex[i]<=0-linel[i]){linex[i]=360+linel[i];}
}
if(linek[i]==4){liney[i]-=2;}
if(px>=linex[i]-linel[i]&&px<=linex[i]+linel[i]&&py>=liney[i]-15&&py<=liney[i]-5){
py2=6;
if(linek[i]==3){linek[i]=4;}
}
if(linek[i]==0){fill(255,0,0);}
if(linek[i]==1){fill(0,255,0);}
if(linek[i]==2){fill(0,255,255);}
if(linek[i]==3){fill(255,0,255);}
if(linek[i]==4){fill(255,0,255);}
rect(linex[i]-linel[i],-liney[i]+cmry+240,2*linel[i],10);
}
fill(0,0,0);
circle(px-360,-py+cmry+230,20);
circle(px,-py+cmry+230,20);
circle(px+360,-py+cmry+230,20);
noStroke();
fill(255);
textAlign(LEFT);
text('SCORE:'+Math.floor(cmry-240),0,24);
textAlign(RIGHT);
text('HISCORE:'+hscr,360,24);
}
}