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

📄 bullet.java

📁 一个经典的射击游戏
💻 JAVA
字号:
package seconds;

import javax.microedition.lcdui.game.Sprite;
import javax.microedition.lcdui.*;//要用到image 
import java.util.*;//yao  yong dao random
public class Bullet extends Sprite {
	private int buf[][]=new int[10][5];//zi dan yun xing gui ji
	private Random rd=new Random();
	private int win_width;
	private int win_height;
	private Graphics g;
	public int spExp_count=0;
	public Bullet(Graphics g,Image img_bullet,int win_wid,int win_height)
	{
		
		super(img_bullet,16,16);
		
		this.g=g;
		this.win_width=win_wid;
		this.win_height=win_height;
		System.out.print("win_width::");
		System.out.println(win_width);
		System.out.print("win_height::");
		System.out.println(win_height);
		//完成子弹的初始化
		initBullet();
		
		
	}
	//初始化运行轨迹
	public void initBullet()
	{
		for(int i=0;i<10;i++)
		{
			buf[i][0]=(rd.nextInt()>>>1)%4;
			System.out.print("buf[i][0]::");
			 System.out.println(buf[i][0]);
			switch(buf[i][0])
			{
			 
			  case 0:
			     buf[i][1]=0;
			     buf[i][2]=(rd.nextInt()&0xfffffff)%(win_height+1);
			     buf[i][3]=(rd.nextInt()>>>1)%5+1;
			     buf[i][4]=(rd.nextInt()>>>1)%5;
			     break;
			  case 1:
				  buf[i][1]=win_width;
				  buf[i][2]=(rd.nextInt()>>>1)%(win_height+1);
				  buf[i][3]=((rd.nextInt()>>>1)%5+1)*-1;
				  buf[i][4]=(rd.nextInt()>>>1)%5;
				  break;
			  case 2:
				  buf[i][1]=(rd.nextInt()&0xfffffff)%(win_width+1);
				  buf[i][2]=0;
				  buf[i][3]=(rd.nextInt()>>>1)%5;
				  buf[i][4]=(rd.nextInt()>>>1)%5+1;
				  break;
			  case 3:
			  
			      buf[i][1]=(rd.nextInt()>>>1)%(win_width+1);
			      buf[i][2]=win_height;
			      buf[i][3]=(rd.nextInt()>>>1)%5;
			      buf[i][4]=((rd.nextInt()>>>1)%5+1)*-1;
			      break;
			}
		}
	}
	//更新子弹 的运行轨迹
	public void updateBullet(int i)
	{
		
			buf[i][1]=buf[i][1]+buf[i][3];
			buf[i][2]=buf[i][2]+buf[i][4];
			
			//有移动就进行越界处理
			if(buf[i][1]<0||buf[i][1]>win_width)
			{
				buf[i][3]*=-1;
				
			}
			else if(buf[i][2]<0||buf[i][2]>win_height)
			{
				buf[i][4]*=-1;
				
			}
				
			
		
	}
	//绘制子弹
	public void paintBullet(Sprite sp_plane)
	{
		for(int i=0;i<10;i++)
		
		{
				if(this.collidesWith(sp_plane,true))
				{
					//this.nextFrame();
					//this.setVisible(false);
					sp_plane.nextFrame();
					spExp_count++;
				}
				else
				{
							this.setPosition(buf[i][1],buf[i][2]);
							this.paint(g);
							this.updateBullet(i);
						
				}
		}
	}

}

⌨️ 快捷键说明

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