/** * *Clase Linea *@author Diego del Valle *@author Diego Gonzalez */ import java.util.*; /** *Clase ClientCoordinates que implementa por parte del cliente los *datos del cliente recibidos por el servidor, es decir representan *la configuracion establecida por el servidor en el mapa de este. * */ public class ClientCoordinates { /**Constructor de la Clase ClientCoordinates. Utilizado en la v1 del programa *@param client identificador del cliente *@param max_client numero maximo de clientes conectados *@param dibujo Referencia a Objeto de la Clase Dibujo */ public ClientCoordinates(int client, int max_client, Dibujo dibujo) { min_client_width = window_width_size * (client / 2) ; min_client_heigth = window_heigth_size * (client % 2) ; max_num_client = max_client; num_client = client; dib = dibujo; dib.setNumClient(num_client); } /**metodo de la Clase ClientCoordinates. Modifica flag *@param upp Flag que determina si borde superior de este cliente se debe pintar o no *@param ddown Flag que determina si borde inferior de este cliente se debe pintar o no *@param lleft Flag que determina si borde izuiqerdo se debe pintar o no *@param rrigth Flag que determina si borde derecho se debe pintar o no */ public void set(String upp, String ddown, String lleft, String rrigth) { up = Boolean.parseBoolean(upp); down = Boolean.parseBoolean(ddown); left = Boolean.parseBoolean(lleft); right = Boolean.parseBoolean(rrigth); dib.modify(up,down,left,right); } /**Constructor que crea objeto en funcion de datos enviados por el servidor *@param width_size tamano de width en ventana para el cliente *@param heigth_size tamano de heigth en ventana para el cliente *@param min_width minimo width dentro del mapa del servidor para este cliente *@param min_heigth minimo heigth dentro del mapa del servidor para este cliente *@param upp flag que especifica si se dibujo o no borde de arriba *@param ddown flag que especifica si se dibuja o no borde de abajo *@param lleft flag que especifica si se dibuja o no borde izquierdo *@param rrigth flag que especifica si se dibuja o no borde derecho *@param dibujo referencia a objeto dibujo *@param sservidores numero de servidores que envian datos */ public ClientCoordinates(String width_size, String heigth_size, String min_width, String min_heigth, String upp, String ddown, String lleft, String rrigth, Dibujo dibujo, String sservidores) { window_width_size = Integer.parseInt(width_size); window_heigth_size = Integer.parseInt(heigth_size); min_client_width = Integer.parseInt(min_width); min_client_heigth = Integer.parseInt(min_heigth); up = Boolean.parseBoolean(upp); down = Boolean.parseBoolean(ddown); left = Boolean.parseBoolean(lleft); right = Boolean.parseBoolean(rrigth); dib = dibujo; servidores = Integer.parseInt(sservidores); dib.modify(window_width_size,window_heigth_size,up,down,left,right,servidores); } /**Metodo que modifica las coordenadas que dibujan la figura en el Cliente *@param server_width Coordenada x tal como es enviada por el servidor, usada *para calcular coordenada x del cliente *@param server_heigth Coordenada y tal como es enviada por el servidor, usada *para calcular coordenada y del cliente *@param circulos figura que sera modificada */ public void changeCoordinates(int server_width, int server_heigth, int circulos) { current_width = (server_width - min_client_width); current_heigth = (server_heigth - min_client_heigth); dib.modify(current_width, current_heigth, circulos); } /**Metodo que retorna el parametro current_width *@return retorna coordenada x dentro del cliente */ public int getWidth() { return current_width; } /**Metodo que retorna el parametro current_heigth *@return retorna coordenada y dentro del cliente */ public int getHeigth() { return current_heigth; } /**Metodo que retorna coordenada x donde comienza cliente en *mapa del servidor *@return retorna coordenada x del cliente */ public int getMinWidth() { return min_client_width; } /**Metodo que retorna coordenada y donde comienza cliente en *mapa del servidor *@return retorna coordenada y del cliente */ public int getMinHeigth() { return min_client_heigth; } //Variable privadas de la Clase ClientCoordinates private int min_client_width; private int min_client_heigth; private int current_width; private int current_heigth; private int window_width_size; private int window_heigth_size; private boolean up; private boolean down; private boolean left; private boolean right; private int max_num_client; private int num_client; private Dibujo dib; private int servidores; }