?? gamescreen.java
字號:
{ //隱藏子彈
huokebullet[6].setAlive(6);
huokebullet[6].clean(6,huokebullet);
}
}
//檢測子彈碰撞
//huoke0
if (huokebullet[0].collidesWith(cboss,true))
{
huokebullet[0].setVisible(false);
huokebullet[1].setVisible(false);
huokebullet[2].setVisible(false);
cboss.setFrame(1);
// huokebullet[0].no=0;//****************在下次循環十時,NO--<=0,可以執行NO<=0判斷語句
if(bosslife<=55)
{
bosslife=bosslife+5;
//cboss.setFrame(0);
}
huokebullet[0].setAlive(0);
huokebullet[0].clean(0,huokebullet);
}
if(huokebullet[0].collidesWith(sboss,true)&&(sbpzbz==0))
{
huokebullet[0].setVisible(false);
huokebullet[1].setVisible(false);
huokebullet[2].setVisible(false);
sboss.setFrame(1);
//huokebullet[3].no=1;
if(slife<=75)
{
slife=slife+5;
}
huokebullet[0].setAlive(0);
huokebullet[0].clean(0,huokebullet);
}
// huoke3
if (huokebullet[3].collidesWith(cboss,true))
{
cboss.setFrame(1);
huokebullet[3].setVisible(false);
huokebullet[4].setVisible(false);
huokebullet[5].setVisible(false);
huokebullet[3].no=0;
if(bosslife<=55)
{
bosslife=bosslife+5;
}
huokebullet[3].setAlive(3);
huokebullet[3].clean(3,huokebullet);
}//end boss
if(huokebullet[3].collidesWith(sboss,true)&&(sbpzbz==0))
{
sboss.setFrame(1);
huokebullet[3].setVisible(false);
huokebullet[4].setVisible(false);
huokebullet[5].setVisible(false);
huokebullet[3].no=1;
if(slife<=75)
{
slife=slife+5;
}
huokebullet[3].setAlive(3);
huokebullet[3].clean(3,huokebullet);
}
//huoke6
if (huokebullet[6].collidesWith(cboss,true))
{
huokebullet[6].setVisible(false);
huokebullet[7].setVisible(false);
huokebullet[8].setVisible(false);
cboss.setFrame(1);
if(bosslife<=55)
{
bosslife=bosslife+5;
}
huokebullet[6].setAlive(6);
huokebullet[6].clean(6,huokebullet);
}
if(huokebullet[6].collidesWith(sboss,true)&&(sbpzbz==0))
{
sboss.setFrame(1);
huokebullet[6].setVisible(false);
huokebullet[7].setVisible(false);
huokebullet[8].setVisible(false);
// huokebullet[6].no=1;
if(slife<=75)
{
slife=slife+5;
}
huokebullet[6].setAlive(6);
huokebullet[6].clean(6,huokebullet);
}//end sboss
if((y1>-1350)&&(pzbzover==0))//y1由-1391遞增,C1。GETY()為正常坐標,是正數
{
switch (ai)
{
case 0:
if(jb[0]==1)
{
jbz=0;//限定敵人只能發射一次子彈,在CASE0 BREAK上面最后一個IF語句顯示
j0.setVisible(true);
j1.setVisible(true);
j2.setVisible(true);
j1.setFrame(2);
j0.setFrame(2);
j2.setFrame(2);
j0.setPosition(100-aipp*30,planepoup+24);
j1.setPosition(100,planepoup);
j2.setPosition(100+aipp*30,planepoup-24);;
jb[0]=2;
}
if (jb[0]==2)
{
j0.move(0,3);
j1.move(0,3);
j2.move(0,3);
kkk=kkk-1;
}
if(kkk<=0)//飛機開始轉向
{
jb[0]=3;//不執行JB[0]=1,2了
if(aipp>=0)
{
j1.setFrame(0);
j0.setFrame(0);
j2.setFrame(0);
j0.move(-3,3);
j1.move(-3,3);
j2.move(-3,3);
}else if(aipp<0)
{
j1.setFrame(1);
j0.setFrame(1);
j2.setFrame(1);
j0.move(3,3);
j1.move(3,3);
j2.move(3,3);
}
if(j2.getY()>planepo)//敵人飛機,子彈消失
{
j0.setVisible(false);
j1.setVisible(false);
j2.setVisible(false);
jbullet0.setVisible(false);
jbullet1.setVisible(false);
jbullet2.setVisible(false);
jpb=-1;//子彈標志位設為-1,使得SWITCH后的子彈循環不執行 //子彈比飛機快
ai=aik.nextInt()%4;
aipp=aip.nextInt()%5;
if(aipp==0)
{
aipp=aip.nextInt()%5;
}
if(ai<0)
ai=ai*(-1);
jb[ai]=1;
kkk=getHeight()/8;
}
}
if((j1.getX()<=c1.getX()-18)&(jbz==0))
{ jpb=0;
if(j0.isVisible())
{
jbullet0.setVisible(true);
}
if(j1.isVisible())
{
jbullet1.setVisible(true);
}
if(j2.isVisible())
{
jbullet2.setVisible(true);
}
jbullet0.setPosition(j0.getX()+12,j0.getY()+30);
jbullet1.setPosition(j1.getX()+12,j1.getY()+30);
jbullet2.setPosition(j2.getX()+12,j2.getY()+30);
jbz=1;
}
break;
case 1:
if(jb[1]==1)
{
j0.setVisible(true);
j1.setVisible(true);
j2.setVisible(true);
j1.setFrame(2);
j0.setFrame(2);
j2.setFrame(2);
j0.setPosition(100-aipp*30,planepoup+24);
j1.setPosition(100,planepoup);
j2.setPosition(100+aipp*30,planepoup-24);;
jb[1]=2;
}
if (jb[1]==2)
{
j0.move(0,3);
j1.move(0,3);
j2.move(0,3);
kkk=kkk-1;
}
if(kkk<0)//飛機掉頭,子彈向上方射擊
{
jb[1]=3;
}
if(jb[1]==3){
jpb=1;//子彈向上方射擊
j1.setFrame(3);
j0.setFrame(3);
j2.setFrame(3);
jb[1]=4;
}
if(jb[1]==4){
j0.move(0,-4);
j1.move(0,-4);
j2.move(0,-4);
if(j2.getY()<planepoup)//此處的飛機是向上方飛的
{
j0.setVisible(false);
j1.setVisible(false);
j2.setVisible(false);
jbullet0.setVisible(false);
jbullet1.setVisible(false);
jpb=-1;//飛機子彈不繼續運動
jbullet2.setVisible(false);
ai=aik.nextInt()%4;
if(ai<0)
ai=ai*(-1);
jb[ai]=1;
aipp=aip.nextInt()%5;
if(aipp==0)
{
aipp=aip.nextInt()%5;
}
kkk=getHeight()/8;
}
}
break;
case 2:
if(jb[2]==1)
{
jbz=0;
j0.setVisible(true);
j1.setVisible(true);
j2.setVisible(true);
j1.setFrame(2);
j0.setFrame(2);
j2.setFrame(2);
j0.setPosition(100-aipp*30,planepoup+aipp*30);
j1.setPosition(100,planepoup);
j2.setPosition(100+aipp*30,planepoup+aipp*30);;
jb[2]=2;
}
if (jb[2]==2)
{
j0.move(0,3);
j1.move(0,3);
j2.move(0,3);
kkk=kkk-1;
}
if(kkk<=0)
{
jb[2]=3;
j1.setFrame(0);
j0.setFrame(0);
j2.setFrame(0);
j0.move(-3,3);
j1.move(-3,3);
j2.move(-3,3);
if(j2.getY()>planepo)
{
jpb=-1;
jbullet0.setVisible(false);
jbullet1.setVisible(false);
jbullet2.setVisible(false);
j0.setVisible(false);
j1.setVisible(false);
j2.setVisible(false);
ai=aik.nextInt()%4;
if(ai<0)
ai=ai*(-1);
jb[ai]=1;
aipp=aip.nextInt()%5;
if(aipp==0)
{
aipp=aip.nextInt()%5;
}
kkk=getHeight()/8;
}
}
if(((j1.getX()<=c1.getX()-18)||((j2.getX()-6)>=c1.getX()))&(jbz==0))
{
if(j0.isVisible())
{
jbullet0.setVisible(true);
}
if(j1.isVisible())
{
jbullet1.setVisible(true);
}
if(j2.isVisible())
{
jbullet2.setVisible(true);
}
jpb=0;
jbullet0.setPosition(j0.getX()+12,j0.getY()+30);
jbullet1.setPosition(j1.getX()+12,j1.getY()+30);
jbullet2.setPosition(j2.getX()+12,j2.getY()+30);
jbz=1;
}
break;
case 3:
// System.out.println("ffffffffffffffffffffffffffff");
if(jb[3]==1)
{j1b=0;
jbz=0;
j0.setVisible(true);
j1.setVisible(true);
j2.setVisible(true);
j1.setFrame(2);
j0.setFrame(2);
j2.setFrame(2);
j0.setPosition(200-aipp*50,planepoup-aipp*10);
j1.setPosition(100,planepoup);
j2.setPosition(100+aipp*50,planepoup-aipp*10);
jb[3]=2;
}
if (jb[3]==2)
{
j0.move(0,3);
j1.move(0,3);
j2.move(0,3);
//特殊飛機J1具有跟蹤能力
if(gzks==0)//如果飛機掉頭向上是GZ=1,即向上不能跟蹤
{
if(j1.getX()<c1.getX())//J1在C1的左邊
{
j1.move(2,2);
j1.setFrame(1);
}
if(j1.getX()>c1.getX())//j1在C1的右邊
{ j1.setFrame(0);
j1.move(-2,2);
}
if((j1.getX()<c1.getX())&&((j1.getX()+48)>c1.getX())&&(j1.getY()<c1.getY()))//如果C1在J1的正下面范圍內
{
j1.setFrame(2);
j1.move(0,2);
if(j1b==0)//跟蹤子彈設置
{
jbullet1.setVisible(true);
jbullet1.setPosition(j1.getX()+12,j1.getY()+30);
j1b=1;
}
}
//j1.move(0,3);
j0.move(0,3);
jbullet1.move(0,6);
j1.move(0,3);
j2.move(0,3);
}
///////////////////////////////////////////////////////
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -