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

📄 game.java

📁 这是本人学习java2个月后写的游戏
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//		System.out.println(score);
//		int keyState = getKeyStates();
//		if((keyState & LEFT_PRESSED) != 0)
//		{	
//			direction = LEFT;			
//		}else if((keyState & UP_PRESSED) != 0)
//		{
//			direction = UP;
//		}else if((keyState & DOWN_PRESSED) != 0)
//		{
//			direction = DOWN;
//		}else if((keyState & RIGHT_PRESSED) != 0)
//		{
//			direction = RIGHT;
//		}
		
	}
	
	int count;
	
	
	public void run()
	{
		while(true)
		{
			s5.nextFrame();
			s6.nextFrame();
			s7.nextFrame();
			s8.nextFrame();
//			catchPac1();
//			catchPac2();
//			catchPac3();
//			catchPac4();
//			if(count % 2 == 0)
//			{
//				tl1.setAnimatedTile(index, 7);//修改贴图
//			}else
//			{
//				tl1.setAnimatedTile(index, 6);
//			}
			count ++;
			if(count >= 1000)
			{
				count = 0;
			}
			direction1 = ra.nextInt(4);
			direction3 = ra2.nextInt(4);
			direction5 = ra3.nextInt(4);
			direction7 = ra4.nextInt(4);
//			bigBeans(b);
//			s1.setPosition(x1, y1);
//			s2.setPosition(x2, y2);
//			s3.setPosition(x3, y3);
//			s4.setPosition(x4, y4);
//			input();
//			if(b == false){
			if(dietime == 0){
				input();
				catchPac1();
				catchPac2();
				catchPac3();
				catchPac4();
				logic1();
				logic2();
				logic3();
				logic4();
			}else{
				s9.nextFrame();
				dietime ++;
				if(dietime > 11){
					s9.setPosition(-16, 0);
					s.setPosition(112, 144);
					s1.setPosition(128, 96);
					s2.setPosition(96, 96);
					s3.setPosition(128, 112);
					s4.setPosition(96, 112);
					dietime = 0;
				}
			}
//			}
//			if(s.collidesWith(s1, true)){
//				if(!s.collidesWith(s1, true)){
//					s.setFrameSequence(new int[]{26,27});
//				}else{
//					s.nextFrame();
//				}
//				m.pauseApp();
//				
//			}
//			if(s.collidesWith(s2, true)){
//				if(!s.collidesWith(s1, true)){
//					s.setFrameSequence(new int[]{26,27});
//				}else{
//					s.nextFrame();
//				}
//				m.pauseApp();
//			}
//			if(s.collidesWith(s3, true)){
//				if(!s.collidesWith(s1, true)){
//					s.setFrameSequence(new int[]{26,27});
//				}else{
//					s.nextFrame();
//				}
//				m.pauseApp();
//			}
//			if(s.collidesWith(s4, true)){
//				if(!s.collidesWith(s1, true)){
//					s.setFrameSequence(new int[]{26,27});
//				}else{
//					s.nextFrame();
//				}
//				m.pauseApp();
//			}
//			begin();
			render(g);
			try
			{
				Thread.sleep(300);
			}catch(Exception e)
			{
				e.printStackTrace();
			}
		}
		
	}
	
	public void logic1()
    {
		switch(direction2){
    	case UP://小球向上运动
    		s1.setFrame(0);
        	s1.move(0, -16);
        	if(s1.getY() < 64 && s1.getX()==128){
        		direction2 = RIGHT;
        	}
            break;
        case DOWN://小球向下运动
        	s1.setFrame(1);
        	s1.move(0, 16);
        	if(s1.getY() > 128 && s1.getX() == 192){
        		direction2 = LEFT;
        	}
//        	System.out.println(s1.getX());
            break;
        case LEFT://小球向左运动
        	s1.setFrame(2);
        	s1.move(-16, 0); 		
            break;
        case RIGHT://小球向右运动
        	s1.setFrame(3);
        	s1.move(16, 0);
        	if(s1.getX() > 176 && s1.getY() == 48){
        		direction2 = DOWN;
        	}else if(s1.getX() > 112 && s1.getY() == 208){
        		direction2 = UP;
        	}else if(s1.getX() > 176 && s1.getY() == 176){
        		direction2 = UP;
        	}
//        	System.out.println(s1.getY());
            break;
    	}
		if(s1.collidesWith(tl, false)||s1.collidesWith(s2, false)||s1.collidesWith(s3, false)||s1.collidesWith(s4, false)){
			switch(direction2){
        	case UP://小球向上运动
            	s1.move(0, 16);
            	direction2 = direction1;
                break;
            case DOWN://小球向下运动
            	s1.move(0, -16);
            	direction2 = direction1;
//            	System.out.println(s2.getY());
                break;
            case LEFT://小球向左运动
            	s1.move(16, 0);
            	direction2 = direction1;
                break;
            case RIGHT://小球向右运动
            	s1.move(-16, 0);
            	direction2 = direction1;
                break;
        	}

		}
		if(s1.getY()>256 || s1.getY()<16 || s1.getX()>224 || s1.getX()<16){
			s1.setPosition(128, 96);
		}
		if(s1.collidesWith(s, false)){
			life ++;
			s9.setPosition(s.getX(), s.getY());
			dietime = 1;
		}
        
    }
	
	public void logic2()
    {		
			switch(direction4){
	    	case UP://小球向上运动
	    		s2.setFrame(4);
	        	s2.move(0, -16);
	        	if(s2.getY() < 64 && s2.getX() == 96){
	        		direction4 = LEFT;
	        	}
//	        	System.out.println(s2.getX());
	            break;
	        case DOWN://小球向下运动
	        	s2.setFrame(5);
	        	s2.move(0, 16);
	        	if(s2.getY() > 160 && s2.getX() == 32){
	        		direction4 = RIGHT;
	        	}
//	        	System.out.println(s2.getY());
//	        	System.out.println("X"+s2.getX());
	            break;
	        case LEFT://小球向左运动
	        	s2.setFrame(6);
	        	s2.move(-16, 0);
	        	if(s2.getX() < 48 && s2.getY() == 48){
	        		direction4 = DOWN;
	        	}else if(s2.getX() < 48 && s2.getY() == 208){
	        		direction4 = UP;
	        	}
//	        	System.out.println(s2.getY());
//	        	System.out.println("X"+s2.getX());
	            break;
	        case RIGHT://小球向右运动
	        	s2.setFrame(7);
	        	s2.move(16, 0);
	        	if(s2.getX() > 176 && s2.getY() == 208){
	        		direction4 = UP;
	        	}
//	        	System.out.println(s2.getY());
//	        	System.out.println("X"+s2.getX());
	            break;
	    	}
			if(s2.collidesWith(tl, false)||s2.collidesWith(s1, false)||s2.collidesWith(s3, false)||s2.collidesWith(s4, false)){
				switch(direction4){
	        	case UP://小球向上运动
	            	s2.move(0, 16);
	            	direction4 = direction3;
	                break;
	            case DOWN://小球向下运动
	            	s2.move(0, -16);
	            	direction4 = direction3;
	                break;
	            case LEFT://小球向左运动
	            	s2.move(16, 0);
	            	direction4 = direction3;
	                break;
	            case RIGHT://小球向右运动
	            	s2.move(-16, 0);
	            	direction4 = direction3;
	                break;
	        	}
		}
		if(s2.getY()>256 || s2.getY()<16 || s2.getX()>224 || s2.getX()<16){
			s2.setPosition(96, 96);
		}
		if(s2.collidesWith(s, false)){
			life ++;
			s9.setPosition(s.getX(), s.getY());
			dietime = 1;
		}
    }
	
	public void logic3()
    {		
		if(count > 20){
			switch(direction6){
	    	case UP://小球向上运动
	    		s3.setFrame(8);
	        	s3.move(0, -16);            	
	            break;
	        case DOWN://小球向下运动
	        	s3.setFrame(9);
	        	s3.move(0, 16);
	            break;
	        case LEFT://小球向左运动
	        	s3.setFrame(10);
	        	s3.move(-16, 0); 		
	            break;
	        case RIGHT://小球向右运动
	        	s3.setFrame(11);
	        	s3.move(16, 0);	
	            break;
	    	}
			if(s3.collidesWith(tl, false)||s3.collidesWith(s2, false)||s3.collidesWith(s1, false)||s3.collidesWith(s4, false)){
				switch(direction6){
	        	case UP://小球向上运动
	            	s3.move(0, 16);
	            	direction6 = direction5;
	                break;
	            case DOWN://小球向下运动
	            	s3.move(0, -16);
	            	direction6 = direction5;
	                break;
	            case LEFT://小球向左运动
	            	s3.move(16, 0);
	            	direction6 = direction5;
	                break;
	            case RIGHT://小球向右运动
	            	s3.move(-16, 0);
	            	direction6 = direction5;
	                break;
	        	}
		}
		}
		if(s3.getY()>256 || s3.getY()<16 || s3.getX()>224 || s3.getX()<16){
			s3.setPosition(128, 112);
		}
		if(s3.collidesWith(s, false)){
			life ++;
			s9.setPosition(s.getX(), s.getY());
			dietime = 1;
		}
    }
	
	public void logic4()
    {		
		if(count > 20){
			switch(direction8){
	    	case UP://小球向上运动
	    		s4.setFrame(12);
	        	s4.move(0, -16);            	
	            break;
	        case DOWN://小球向下运动
	        	s4.setFrame(13);
	        	s4.move(0, 16);
	            break;
	        case LEFT://小球向左运动
	        	s4.setFrame(14);
	        	s4.move(-16, 0); 		
	            break;
	        case RIGHT://小球向右运动
	        	s4.setFrame(15);
	        	s4.move(16, 0);	
	            break;
	    	}
			if(s4.collidesWith(tl, false)||s4.collidesWith(s2, false)||s4.collidesWith(s3, false)||s4.collidesWith(s1, false)){
				switch(direction8){
	        	case UP://小球向上运动
	            	s4.move(0, 16);
	            	direction8 = direction7;
	                break;
	            case DOWN://小球向下运动
	            	s4.move(0, -16);
	            	direction8 = direction7;
	                break;
	            case LEFT://小球向左运动
	            	s4.move(16, 0);
	            	direction8 = direction7;
	                break;
	            case RIGHT://小球向右运动
	            	s4.move(-16, 0);
	            	direction8 = direction7;
	                break;
	        	}
		}
		}
		if(s4.getY()>256 || s4.getY()<16 || s4.getX()>224 || s4.getX()<16){
			s4.setPosition(96, 112);
		}
		if(s4.collidesWith(s, false)){
			life ++;
			s9.setPosition(s.getX(), s.getY());
			dietime = 1;
		}
        
    }
	
	public void keyPressed(int keyCode)
	{		
		if(keyCode == -6)
		{
			Main_MIDlet.display.setCurrent(new Menu(m,1));
		}else if(keyCode == -7)
		{
			m.exit();
		}
	}
	
