public void run() {
    	
		while(true){
			try{
				ConnectServer.UserProcessor currentProcess = cloneQueue.take();
				for(int i = 0; i < queue.size(); ++i){
					ConnectServer.UserProcessor innerProcess = queue.take();
					if(currentProcess.userId != innerProcess.userId){
						//System.out.println("X = " + currentProcess.X + " ; Y = " + currentProcess.Y);
						innerProcess.send("m");
						//innerProcess.send(String.valueOf(currentProcess.X));
						//innerProcess.send(String.valueOf(currentProcess.Y)); 
						//innerProcess.send(String.valueOf(currentProcess.bitmapAngle));
						//innerProcess.send(String.valueOf(currentProcess.targetX));
						//innerProcess.send(String.valueOf(currentProcess.targetY));
						
						innerProcess.send(currentProcess.X);
						innerProcess.send(currentProcess.Y); 
						innerProcess.send(currentProcess.bitmapAngle);
						innerProcess.send(currentProcess.targetX);
						innerProcess.send(currentProcess.targetY);
						
						if(currentProcess.fired){
							//System.out.println("FIRE!!!");
							innerProcess.send("$fire$");
							innerProcess.send(String.valueOf(currentProcess.xFire));
							innerProcess.send(String.valueOf(currentProcess.yFire));
							currentProcess.fired = false;
						}
						
						if(currentProcess.lost){
							System.out.println("Surrender accepted :)");
							innerProcess.send("$victory$");
							currentProcess.lost = false;
						}
					}
				}
				fillProcesses();
			} catch(InterruptedException e){
				e.printStackTrace();
			}
		}
		
	}