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

📄 gamecanvas.java

📁 手机射击游戏源代码,nokia s60模拟器开发包,eclipse工具开发.不可用于商业用途.
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
		if (ccc) {
			lift.setPosition(2188, 148);
			ccc = false;
		}
		if (map.y > 400)
			bbb = true;
		if (lift.x + lift.getWidth() <= 0)
			ccc = true;
	}

	void paintMission1(Graphics g) {
		playerpc3.setPosition(object[0].x + 60, object[0].y - 10);
		playerpc4.setPosition(object[1].x + 60, object[1].y - 10);
		playerpc5.setPosition(object[2].x, 50);
		playerpc6.setPosition(object[2].x, 200);

		imgJuanLeft(g, x1, -30, beijing);
		x1 = imgJuanLeft(g, x1, -30, beijing);
		map.paint(g);

		for (int i = 0; i < object.length; i++) {
			if (object[i].isAlive) {
				object[i].paint(g);
			}
		}

		for (int i = 0; i < 10; i++) {
			NPC[i].NPC1Manage(g, Character.DIRECTION_LEFT, map, NPC[i]);
		}
		for (int i = 10; i < 30; i++) {
			NPC[i].NPC2Manage(g, Character.DIRECTION_LEFT, gds.getMissionID(),50);
			if (NPC[i].isFire) {
				doFireNPC(npcBullets, NPC[i]);
				NPC[i].isFire = false;
			}			
		}
//		npcBulletOverlaps(g, npcBullets);
		if (npcisfire)npcBulletOverlaps(g, npcBullets);
		if (player.isAlive) {
			if (boss.isAlive) {
				boss.paint_boss1(g);
			}

			if (!playerWudi) {
				for (int i = 0; i < NPC.length; i++) {
					npcOverlapsPlayer(NPC[i]);
				}

				if (boss.isAlive) {
					for (int i = 0; i < boss.b1_bullets1.length; i++) {
						bossBulletOverlaps(boss.b1_bullets1[i]);
						bossBulletOverlaps(boss.b1_bullets2[i]);
						bossBulletOverlaps(boss.b1_bullets3[i]);
					}
					bossOverlapsPlayer(boss.boss1[0]);
				}
			}
		}							
		ImagePz(player, map, object);
	}
	int pdf=0;
	
	void paintMission2(Graphics g) {
		imgJuanLeft(g, x1, -30, beijing);
		x1 = imgJuanLeft(g, x1, -30, beijing);
		if (boss.isAlive) {
			boss.paint_boss2(g);			
		}

		map.paint(g);
		if (boss.isAlive) {
			boss.paint_boss2bullet(g);
			boss.paint_boom2(g);			
		}
		for (int i = 0; i < object.length; i++) {
			if (object[i].isAlive) {
				object[i].paint(g);
			}
		}
		for (int i = 0; i < 10; i++) {
			NPC[i].NPC4Manage(g, Character.DIRECTION_LEFT,50);
			if (NPC[i].isFire) {
				doFireNPC4(NPC[i]);
				NPC[i].isFire = false;
			}
		}
		for (int i = 10; i < 30; i++) {
			NPC[i].NPC2Manage(g, Character.DIRECTION_LEFT, gds.getMissionID(),40);
			if (NPC[i].isFire) {
				doFireNPC(npcBullets, NPC[i]);
				NPC[i].isFire = false;
			}
		}
//		npcBulletOverlaps(g, npcBullets);
		if (npcisfire)npcBulletOverlaps(g, npcBullets);
		npc4BulletOverlaps(g);
		if (player.isAlive) {
//			jump();
//			playerMove();
			
			if (!playerWudi) {
				for (int i = 0; i < NPC.length; i++) {
					npcOverlapsPlayer(NPC[i]);
				}

				if (boss.isAlive) {
					for (int i = 0; i < boss.b2_bullets_1.length; i++) {
						bossBulletOverlaps(boss.b2_bullets_1[i]);
						bossBulletOverlaps(boss.b2_bullets_2[i]);
						bossBulletOverlaps(boss.b2_bullets_3[i]);
					}
				}				
			}
		}
//		if (!playerWudi)
//			ImageMove();
		ImagePz(player, map, object);
	}

	boolean npcisfire;
	void paintMission3(Graphics g) {
		imgJuanLeft(g, x1, -30, beijing);
		x1 = imgJuanLeft(g, x1, -30, beijing);
		map.paint(g);

		for (int i = 0; i < object.length; i++) {
			if (object[i].isAlive) {
				object[i].paint(g);
			}
		}

		for (int i = 0; i < 10; i++) {
			NPC[i].NPC4Manage(g, Character.DIRECTION_LEFT,40);
			if (NPC[i].isFire) {
				doFireNPC4(NPC[i]);
				NPC[i].isFire = false;
			}
		}
		for (int i = 10; i < 30; i++) {
			NPC[i].NPC2Manage(g, Character.DIRECTION_LEFT, gds.getMissionID(),30);
			if (NPC[i].isFire) {
				doFireNPC(npcBullets, NPC[i]);
				NPC[i].isFire = false;
			}
		}
//		npcBulletOverlaps(g, npcBullets);
		if (npcisfire)npcBulletOverlaps(g, npcBullets);
		npc4BulletOverlaps(g);
		if (player.isAlive) {
//			jump();
//			playerMove();
			if (boss.isAlive) {
				boss.paint_boss3(g);
			}

			if (!playerWudi) {
				for (int i = 0; i < NPC.length; i++) {
					npcOverlapsPlayer(NPC[i]);
				}

				if (boss.isAlive) {
					for (int i = 0; i < boss.boss3_b3.length; i++) {
						bossBulletOverlaps(boss.boss3_b3[i]);
					}
//					bossOverlapsPlayer(boss.boss3[0]);
					bossOverlapsPlayer(boss.boss3[3]);
					if (boss.h)
						bossOverlapsPlayer(boss.boss3[8]);
					if (boss.n)
						bossOverlapsPlayer(boss.boss3[9]);
				}				
			}
		}
//		if (!playerWudi)
//			ImageMove();
		ImagePz(player, map, object);
	}

	void paintMission4(Graphics g) {	
		lCeng();
		liftBT();
		if (!uuu) {
			imgJuanLeft(g, x1, beijing.y, beijing);
			x1 = imgJuanLeft(g, x1, beijing.y, beijing);
		}
		if (uuu) {
			imgJuanDown(g, x1, beijing.y, beijing);
			beijing.y = imgJuanDown(g, x1, beijing.y, beijing);
		}
		if (player.collidesWith(lift)) {
			player.y -= 5;
		}
		map.paint(g);
		playerPc.paint(g);
		lift.paint(g);
		for (int i = 0; i < object.length; i++) {
			if (object[i].isAlive) {
				object[i].paint(g);
			}
		}

		for (int i = 0; i < 10; i++) {
			NPC[i].NPC4Manage(g, Character.DIRECTION_LEFT,30);
			if (NPC[i].isFire) {
				doFireNPC4(NPC[i]);
				NPC[i].isFire = false;
			}
		}
		for (int i = 10; i < 30; i++) {
			NPC[i].NPC2Manage(g, Character.DIRECTION_LEFT, gds.getMissionID(),20);
			if (NPC[i].isFire) {
				doFireNPC(npcBullets, NPC[i]);
				NPC[i].isFire = false;
			}
		}
//		npcBulletOverlaps(g, npcBullets);
		if (npcisfire)npcBulletOverlaps(g, npcBullets);
		npc4BulletOverlaps(g);
		if (player.isAlive) {
//			jump();
//			playerMove();
			if (boss.isAlive) {
				switch (cheng) {
				case 1:
					boss.paint_boss4(g);
					break;
				case 2:
					boss.paint_boss5(g);
					break;
				}
			}

			if (!playerWudi) {
				for (int i = 0; i < NPC.length; i++) {
					npcOverlapsPlayer(NPC[i]);
				}

				if (boss.isAlive) {
					switch (cheng) {
					case 1:
						for (int i = 0; i < boss.boss4_b1.length; i++) {
							bossBulletOverlaps(boss.boss4_b1[i]);
						}
						if (boss.m)
							bossOverlapsPlayer(boss.boss4[3]);
						bossOverlapsPlayer(boss.boss4[0]);
						break;
					case 2:
						for (int i = 0; i < boss.boss5b_2.length; i++) {
							bossBulletOverlaps(boss.boss5b_2[i]);
						}
						if (boss.k){
							bossOverlapsPlayer(boss.boss5[4]);
							bossOverlapsPlayer(boss.boss5[5]);
						}							
						break;
					}
				}				
			}
		}
		ImagePz4(player, map);		
	}

	/** TODO keyPressed * */
	protected void keyPressed(int keycode) {
		if (keycode == 0)
			return;
		switch (keycode) {
		case -1: //手机键盘上键,上
			keyUP();
			break;
		case 50: //手机键盘2键,上
			keyUP();
			break;
		case -2: //蹲
			keyDOWN();
			break;
		case 56:
			keyDOWN();
			break;
		case -3: //左方向
			keyLEFT();
			break;
		case 52: //手机键盘4键,左
			keyLEFT();
			break;
		case -4: //手机键盘右方向
			keyRIGHT();
			break;
		case 54: //手机键盘6键,右
			keyRIGHT();
			break;
		case 49: //1键 手雷
			keyPUTBOMB();
			break;
		case 51: //3键 jump
			keyJUMP();
			break;
		case -6: //左软键
			mc.doThreadStart();	//??????????
			mc.running=true;
			cs.display.setCurrent(mc);
			running=false;
			mc.curret=0;
			break;
		case -7: //右软键
			mc.doThreadStart();
			mc.running=true;
			cs.display.setCurrent(mc);
			running=false;
			mc.curret=0;
			break;
		case 53: //5键 fire
			keyFIRE();
			break;
		case -5: //手机键盘确认键
			keyFIRE();
			break;
		case -10:
			cs.display.setCurrent(mc);
			running=false;
			break;
		case -11:	//接听电话键
			cs.display.setCurrent(mc);
			running=false;
			break;
		default:
			break;
		}
	}
	
	void keyUP() {
		if (!fuhuo){
			player.playerDirect = Character.DIRECTION_UP;
			if (right_bln == true) {
				player.setState(13);
			}
			if (left_bln == true) {
				player.setState(11);
			}
		}
//		zuobi=zuobi+"u";
	}

	void keyDOWN() {
		if (!fuhuo){
			if (downright) {
				player.playerDirect = Character.DIRECTION_RIGHT_DOWN;
				player.setState(4);
			}
			if (downleft) {
				player.playerDirect = Character.DIRECTION_LEFT_DOWN;
				player.setState(14);
			}
		}
//		zuobi=zuobi+"r";
	}

	boolean iszuobi=false;
	void keyRIGHT() {
		if (!fuhuo){
			downright = true;
			downleft = false;
			rightbln = true;
			right_bln = true;
			left_bln = false;
			diaoluo = true;
			player.setDirection(Character.DIRECTION_RIGHT);
			if (player.isjump)
				player.setState(3);
			else player.setState(5);
			player.setMove(true);
			if (player.playerDirect == Character.DIRECTION_UP) {
				player.setState(2);
			}
			d = 2;
		}	
//		zuobi=zuobi+"i";
//		if (zuobi=="yurui"){	//?????????????????????作弊?????????????????????
//			iszuobi=true;
//		}
//		System.out.println(iszuobi);
//		System.out.println(zuobi);
	}

	void keyLEFT() {
		if (!fuhuo){
			diaoluo = true;
			downleft = true;
			downright = false;
			leftbln = true;
			left_bln = true;
			right_bln = false;
			player.setDirection(Character.DIRECTION_LEFT);
			if (player.isjump)
				player.setState(3);
			else player.setState(5);
			player.setMove(true);
			if (player.playerDirect == Character.DIRECTION_UP) {
				player.setState(4);
			}
			d = 2;
		}	
//		zuobi=zuobi+"u";
	}

	void keyFIRE() {
		if (!fuhuo){
//			mc.playmidi(mc.sound.firePlayer);
			if (player.playerDirect == Character.DIRECTION_RIGHT_DOWN) {
				player.setState(8);
				doFireManage();
			}
			if (player.playerDirect == Character.DIRECTION_LEFT_DOWN) {
				player.setState(15);
				doFireManage();
			}
			if (player.playerState == 0) { //站立
				player.setState(1); //平行开枪
				doFireManage();
			}
			if (rightbln || leftbln)
				doFireManage();
			if (player.playerDirect == Character.DIRECTION_UP) {
				if (right_bln == true) {
					player.setState(12);
				}
				if (left_bln == true) {
					player.setState(10);
				}
				doFireManage();
			}
			if (player.playerState == 3){
				doFireManage();
			}				
		}		
	}

	void keyPUTBOMB() {
		if (!fuhuo){
			bombType = 5;
			switch (player.playerDirect) {
			case Character.DIRECTION_UP:
				break;
			case Character.DIRECTION_RIGHT:
				player.ispao = rightbln;
				player.setState(9);
				doPutBomb();
				break;
			case Character.DIRECTION_LEFT:
				player.ispao = leftbln;
				player.setState(16);
				doPutBomb();
				break;
			case Character.DIRECTION_RIGHT_DOWN:
				player.ispao = rightbln;
				player.setState(9);
				doPutBomb();
				break;
			case Character.DIRECTION_LEFT_DOWN:
				player.ispao = leftbln;
				player.setState(16);
				doPutBomb();
				break;
			}
		}		
	}

	void keyJUMP() {
		if (!fuhuo){
			player.y -= step;
			step -= 1;
			if (rightbln||right_bln)player.setDirection(Character.DIRECTION_RIGHT);
			if (leftbln ||left_bln)player.setDirection(Character.DIRECTION_LEFT);
			player.setState(3);
			player.setIsjump(true);
			d = 2;
		}
//		zuobi="";
//		zuobi="y";
	}

	public void keyReleased(int keycode) {
		setKeyReleased(keycode);
	}

	/** TODO setKeyReleased * */
	void setKeyReleased(int keycode) {
		if (keycode == -3) { //左
			player.setMove(false);
			leftbln = false;
//			player.setState(0);
			if (player.playerState==3)player.setState(3);
			else player.setState(0);
		}
		if (keycode == -4) { //右
			player.setMove(false);
			rightbln = false;
			if (player.playerState==3)player.setState(3);
			else player.setState(0);
		}
		if (keycode == 52) { //左
			player.setMove(false);
			leftbln = false;
//			player.setState(0);
			if (player.playerState==3)player.setState(3);
			else player.setState(0);
		}
		if (keycode == 54) { //右
			player.setMove(false);
			rightbln = false;
//			player.setState(0);
			if (player.playerState==3)player.setState(3);
			else player.setState(0);
		}
	}

	int getKeyStates() {
		return this.keycode;
	}

	/** 拣枪处理 * */
	void getGun(Graphics g) {
		if (gunIco_bln) {
			gunIco.setPosition(gunIco.x, gunIco.y);
			gunIco.paint(g);
			if (player.collidesWith(gunIco)) {
				bulletType = 2;
				myBulletsCount1_1 = 3;
				myBulletsCount1_2 = 0;
				gunIco_bln = false;
			}
		}
		if (gunIco_bln2) {
			gunIco2.setPosition(gunIco2.x, gunIco2.y);
			gunIco2.paint(g);
			if (player.collidesWith(gunIco2)) {
				bulletType = 4;
				myBulletsCount1_1 = 2;
				myBulletsCount1_2 = 0;
				gunIco_bln2 = false;
			}
		}
		if (bombIco_bln) {
			bombIco.setPosition(bombIco.x, bombIco.y);
			bombIco.paint(g);
			if (player.collidesWith(bombIco)) {
				myBombCount = 9;
				bombIco_bln = false;
			}
		}
	}

	/** player子弹数目处理 * */
	void doFireManage() {
		myBulletsCountT = myBulletsCount1_1 * 10 + myBulletsCount1_2;
		switch (bulletType) {
		case 1:
			doFire(bullets);
			bulletKill = 2;
			break;
		case 2:
			if (myBulletsCountT > 0) { //十位,个位
				doFire(bullets);
				BulletJiShu();
			}
			bulletKill = 5;
			break;
		case 3:
			bulletKill = 8;
			break;
		case 4:
			if (myBulletsCountT > 0) { //十位,个位
				doFire(bullets);

⌨️ 快捷键说明

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