📄 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 + -