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

📄 game_4.java

📁 j2me写的虽然只写了一关但是个方面只是很健全.最好的就是子弹方向的处理.不愧是我们老师的作品
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
						if(girl.start_time % 2 == 0)
							plane.tu++;
						if(plane.tu > 1)
							plane.tu = 0;
					}
					else if(plane.hp <= 0)
					{
						paint_png(g, plane_baozha, plane.x, plane.y, 3, plane.baozha_tu, 1, 0);
						if(girl.start_time % 2 == 0)
							++plane.baozha_tu;
						if(plane.baozha_tu > 2)
						{
							girl.defen += 500;
							v_plane.removeElementAt(i);
							--i;
						}
					}
					break;
				case 6:
					paint_png(g, plane_6, plane.x, plane.y, 1, 0, 1, 0);
					break;
				case 7:
					if(plane.hp > 0)
					{
						paint_png(g, plane_7, plane.x, plane.y, 2, plane.tu, 1, 0);
						if(girl.start_time % 2 == 0)
							plane.tu++;
						if(plane.tu > 1)
							plane.tu = 0;
					}
					else if(plane.hp <= 0)
					{
						paint_png(g, plane_baozha, plane.x , plane.y, 3, plane.baozha_tu, 1, 0);
						if(girl.start_time % 2 == 0)
							++plane.baozha_tu;
						if(plane.baozha_tu > 2)
						{
							girl.defen += 50;
							v_plane.removeElementAt(i);
							--i;
						}
					}
					break;
				case 8:
					if(plane.hp > 0)
					{
						paint_png(g, plane_8, plane.x, plane.y, 3, plane.tu, 1, 0);
						if(girl.start_time % 2 == 0)
							plane.tu++;
						if(plane.tu > 2)
							plane.tu = 0;
					}
					else if(plane.hp <= 0)
					{
						paint_png(g, plane_baozha, plane.x , plane.y, 3, plane.baozha_tu, 1, 0);
						if(girl.start_time % 2 == 0)
							++plane.baozha_tu;
						if(plane.baozha_tu > 2)
						{
							girl.defen += 100;
							v_plane.removeElementAt(i);
							--i;
						}
					}
					break;
			}
		}
	}
	private void pb_move()
	{
		for(int i = 0; i < v_pb.size(); ++i)
		{
			pb = (p_b)v_pb.elementAt(i);
			if(pb.time == 1)
			{
				switch((random.nextInt() >>> 1) % 4)
				{
					case 0:
						pb.is_up = true;
						pb.is_left = true;
						break;
					case 1:
						pb.is_up = true;
						pb.is_right = true;
						break;
					case 2:
						pb.is_down = true;
						pb.is_left = true;
						break;
					case 3:
						pb.is_down = true;
						pb.is_right = true;
						break;
				}
			}
			else
			{
				if(pb.is_up)
				{
					pb.y -= 2;
				}
				else if(pb.is_down)
				{
					pb.y += 2;
				}
				if(pb.is_left)
				{
					pb.x -= 2;
				}
				else if(pb.is_right)
				{
					pb.x += 2;
				}
				if(pb.y <= 0)
				{
					pb.is_up = false;
					pb.is_down = true;
				}
				else if(pb.y >= 208 - 9)
				{
					pb.is_up = true;
					pb.is_down = false;
				}
				if(pb.x <= 0)
				{
					pb.is_left = false;
					pb.is_right = true;
				}
				else if(pb.x >= 176 - 18)
				{
					pb.is_left = true;
					pb.is_right = false;
				}
			}
		}
	}
	private void pb_png(Graphics g)
	{
		for(int i = 0; i < v_pb.size(); ++i)
		{
			pb = (p_b)v_pb.elementAt(i);
			pb.time++;
			if(pb.zhonglei == 0)
			{
				paint_png(g, p_png, pb.x, pb.y, 5, pb.tu, 1, 0);
			}
			else if(pb.zhonglei == 1)
			{
				paint_png(g, b_png, pb.x, pb.y, 5, pb.tu, 1, 0);
			}
			pb.tu++;
			if(pb.tu > 4)
				pb.tu = 0;
		}
	}
	private void plane_zidan_new()
	{
		for(int i = 0; i < v_plane.size(); ++i)
		{
			plane = (plane)v_plane.elementAt(i);
			if(plane.hp > 0)
			{
				switch(plane.zhonglei)
				{
					case 0:
						break;
					case 1:
						if(plane.time > 0 && plane.time % 20 == 0)
						{
							v_zidan.addElement(new zidan(plane.x + 5, plane.y + 30, 1, 30));
							v_zidan.addElement(new zidan(plane.x + 10, plane.y + 34, 1, 29));
							v_zidan.addElement(new zidan(plane.x + 22, plane.y + 34, 1, 27));
							v_zidan.addElement(new zidan(plane.x + 27, plane.y + 30, 1, 26));
						}
						break;
					case 2:
						if(plane.time == 25)
							v_zidan.addElement(new zidan(plane.x + 10, plane.y + 10, 0, zidan_fangxiang(plane.x + 10, plane.y + 10)));
						break;
					case 3:
						if(plane.time >= 20 && plane.time <= 50 && plane.time % 20 == 0)
						{
							v_zidan.addElement(new zidan(plane.x + 28, plane.y + 35, 0, zidan_fangxiang(plane.x + 28, plane.y + 35)));
						}
						break;
					case 4:
						break;
					case 5:
						if(plane.time >= 10 && plane.time % 20 == 0)
						{
							v_zidan.addElement(new zidan(plane.x + 13, plane.y + 8, 1, 26));
							v_zidan.addElement(new zidan(plane.x + 13, plane.y + 8, 1, 27));
							v_zidan.addElement(new zidan(plane.x + 13, plane.y + 8, 1, 28));
							v_zidan.addElement(new zidan(plane.x + 13, plane.y + 8, 1, 29));
							v_zidan.addElement(new zidan(plane.x + 13, plane.y + 8, 1, 30));
						}
						break;
					case 6:
						break;
					case 7:
						break;
					case 8:
						if(plane.time % 10 == 0)
						{
							v_zidan.addElement(new zidan(plane.x + 12, plane.y + 6, 0, zidan_fangxiang(plane.x + 12, plane.y + 6)));
						}
						break;
				}
			}
		}
	}
	private void zidan_move()
	{
		for(int i = 0; i < v_zidan.size(); ++i)
		{
			zidan = (zidan)v_zidan.elementAt(i);
			int x_move = 0;
			int y_move = 0;
			switch(zidan.fangxiang)
			{
				case 0:
					System.out.println("错误:子弹方向0");
					break;
				case 1:case 19://0  180
					x_move = 1000;
					y_move = 0;
					break;
				case 2:case 18:case 20:case 36:
					x_move = 984;
					y_move = 173;
					break;
				case 3:case 17:case 21:case 35:
					x_move = 939;
					y_move = 342;
					break;
				case 4:case 16:case 22:case 34:
					x_move = 866;
					y_move = 500;
					break;
				case 5:case 15:case 23:case 33:
					x_move = 766;
					y_move = 642;
					break;
				case 6:case 14:case 24:case 32:
					x_move = 642;
					y_move = 766;
					break;
				case 7:case 13:case 25:case 31:
					x_move = 500;
					y_move = 866;
					break;
				case 8:case 12:case 26:case 30:
					x_move = 342;
					y_move = 939;
					break;
				case 9:case 11:case 27:case 29:
					x_move = 173;
					y_move = 984;
					break;
				case 10:case 28://90  270
					x_move = 0;
					y_move = 1000;
					break;
			}
			if(zidan.fangxiang > 0 && zidan.fangxiang <= 10)
			{
				zidan.x -= (x_move * zidan.x_sudu + zidan.x_move) / 1000;
				zidan.y -= (y_move * zidan.y_sudu + zidan.y_move) / 1000;
			}
			else if(zidan.fangxiang > 10 && zidan.fangxiang <= 19)
			{
				zidan.x += (x_move * zidan.x_sudu + zidan.x_move) / 1000;
				zidan.y -= (y_move * zidan.y_sudu + zidan.y_move) / 1000;
			}
			else if(zidan.fangxiang > 19 && zidan.fangxiang <= 28)
			{
				zidan.x += (x_move * zidan.x_sudu + zidan.x_move) / 1000;
				zidan.y += (y_move * zidan.y_sudu + zidan.y_move) / 1000;
			}
			else if(zidan.fangxiang > 28 && zidan.fangxiang <= 36)
			{
				zidan.x -= (x_move * zidan.x_sudu + zidan.x_move) / 1000;
				zidan.y += (y_move * zidan.y_sudu + zidan.y_move) / 1000;
			}
			zidan.x_move = (x_move * zidan.x_sudu + zidan.x_move) % 1000;
			zidan.y_move = (y_move * zidan.y_sudu + zidan.y_move) % 1000;
			if(zidan.x < -5 || zidan.x > 181 || zidan.y < -5 || zidan.y > 213)
			{
				v_zidan.removeElementAt(i);
				--i;
			}
		}
	}
	private void boss_move()
	{
		if(boss.y + boss.height < 100)
			boss.y += 2;
		else
		{
			switch(boss.zhonglei)
			{
				case 0:
					if(boss.x + 12 <= 0)
					{
						boss.is_left = false;
						boss.is_right = true;
					}
					else if(boss.x + boss.width >= 176 + 12)
					{
						boss.is_left = true;
						boss.is_right = false;
					}
					if(boss.is_left)
						--boss.x;
					else if(boss.is_right)
						++boss.x;
					break;
				case 1:
					if(boss.x + 37 <= 0)
					{
						boss.is_left = false;
						boss.is_right = true;
					}
					else if(boss.x + boss.width >= 176 + 37)
					{
						boss.is_left = true;
						boss.is_right = false;
					}
					if(boss.is_left)
						--boss.x;
					else if(boss.is_right)
						++boss.x;
					break;
			}
		}
	}
	private void boss_png(Graphics g)
	{
		++boss.time;
		switch(boss.zhonglei)
		{
			case 0:
				if(boss.hp > 0)
					paint_png(g, boss_0, boss.x, boss.y, 2, boss.tu, 1, 0);
				else if(boss.hp <= 0)
				{
					if(boss.baozha_tu_2 < 6)
					{
						if(boss.baozha_tu_0 < 6)
						{
							paint_png(g, boss_0, boss.x, boss.y, 2, 1, 1, 0);
							paint_png(g, girl_baozha, boss.x - 16, boss.y + 53, 6, boss.baozha_tu_0, 1, 0);
							if(girl.start_time % 2 == 0)
								boss.baozha_tu_0++;
						}
						else if(boss.baozha_tu_0 >= 6 && boss.baozha_tu_1 < 6)
						{
							paint_png(g, boss_0, boss.x, boss.y, 2, 1, 1, 0);
							paint_png(g, girl_baozha, boss.x + 26, boss.y, 6, boss.baozha_tu_1, 1, 0);
							if(girl.start_time % 2 == 0)
								boss.baozha_tu_1++;
						}
						else if(boss.baozha_tu_1 >= 6)
						{
							paint_png(g, girl_baozha, boss.x + 6, boss.y + 35, 6, boss.baozha_tu_2, 1, 0);
							if(girl.start_time % 2 == 0)
								boss.baozha_tu_2++;
						}
					}
					else if(boss.baozha_tu_1 >= 6)
					{
						girl.defen += 6000;
						boss = null;
						boss = new boss(1);
					}
				}
				break;
			case 1:
				if(boss.hp > 0)
					paint_png(g, boss_1, boss.x, boss.y, 2, boss.tu, 1, 0);
				else if(boss.hp <= 0)
				{
					if(boss.baozha_tu_0 == 0)
						girl.defen += 12000;
					if(boss.baozha_tu_2 < 6)
					{
						if(boss.baozha_tu_0 < 6)
						{
							paint_png(g, boss_1, boss.x, boss.y, 2, 1, 1, 0);
							paint_png(g, girl_baozha, boss.x, boss.y + 27, 6, boss.baozha_tu_0, 1, 0);
							if(girl.start_time % 2 == 0)
								boss.baozha_tu_0++;
						}
						else if(boss.baozha_tu_0 >= 6 && boss.baozha_tu_1 < 6)
						{
							paint_png(g, boss_1, boss.x, boss.y, 2, 1, 1, 0);
							paint_png(g, girl_baozha, boss.x + 87, boss.y + 15, 6, boss.baozha_tu_1, 1, 0);
							if(girl.start_time % 2 == 0)
								boss.baozha_tu_1++;
						}
						else if(boss.baozha_tu_1 >= 6)
						{
							paint_png(g, girl_baozha, boss.x + 36, boss.y + 28, 6, boss.baozha_tu_2, 1, 0);
							if(girl.start_time % 2 == 0)
								boss.baozha_tu_2++;
						}
					}
					else if(boss.baozha_tu_2 >= 6)
					{
						if(girl.y > - 23)
						{
							girl.is_move = false;
							girl.y -= girl.y_sudu * 2;
							g.setClip(0, 0, 176, 208);
							g.setColor(255, 255, 255);
							g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_LARGE));
							g.drawString("恭喜您过关", 176 / 2 - g.getFont().stringWidth("恭喜您过关") / 2, 100, G_TL);
						}
						else
						{
							boss = null;
							i_game = 0;
							i_guan = 0;
							ss_pp = TITLE;
							i_title = 0;
							init_img(TITLE);
						}
					}
				}
				break;
		}
	}
	private void boss_zidan_new()
	{
		switch(boss.zhonglei)
		{
			case 0:
				if(boss.hp > 0)
				{
					if(boss.time % 180 == 1)
						boss.is_zidan_0 = true;
					else if(boss.time % 180 == 46)
						boss.is_zidan_1 = true;
					else if(boss.time % 180 == 90)
						boss.is_zidan_2 = true;
					else if(boss.time % 180 == 130)
						boss.is_zidan_3 = true;
				}
				if(boss.is_zidan_0)
				{
					++boss.zidan_time;
					if(boss.zidan_time < 20)
					{
						if(boss.x + 93 <= 176 / 2)
							v_zidan.addElement(new zidan(boss.x + 93, boss.y + 56, 2, (random.nextInt() >>> 1) % 5 + 25));
						else if(boss.x + 93 > 176 / 2)
							v_zidan.addElement(new zidan(boss.x + 93, boss.y + 56, 2, (random.nextInt() >>> 1) % 5 + 27));
					}
					else
					{
						boss.is_zidan_0 = false;
						boss.zidan_time = 0;
					}
				}
				else if(boss.is_zidan_1)
				{
					++boss.zidan_time;
					if(boss.zidan_time == 1)
					{
						for(int i = 15; i <= 36; ++i)
							v_zidan.addElement(new zidan(boss.x + 36, boss.y + 56, 1, i));
					}
					else if(boss.zidan_time == 7)
					{
						for(int i = 15; i <= 36; ++i)
							v_zidan.addElement(new zidan(boss.x + 36, boss.y + 56, 1, i));
					}
					else if(boss.zidan_time > 10)
					{
						boss.is_zidan_1 = false;
						boss.zidan_time = 0;
					}
				}
				else if(boss.is_zidan_2)
				{
					++boss.zidan_time;
					if(boss.zidan_time % 3 == 0 && boss.zidan_time <= 18)
					{
						v_zidan.addElement(new zidan(boss.x + 28, boss.y + 87, 2, 29));
						v_zidan.addElement(new zidan(boss.x + 39, boss.y + 87, 2, 29));
						v_zidan.addElement(new zidan(boss.x + 89, boss.y + 87, 2, 29));
						v_zidan.addElement(new zidan(boss.x + 100, boss.y + 87, 2, 29));
					}
					else if(boss.zidan_time >18)
					{
						boss.is_zidan_2 = false;
						boss.zidan_time = 0;
					}
				}
				else if(boss.is_zidan_3)
				{
					++boss.zidan_time;
					if(boss.zidan_time < 20)
					{
						v_zidan.addElement(new zidan(boss.x + 61, boss.y + 75, 0, (random.nextInt() >>> 1) % 9 + 24));
						v_zidan.addElement(new zidan(boss.x + 66, boss.y + 75, 0, (random.nextInt() >>> 1) % 9 + 24));
						v_zidan.addElement(new zidan(boss.x + 71, boss.y + 75, 0, (random.nextInt() >>> 1) % 9 + 24));
					}

⌨️ 快捷键说明

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