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

📄 testp.java.bak

📁 内含用midp1.0封装的碰撞函数
💻 BAK
📖 第 1 页 / 共 2 页
字号:
	            
	            }
	           if(keypress3){
	        	   player_x = collsionWithLayer(LEFT_D,player_x,player_y,4,24,32,16,16,BuffImage.getWidth(),BuffImage.getHeight(),20,20);
	  
	           }
	           if(keypress5){
	           	
	           	  player_y = collsionWithLayer(DOWN_D,player_x,player_y,4,24,32,16,16,BuffImage.getWidth(),BuffImage.getHeight(),20,20);
	           	
	           }
	           if(keypress4){
	         
	          	  player_y = collsionWithLayer(UP_D,player_x,player_y,4,24,32,16,16,BuffImage.getWidth(),BuffImage.getHeight(),20,20);
	           	  
	           }
	         
	          	 	
	           movemap();		
	           one.x = player_x;
	 		   one.y = player_y;
						
		  repaint();
		  serviceRepaints();
			
		 try {
			Thread.sleep(100);
		 } catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
		 }
			
	}
}
	
}
class Player{
	
	int x;
	int y;
	int level;
	String name;
	public Player(String tempname){
		
		name = tempname;
	}
	
}
class Monster{
	
	int x;
	int y;
	int level;
	int Hp;
	int state;
	String name;
	Image self;
	int idir,colums,rows;
	int viewx,viewy;
	public Monster(int ix, int iy,int ilevel,String tempname,int iviewx,int iviewy){
		level = ilevel;
		viewx = iviewx;
		viewy = iviewy;
		x = ix;
		y = iy;
		try {
			self = Image.createImage("/p5.png");
		} catch (Exception e) {
			// TODO: handle exception
		}
		name = tempname;
	}
	public void piant(Graphics g1,int ix,int iy){
		
		tools.drawImage(g1, self, x+ix, y+iy, colums, rows, 45, 45, viewx, viewy);
	}
public void run(int ix,int iy,int width,int height){
		
		
		switch(idir){
		
		      case 0:
		    	  y++;
		    	  rows = 0;
		    	  break;
		      case 1:
		    	  x++;
		    	  rows = 1;
		    	  break;
		      case 2:
		    	  x--;
		    	  rows = 2;
		    	  break;
		      case 3:
		    	  y--;
		    	  rows = 3;
		    	  break;
		    	  
		}
		colums = colums == 3? 0 : colums + 1;
		
		if(x > ix+width){
			
			idir = 2;
		} else if(x <= ix){	
			idir = 1;
		} 
		
		if(y < iy){
			idir = 0;
		}else if(y > iy+height){
			idir = 3;
		}
		
	}
	
	
}
class ConnecttoS extends Thread{
	Player im,isa = null;
	StreamConnection sockettmp;
	DataInputStream dis ;
	DataOutputStream dos ;
	Vector tmpVector;
	Vector temp1Vector;
	public ConnecttoS(Player ione,Vector ivc,StreamConnection socket1,Vector monsterVector){
		im = ione;
		tmpVector = ivc;
		temp1Vector = monsterVector;
		//isa = new Player(null);
		sockettmp = socket1;
		try {
			dis = sockettmp.openDataInputStream();
			dos = sockettmp.openDataOutputStream();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	public ConnecttoS(Player is,Player ia,StreamConnection socket1){
		
		im = is;
		isa = ia;
		sockettmp = socket1;
		try {
			dis = sockettmp.openDataInputStream();
			dos = sockettmp.openDataOutputStream();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public void run(){
		
		while(true){
			
			sendPlayer();
			receivePlayer();
			rendMonster();
			try {
				Thread.sleep(50);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
		
	}
	
	public void rendMonster(){
		
		int tempnumber=0;
		try {
			 tempnumber = dis.readInt();
			 
			 
			//System.out.println("bbbbbbbbbbbbbbbbb"+tempnumber);
			if(tempnumber == 0){
				for(int i= tempnumber;i<temp1Vector.size();i++){
					
					temp1Vector.removeElementAt(i);
					
				}
				return;
			}else {
				System.out.println("begin"+temp1Vector.size()+"number"+tempnumber);
				int tempsize = temp1Vector.size();
				for(int i=tempsize; i< tempnumber; i++){
					Monster tempMonster = new Monster(0,0,0,null,0,0);
					temp1Vector.addElement(tempMonster);
					System.out.println("addM");
					
				}
				
				for(int i=0; i<tempnumber;i++){
					Monster tempMonster = (Monster)temp1Vector.elementAt(i);
					tempMonster.x = dis.readInt();
					tempMonster.y = dis.readInt();
					tempMonster.level = dis.readInt();
					tempMonster.name = dis.readUTF();
					tempMonster.idir = dis.readInt();
					tempMonster.colums = dis.readInt();
					tempMonster.rows = dis.readInt();
					temp1Vector.setElementAt(tempMonster, i);	
				}
				for(int i= tempnumber;i<temp1Vector.size();i++){
					
					temp1Vector.removeElementAt(i);
					
				}
				System.out.println("over");
			}
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	
	public  void sendPlayer(){
	 
		
		try {
			dos.writeInt(im.x);
			dos.writeInt(im.y);
			dos.writeInt(im.level);
			dos.writeUTF(im.name);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	public void removePlayer(){
		
		
		
		
	}
	public void receivePlayer(){
		
		//Player temp1 = new Player();
		int tempnumber=0;
		try {
			 tempnumber = dis.readInt();
			 
			 
			//System.out.println("bbbbbbbbbbbbbbbbb"+tempnumber);
			if(tempnumber == 0){
				for(int i= tempnumber+1;i<tmpVector.size();i++){
					
					tmpVector.removeElementAt(i);
					
				}
				return;
			}else {
				System.out.println("begin"+tmpVector.size()+"number"+tempnumber);
				for(int i=tmpVector.size(); i< tempnumber+1; i++){
					Player tempplayer = new Player(null);
					tmpVector.addElement(tempplayer);
					System.out.println("add");
					
				}
				for(int i=1; i<tempnumber+1;i++){
					Player tempplayer = (Player)tmpVector.elementAt(i);
					tempplayer.x = dis.readInt();
					tempplayer.y = dis.readInt();
					tempplayer.level = dis.readInt();
					tempplayer.name = dis.readUTF();
					tmpVector.setElementAt(tempplayer, i);	
				}
				for(int i= tempnumber+1;i<tmpVector.size();i++){
					
					tmpVector.removeElementAt(i);
					
				}
				System.out.println("over");
			}
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//return temp1;
	}
	public void close(){
		
		try {
			dis.close();
			dos.close();
			sockettmp.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
}


class tools{
	
	
	
	
	
	public static void drawImage(Graphics g1,Image name,int x,int y,int lines,int rows,int width,int height,int viewx,int viewy){
		
			g1.setClip(x,y,width,height);

		  g1.drawImage(name,-lines*width+x,-rows*height+y,20);
		  
		  g1.setClip(0,0,viewx,viewy);
		
	}	
	public static boolean ArraySearch(int ia,int[] ib){
		for(int i=0;i<ib.length;i++)
		if(ib[i] == ia){
			
			return true;
			
			}
		
		return false;
		
	}
		
	}

⌨️ 快捷键说明

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