Java - Un lado 1/5 menor que otro manteniendo el área.

 
Vista:
sin imagen de perfil

Un lado 1/5 menor que otro manteniendo el área.

Publicado por Jordi (135 intervenciones) el 22/04/2017 00:45:44
Bueno, llevo unos días por este foro y me he dado cuanta de que hay algunos que van realmente flojillos de matematicas, y a la hora de hacer algoritmos o funciones de cualquier tipo se bloquean y no saben como montarlo. Por eso aporto mi granito de arena con un método que sirve para que al crear una red que tenga X y Y de algun objeto (en mi caso JPanels) Y sea mediante una funcion, 1/5 menor que el otro lateral, de lo que sin el algoritmo sería un cuadrado (9 objetos, x sería 3 e y 3. O para 100 x sería 10 e y 10 [raíz cuadrada]) Yo lo he usado para hacer un juego de parejas donde el usuario introduce la cantidad de cartas que quiere que haya en el tablero y este método hace que en Y haya menos cartas que en X para que quede mejor presentado.

1
2
3
4
5
6
7
8
9
public int algoritmoGetX(int arg0){
 
		double a = arg0;//Cantidad del objeto que quiere repartirse.
		double y = Math.round(Math.sqrt(a) - (Math.sqrt(a) / 5));//Aquí pongo que Y sea 1/5 menor.
		double x = Math.ceil(a / y);
 
		return (int)x;//Devuelve el valor de X
 
	}

1
2
3
4
5
6
7
8
9
public int algoritmoGetY(int arg0){
 
		double a = arg0;
		double y = Math.round(Math.sqrt(a) - (Math.sqrt(a) / 5));
		double x = Math.ceil(a / y);
 
		return (int)Y;//Lo mismo pero para obtener Y.
 
	}

Espero que os sirva.

Salu2.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder