⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamescreen.java

📁 一个JAVA程序,可以直接运行,也可以进行调试.
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
     
     if((j2.getY()>(planepo+22))&&(j0.getY()>(planepo+22))&&((j1.getY()<(planepoup-22))||(j1.getY()>(planepo+22))))
     		{//结束复位
     	                jb[3]=1;
     	                 gz=0;
                     	gzks=0;
                   	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((j2.getX()<=c1.getX()-18)&(jbz==0))//开火
           {     jpb=0;
	        if(j0.isVisible())
	        {
          	 jbullet0.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;
      }//end while	
	  }//end if
     if(jpb==0)
          {//System.out.println("dddddddddd");
     		jbullet0.move(0,5);
            jbullet1.move(0,5);
             jbullet2.move(0,5);  
        }
		if ((jbullet0.collidesWith(c1,true)||jbullet1.collidesWith(c1,true)||jbullet2.collidesWith(c1,true)||bossbullet0.collidesWith(c1,true)||bossbullet1.collidesWith(c1,true)||bossbullet2.collidesWith(c1,true))&&(pzbz==0))
        {
       
			c1.setImage(img("/pic/explosion.png"),32,32);
			c1.setFrame(3);
			if((playerno>0))
			{
				playerno=playerno-1;
				planert=1;
			
			}else{
				pzbz=1;
					overcmd=1;		
			over=1;
			}//只有挂了3次后在大挂
        }
		if((j0.collidesWith(c1,true)&&(pzbz==0)))	
		{
			c1.setImage(img("/pic/explosion.png"),32,32);
			c1.setFrame(3);
			if(playerno>0)
			{
				playerno=playerno-1;
				planert=1;
				playlife=0;
			}else{	
					overcmd=1;
					playlife=1;
				
			over=1;}
			j0.setVisible(false);
			pzbz=1;
		}
		if((j1.collidesWith(c1,true)&&(pzbz==0)))	
		{
			c1.setImage(img("/pic/explosion.png"),32,32);
			c1.setFrame(3);		
			if(playerno>0)
			{
				playerno=playerno-1;
				planert=1;
				playlife=0;
			}else{		
					overcmd=1;		
				playlife=1;	
			over=1;}
			j1.setVisible(false);
			pzbz=1;
		}
		if((j2.collidesWith(c1,true)&&(pzbz==0)))	
		{
			c1.setImage(img("/pic/explosion.png"),32,32);
			c1.setFrame(3);
			
			if(playerno>0)
			{
				playerno=playerno-1;
				planert=1;
				playlife=0;
			}else{
				
				playlife=1;
				if(overcmd==0)
				{
					overcmd=1;
				}
				
			over=1;}
			j2.setVisible(false);
			pzbz=1;
		}
		
	if(overcmd==1)
		{
			addCommand(new Command("返回",Command.OK,1));
			overcmd=2;//同理,中弹后线程不停止
		}
		if(boss==1)//第一关关头
		{  
			cboss.setVisible(true);
		   if(cboss.getY()<25)
		   {
		   	cboss.move(0,3);
		  }else lr=1;
		    //判断飞机横向飞行
		if(lr==1)
		{
			
			if(cboss.getX()<0)
			{
				right=0;
		        left=1;
		    }
		    else if(cboss.getX()>getWidth()-cboss.getWidth())//先头竟然写成了getHeight(),浪费时间
	     	{
		    	left=0;
			    right=1;
		    }	
		if(right==0)
			{
				cboss.move(3,0);
			}
			else if(left==0)
				{
					cboss.move(-3,0);
				}
		
		}
		//判断BOSS开火
		if(((cboss.getX()<=c1.getX()-10)||(cboss.getX()<=c1.getX()+60))&&(jbsz==0))
	    {      //jpb=0;
		         bossbullet0.setPosition(cboss.getX()+6,cboss.getY()+40);
	    	 bossbullet1.setPosition(cboss.getX()+30,cboss.getY()+52);
		         bossbullet2.setPosition(cboss.getX()+54,cboss.getY()+40);
		         jbsz=1;//防止不断刷新到当前位置
	     }
		if(jbsz==1)
		{
			bossbullet0.setVisible(true);
         	bossbullet1.setVisible(true);
         	bossbullet2.setVisible(true);
		  bossbullet0.move(0,5);
		  bossbullet1.move(0,5);
		  bossbullet2.move(0,5);
		}
		if(bossbullet2.getY()>getHeight())
		{
			jbsz=0;
		}
     }
		if(bosslife==60)//收尾
		{   
			cboss.setVisible(false);
		j1.setVisible(false);
		j0.setVisible(false);
		j2.setVisible(false);
		bossbullet0.setVisible(false);
		bossbullet1.setVisible(false);
		bossbullet2.setVisible(false);
		jbullet0.setVisible(false);
		jbullet1.setVisible(false);
		jbullet2.setVisible(false);
			pzbz=1;
			bossover=1;//画结尾
			boss=2;
			bosslife=65;//防止不停刷新
			pzbzover=1;//敌人飞机不动了
			 addCommand(new Command("返回",Command.OK,1));
		}
		if(bosslife==45)
		{
			bosscolor=1;//BOSS变红,表示快挂了        
                }
		if(slife==65)
		{
			sbosscolor=1;//SBOSS变红,表示快挂了
		}
		 if(y1<0){
			render(g);
			y1=y1+1;//地图移动关键处	.........................................................
	    	planepoup=planepoup-1;//玩家上方
			planepo=planepo-1;//玩家下方
	    	   c1.move(0,-1);//玩家不控制飞机的时候飞机可以不出格,此处的 指应该和地图移动的值相等
		 }//画过程
		 if (y1>=0 )
			{
		      if(boss==0)//防止不停的刷新
		       {jbsz=0;//////////////////////////////////////lollllllllllllllllllllllllll敌人不能开火啦,应该=0;
	    	        boss=1;
	    	        planepoup=0;//判断上出界标志值
	            	planepo=getHeight();//判断下出界标志值
	            	cboss.setPosition(80,-60);
		      }
	    	renderboss(g);				
			}//判断地图是否到头,画关头		
		    if(bosscolor==0)//判断BOSS颜色
				cboss.setFrame(0);//击中时变的红色,现在变成原色,在线程结尾处变,可以达到变色的效果
			else cboss.setFrame(1);//快挂时一直红色
			
			if(sbosscolor==0)//原理同上
				sboss.setFrame(0);
			else sboss.setFrame(1);
		//白云,原理,先设定5个的其始位置,然消失一个出现一个
	       	  if(cloundno==0)
	       	  {  //加1是为了防止出现0,所以随机数应该是1,2,3,4,5
	       	  	cloud[0].setPosition(25,planepoup-(65));
	       	  	cloud[1].setPosition(80,planepoup-(140));
	       	  	cloud[2].setPosition(112,planepoup-(90));
	       	  	cloud[3].setPosition(175,planepoup-(200));
				cloud[4].setPosition(223,planepoup-(70));
				cloundno=1;
	       	  }  
	   		cloud[0].move(0,1);
	   		cloud[1].move(0,1);
	   		cloud[2].move(0,1);
	   		cloud[3].move(0,1);
	   		cloud[4].move(0,1);
	         if(cloud[0].getY()>planepo){
	         	cloudposition=aicloud.nextInt()%5;
	     	 	if(cloudposition<0)
	     	 	{
	     	 		cloudposition=cloudposition*(-1);
	     	 	}
	     	 	cloudposition=cloudposition+1;
	     	 	cloud[0].setPosition(cloudposition*40,planepoup);
	         }
	         if(cloud[1].getY()>planepo){
	         	cloudposition=aicloud.nextInt()%5;
	     	 	if(cloudposition<0)
	     	 	{
	     	 		cloudposition=cloudposition*(-1);
	     	 	}
	     	 	cloudposition=cloudposition+1;
	     	 	cloud[1].setPosition(cloudposition*30,planepoup);
	         }
	         if(cloud[2].getY()>planepo){
	         	cloudposition=aicloud.nextInt()%5;
	     	 	if(cloudposition<0)
	     	 	{
	     	 		cloudposition=cloudposition*(-1);
	     	 	}
	     	 	cloudposition=cloudposition+1;
	     	 	cloud[2].setPosition(cloudposition*55,planepoup);
	         }
	         if(cloud[3].getY()>planepo){
	         	cloudposition=aicloud.nextInt()%5;
	     	 	if(cloudposition<0)
	     	 	{
	     	 		cloudposition=cloudposition*(-1);
	     	 	}
	     	 	cloudposition=cloudposition+1;
	     	 	cloud[03].setPosition(cloudposition*15,planepoup);
	         }
	         if(cloud[4].getY()>planepo){
	         	cloudposition=aicloud.nextInt()%5;
	     	 	if(cloudposition<0)
	     	 	{
	     	 		cloudposition=cloudposition*(-1);
	     	 	}
	     	 	cloudposition=cloudposition+1;
	     	 	cloud[4].setPosition(cloudposition*22,planepoup);
	         }
	         //白云END         
	         //小BOSS出现及其AI
	         if((y1==-1000)&&(sbz==0))
	         {sbsz0=0;
	         sbsz1=0;
	         sbsz2=0;
	         sbsz3=0;
	         drawslife=1;
	         	sboss.setVisible(true);
	         	sboss.setPosition(50,planepoup-65);
	            sbz=1;
	         } 
	         if(sbz==1)//如果敌人飞机处于屏幕外面,直飞入屏幕
	         {//System.out.println("dddddddddddddddddddddddddd");
	         	sboss.move(0,3);
	         if(sboss.getY()>planepoup)
	         {
	         	sbz=2;//飞机出来后先不动,根据玩家飞机的的位置判断应该怎么办
	         }
	         }
	         if(sbz==2)//攻击
	         {	
	         	
	         	if(((sboss.getY()-50)<c1.getY())&&(smovebz==0))
	         	{
	         		sbmove=1;//上移		
	         	}
	         	if(((sboss.getX()+30)<c1.getX())&&(smovebz==0))
	         	{
	         		sbmove=4;//右移
	         	}
	         	if(((sboss.getY()+50)<c1.getY())&&(smovebz==0))
	         	{
	         		sbmove=2;//下移
	         	}
	         	if(((sboss.getX()-30)>c1.getX())&&(smovebz==0))
	         	{
	         		sbmove=3;//左移
	         	}
	         	
	         	if(sbmove==1)//上移
	         	{  
	         		smovebz=1;
	         		sboss.move(0,-2);//之所以这么写是为了可以让他一直移动
	         			
	         	}
	         	if(sbmove==2)//下
	         	{
	         		smovebz=1;
         	    	sboss.move(0,2);
	         	}
	         	
	         	if(sbmove==3)//左
	         	{
	         		sboss.move(-2,0);
	         	}
	         
	         	if(sbmove==4)//右
	         	{
	         		smovebz=1;
	         		sboss.move(2,0);
	         	}
	       	
	         	//上  下 左  右
	         if(sboss.getY()<planepoup) // ||(sboss.getY()>(planepo-65))||(sboss.getX()<0)||(sboss.getX()>getWidth()-65))
	         {
	         	sboss.setPosition(sboss.getX(),planepoup);
	         	smovebz=0;
	         }
	         //下
	         if(sboss.getY()>(planepo-65))
	         {
	        	sboss.setPosition(sboss.getX(),planepo-65);
	        	smovebz=0;
	         }
	         //左
	         if(sboss.getX()<0)
	         {
	         	sboss.setPosition(0,sboss.getY());
	         	smovebz=0;
	         }
	         //右
	         if(sboss.getX()>(getWidth()-65))
	         {
	         	sboss.setPosition(getWidth()-65,sboss.getY());
	         	smovebz=0;
	         }       	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -