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

📄 gamemanager.java

📁 一个以音乐为主题的杀怪手机游戏
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
	    if (menuActive ){menuX = 120 ; menuActiveSpeed = 11;menuActive = false;}
	     menuX  -= menuActiveSpeed ;
	      menuActiveSpeed --; 
	     if(menuX <65){menuX = 65;}
	     if (menuActiveSpeed<0 ){	  menuActiveSpeed =0 ; }
	     g.setClip(0,0,W,H);
	     triangleR( g ,120,198);
	      triangleL( g ,58,198);
      
	    if ( keyState[6]){ 
	    	keyState[6]=false;
			//sleep(50);
	    	//cover = null;
	    	switch(slt){
	    		case 0: 
	    			cover = null;
	    			System.gc();
	    			cz4 = load("cz4");
	    			cz5 = load("cz5");
	    			cz6 = load("cz6");
	    			cz7 = load("cz7");
	    			long1 = load("long1");
		 		long2 = load("long2");
		 		long3 = load("long3");
		 		manState = load("manState");
		 		magicMenu = load("magicMenu");
		 		magicMenuColorful = load("magicMenuColorful");
		 		magicEffect = load("magicEffect");
     			magicHealth = load("magicHealth");
		 		messageReady = load("messageReady");
	    			gameRestart();
	    			snow = true;
	    			gameState = stateLoading;
	    			break;
	    		case 1: 
	    			cover = null;
	    			System.gc();
	    			cz4 = load("cz4");
	    			cz5 = load("cz5");
	    			cz6 = load("cz6");
	    			cz7 = load("cz7");
	    			long1 = load("long1");
		 		long2 = load("long2");
		 		long3 = load("long3");
		 		manState = load("manState");
		 		magicMenu = load("magicMenu");
		 		magicMenuColorful = load("magicMenuColorful");
		 		magicEffect = load("magicEffect");
     			magicHealth = load("magicHealth");
		 		messageReady = load("messageReady");
	    			saveAndRead(false);
	    			gameState = stateLoading;
	    			break;
	    		case 2:gameState = stateHelp;break;
	    		case 3:gameState = stateAbout;break;
	    		case 4:gameState = stateGroup;break;
	    		case 5:gameState = stateExit;break;
	    	}
	    	slt = 0;
	    }
    }

	//=================================菜單三角(shu)========================================ok //

	private void triangle(Graphics g ,int x,int y){
		//tAdd++; if (tAdd >3)tAdd =0;
		g.setColor(200,0,0);
		y += 2*(tAdd%2);
		g.drawLine(x,y,x+4,y);
		g.drawLine(x+1,y+1,x+3,y+1);
		g.drawLine(x+2,y+2,x+2,y+2);
	}
		//=================================菜單三角(you)========================================ok //

	private void triangleR(Graphics g ,int x,int y){
		//tAdd++; if (tAdd >3)tAdd =0;
		g.setColor(200,0,0);
		x += 2*(tAdd%2);
		g.drawLine(x,y,x,y+4);
		g.drawLine(x+1,y+1,x+1,y+3 );
		g.drawLine( x+2 , y+2,x+2,y+2 );
	}
		private void triangleL(Graphics g ,int x,int y){
		tAdd++; if (tAdd >2)tAdd =0;
		g.setColor(200,0,0);
		x -= 2*(tAdd%2);
		g.drawLine(x,y,x,y+4);
		g.drawLine(x-1,y+1,x-1,y+3 );
		g.drawLine( x-2 , y+2,x-2,y+2 );
	}
	//====================================  幫  助/關 於  ==========================================
	public void helpAndAbout(Graphics g ,int mode){
		g.setColor(0,0,0);
		g.fillRect(0,0,W,H);
		g.setColor(255,255,255);
		 
		fontHeight = g.getFont().getHeight();
	 switch(mode){
	 case 1:
	 			g.setColor(255,255,255);
	 			
	 			g.drawString("代理商",10,10,0);
	 	    g.drawString("寶石星球股份有限公司",10,30+fontHeight,0);
	 	    g.drawString("02-2702-5154",10,30+fontHeight*2,0);
	 	    g.drawString("www.gemmyplanet.com",10,30+fontHeight*3,0);
	 			
	 			/* 
	 			setText("發行商:\n北京中傳視訊科技有限公司\n開發商:\n北京澳唐科技有限公司\n網  址:\nwww.looklook.cn\n客服熱線:\n800-810-6684\n傳  真:\n010-85862775\n客服郵箱:\ngame@looklook.cn",g);
	 	
				drawText("發行商:\n北京中傳視訊科技有限公司\n開發商:\n北京澳唐科技有限公司\n網  址:\nwww.looklook.cn\n客服熱線:\n800-810-6684\n傳  真:\n010-85862775\n客服郵箱:\ngame@looklook.cn",g);
	 			*/
	 	break;
	 	case 2:
	 			g.setColor(255,255,255);
	 	    g.drawString("方向鍵:",10,10,0);
	 	    g.drawString("上/2:向上移動",24,10+fontHeight,0);
	 	    g.drawString("下/8:向下移動",24,10+fontHeight*2,0);
	 	    g.drawString("左/4:向左移動",24,10+fontHeight*3,0);
	 	    g.drawString("右/6:向右移動",24,10+fontHeight*4,0);
	 	    g.drawString("確定鍵:使用武器/對話",10,10+fontHeight*5,0);
	 	    g.drawString("左軟鍵:選擇武器",10,10+fontHeight*6,0);
	 	    g.drawString("右軟鍵:功能表/跳過對話",10,10+fontHeight*7,0);
        g.setColor(1 ,55,255);
        g.drawString("方向鍵:",11,11,0);
 
	 	    g.drawString("確定鍵: ",11,11+fontHeight*5,0);
	 	    g.drawString("左軟鍵: ",11,11+fontHeight*6,0);
	 	    g.drawString("右軟鍵: ",11,11+fontHeight*7,0);

	  break;
	  case 3:
	  		g.setColor(1 ,55,255);
	 			g.drawString("Powered BY",20,20,0);
	 			g.setColor(255,255,255);
	 	    g.drawString("花卷兒 & 鞋帶兒",W/2-49,H/2-30,0);
	 	    g.setColor(1 ,55,255);
	 	    g.drawString("花卷兒 & 鞋帶兒",W/2-48,H/2-29,0);
    break;
	  
	   
  }
	 if( keyState[5] ) {keyState[5] = false ;gameState = stateStart;}
 }
 
  
  
 	
 
 
 
	//================================= 遊戲螢幕 ====================================== //  22 x 36  = 33x 36
 boolean showSubMenu = false;
  private void gameScreen(Graphics g, boolean[] keyState ){
  	//g.setFont(Font.getFont(32,0,8));
  	//System.out.println("a1");
  	if(foeAdd%5 ==0){
  		manMagic++;
  		if(manMagic >100){manMagic =100;}
  	}
  	//if(manRun){manSpeed = 15;}else {manSpeed =6;}
  	if(manHealth <0){ snow = true;}
  /*	if (midiPlayer.getState()==midiPlayer.PREFETCHED){
  		try{
		    
		    midiPlayer.start();
		     }catch(Exception e){};
  		}
  	if (midiPlayer2.getState()==midiPlayer2.PREFETCHED){
  		try{
		    
		    midiPlayer2.start();
		     }catch(Exception e){};
  		}*/
  	
  	//某方向的動作圖塊序列橫向放置, 不同方向的動作圖序列應分佈在不同行。
		//後期準備添加人物呼吸動作!
		
		
		
		
		
    
    tmpMapPassable_man = (byte)Math.abs(currentMap_Under[tmpManPositionY][tmpManPositionX]); // 取值
    //System.out.println("a2");
	  currentMap_Under[tmpManPositionY][tmpManPositionX] = (byte)-tmpMapPassable_man;     // 阻止通行
	 // System.out.println("a3");
	  if ( tmpManPositionX != winX + (manX - mapX)/16 || tmpManPositionY != winY + (manY - mapY)/16){  
    		
    		currentMap_Under[tmpManPositionY ][tmpManPositionX] = (byte)tmpMapPassable_man;  
    		tmpManPositionX = manPositionX;
    		tmpManPositionY = manPositionY;
    }
    
    manPositionX = winX + (manX - mapX)/16;//人物座標(地圖)
    manPositionY = winY + (manY - mapY)/16;
   // System.out.println("a4");
   //tmpDirection = direction;
   // keyWait--;if( keyWait <0){keyWait = 0;keyWatch = false; manRun = false; manSpeed = 16;}
     
   	for ( int i = 0 ; i<= 6 ; i++ ){//處理按鍵回應
  		 if (keyState[i] && i<= 3 && !snow && !showSubMenu && !talking){
  		 	  direction = i;
  		  	//if (tmpDirection != direction)keyWait = 20;
  		 		
  		 		//if ( tmpDirection == direction  && keyWatch){ manRun = true;}
  		 	 
  		 		if (!talking && !showSubMenu) {manMove = true;}
  		 } 
  		 if(!talking  ){
  		 	  if (keyState[4]   && !useMagic && !snow  ){keyState[4] = false;currentMagic--;if (currentMagic < 0){currentMagic =2;}}
  		 	  if (keyState[6]   && !useMagic && nearly == false && !showSubMenu && manMagic >20&& !snow ){  //fire
  		 	  	keyState[6] = false;
  		 	  	/*manMove = false;mapMove = false;*/
  		 	  	magicAdd = 0;
  		 	  	
  		 	  	switch(currentMagic){
  		 	  		case 0 :
  		 	  			magicPositionX = 0;
  		 	  	    magicPositionY = 0;
  		 	  		break;
  		 	  		
  		 	  		case 1:
  		 	  			manDart-=1;if(manDart<0)manDart=0;
  		 	  			if(manDart>0){
  		 	  				manMagic -= 10;if(manMagic<0){manMagic =0;}/////////////////////// 
  		 	  			switch(direction){
  		 	  					case 0:
  		 	  					magicStepX = 0;
   									magicStepY = -1;
   									magicX = 0;
   									magicY = -6;
  		 	  					magicPositionX = manPositionX  ;
  		 	  	        magicPositionY = manPositionY ;
  		 	  					break;	
  		 	  				  case 1:
  		 	  				  magicStepX = 0;
   									magicStepY = 1;
   									magicX = 0;
   									magicY = 6;
  		 	  				  magicPositionX = manPositionX ;
  		 	  					magicPositionY = manPositionY ;
  		 	  					break;	
  		 	  				  case 2:
  		 	  				  magicStepX = -1;
   									magicStepY = 0;
   									magicX = -6;
   									magicY = 0;
  		 	  				  magicPositionX = manPositionX ;
  		 	  					magicPositionY = manPositionY ;
  		 	  					break;	
  		 	  				  case 3:
  		 	  				  magicStepX = 1;
   									magicStepY = 0;
   									magicX = 6;
   									magicY = 0;
  		 	  				  magicPositionX = manPositionX ;
  		 	  					magicPositionY = manPositionY ;
  		 	  					break;	
  		 	  			}
  		 	  			
  		 	  	 useMagic = true;
  		 	  	 magicStart = true;
  		 	  	 magicHit = false;
  		 	  	}
  		 	  		break;
  		 	  		case 2:
  		 	  			manMagic -= 1;if(manMagic<0){manMagic =0;} 
  		 	  			switch(direction){
  		 	  					case 0:
  		 	  					magicStepX = 0;
   									magicStepY = -1;
  		 	  					magicPositionX = manPositionX ;
  		 	  	        magicPositionY = manPositionY -1;
  		 	  					break;	
  		 	  				  case 1:
  		 	  				  magicStepX = 0;
   									magicStepY = 1;
  		 	  				  magicPositionX = manPositionX ;
  		 	  					magicPositionY = manPositionY +1;
  		 	  					break;	
  		 	  				  case 2:
  		 	  				  magicStepX = -1;
   									magicStepY = 0;
  		 	  				  magicPositionX = manPositionX -1;
  		 	  					magicPositionY = manPositionY ;
  		 	  					break;	
  		 	  				  case 3:
  		 	  				  magicStepX = 1;
   									magicStepY = 0;
  		 	  				  magicPositionX = manPositionX +1;
  		 	  					magicPositionY = manPositionY ;
  		 	  					break;	
  		 	  			}
  		 	  		break;
  		 	  		
  		 	  	}
  		 	  ///	System.out.println("magic :" + magicPositionX + "  - - -   " + magicPositionY );
  		 	  ///	System.out.println("foe   :"+ foePoint[0][0] + "  * * *   " + foePoint[0][1] );
  		 	  	
 
  		 	  	 useMagic = true;
  		 	  	 magicStart = true;
  		 	  	 magicHit = false;
  		 	  }
  		 		if (keyState[5] && !snow  ){showSubMenu = !showSubMenu; keyState[5] = false;}
  		 }
  	 }
  	 //----------------------------------------------
  	   //if ( !keyState[direction] && keyWait >0 ){keyWatch = true;}
  	   //if ( manRun ){ manSpeed = 16;}
  	 //----------------------------------------------]
  	 
   	if ( manMove ){ // 人物移動 && !talking
   		  pAdd ++;
   			switch(direction){
   				case 0: 
   				      if( currentMap_Under[manPositionY-2][manPositionX] >= 0 && currentMap_Under[manPositionY-1][manPositionX] >= 0 ){ // 可移動性判斷
   					    	manY -= manSpeed;
   						    if (manY <= H/2  && winY>0){
   						    	manY = H/2;
   						    	mapMove = true;
   						    }
   						  }
   				break;
   				case 1:
   				      
   					    if( currentMap_Under[manPositionY+1][manPositionX] >= 0 ){ // 可移動性判斷
   						    manY += manSpeed;
   			          if (manY >= H/2   && winY<currentMap_Under.length-H/16-1){
   			          	manY = H/2;
   			          	mapMove = true;
   			          }
   			        }
   				break;
   				case 2:
   				      
   					    if( currentMap_Under[manPositionY][manPositionX-1] >= 0 && currentMap_Under[manPositionY-1][manPositionX-1] >= 0){ // 可移動性判斷
   						    manX -= manSpeed;
   			          if (manX <= W/2  && winX>0){
   			          	manX = W/2 ;
   			          	mapMove = true;
   			          }
   				      }
   				break;
   				case 3:
   				     
   					    if( currentMap_Under[manPositionY][manPositionX+1] >= 0 && currentMap_Under[manPositionY-1][manPositionX+1] >= 0){ // 可移動性判斷
   						    manX += manSpeed;
   			          if (manX >= W/2  && winX <currentMap_Under[0].length-W/16 -1){
   			          	manX = W/2;
   			          	mapMove = true;
   			          }
   			        }
   				break;
   			}
   			manMove = false;
   	}else{          // 人物靜止
   			  pAdd = 0;
   			  mapMove = false; 
   	}
   	
   	if (mapMove ){
   		switch(direction){
   				
   				case 0:
   					mapY += manSpeed;

⌨️ 快捷键说明

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