//	public void fail(){
//		if(time == 3){
//			keyPressed(-6);
//		}
//	}
	
//	public void bigBeans(boolean b){
//		
//		if(b == true){
//			s1.setFrame(21);
//			s2.setFrame(21);
//			s3.setFrame(21);
//			s4.setFrame(21);
//			if(snum == 3){
//				b = false;
//			}else{
//			 snum ++;
//			}
//		}
//		
//	}
	
	private void render(Graphics g)
	{
//		String sscore = Integer.toString(score);
		g.setColor(0, 0, 0);
		g.fillRect(0, 0, 240, 309);
//		g.drawString("you win!", 120, 155, Graphics.HCENTER | Graphics.VCENTER);
		if(life == 3){
			g.drawImage(img4, 120, 155, Graphics.VCENTER | Graphics.HCENTER);
			if(time == 3){
				keyPressed(-6);
			}
			time ++;
		}else if(bnum == 85){
			g.drawImage(img3, 120, 155, Graphics.VCENTER | Graphics.HCENTER);
			if(time == 3){
				keyPressed(-6);
			}
			time ++;
		}else{
			g.drawImage(img6, 30, 288, Graphics.HCENTER | Graphics.VCENTER);			
			g.setColor(255, 255, 0);
			g.drawString(Integer.toString(score), 83, 279, Graphics.TOP | Graphics.LEFT);
			g.drawImage(img5, 150, 288, Graphics.HCENTER | Graphics.VCENTER);
			if(life == 0){
				g.drawImage(img7, 190, 288, Graphics.HCENTER | Graphics.VCENTER);
				g.drawImage(img7, 210, 288, Graphics.HCENTER | Graphics.VCENTER);
			}else if(life == 1){
				g.drawImage(img7, 190, 288, Graphics.HCENTER | Graphics.VCENTER);
			}
			
			lm.paint(g,0,32);
		}
		flushGraphics();
	}
}

⌨️ 快捷键说明

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