Código de Java - Piezas de cubos de Rubik

sin imagen de perfil

Piezas de cubos de Rubikgráfica de visualizaciones


Java

Actualizado el 18 de Diciembre del 2016 por Roque (Publicado el 9 de Diciembre del 2016)
15.997 visualizaciones desde el 9 de Diciembre del 2016
Este código sirve para proporcionar información sobre las piezas del cubo de Rubik que se indique.

Para entender el código o el resultado del código es necesario entender algunos conceptos básicos sobre los cubos de Rubik:
Pieza: Bloque indivisible por los giros permitidos que a través de dichos movimientos puede cambiar su posición respecto al núcleo del puzle.
Tipo de pieza: Son piezas del mismo tipo aquellas que pueden cambiar posiciones entre sí (a través de los giros permitidos). Sin importar la orientación con que puedan quedar y sin importar si son o no dependientes entre sí. Las más comunes y las que están el cubo clásico (3x3x3) son esquinas, aristas y centros.

De la versión 3.0 en adelante se necesita la siguiente información para completar el programa correctamente en algunos casos de los cuboides (véase mejor explicado en la descripción de la versión o en el propio programa):


*
Al ser un cubo cuyas una o varias dimensiones son igual a 1, es difícil interpretar qué tipo de pieza es cada una.
Se puede llevar a cabo la clasificación siguiendo dos criterios diferentes: comparándolo físicamente con un 3x3x3 (que al ser el cubo clásico es el que se toma como referencia)(1) o comparando el comportamiento de las piezas (si la pieza es el eje de la capa en que se encuentra, el número de orientaciones de la pieza, etcétera) con el comportamiento de las de un 3x3x3(2).

1
Esquina: es realmente el vértice o el extremo del puzle.
Arista: es tangente al menos a dos piezas (de forma que no es un extremo) y no está en el núcleo físico del puzle.
Centro: está en el núcleo físico del puzle.

2
Esquina: Según este criterio, este tipo de cuboides no tienen esquinas en ningún caso.
Arista: Tiene dos orientaciones** y colocado el puzle horizontalmente, aun sin tener en cuenta arriba y abajo, no roza piezas por todos los lados
Centro: supone el eje de una capa (la capa gira alrededor de él por lo que al finalizar el giro su posición respecto al núcleo no varía). Tiene 4 orientaciones.
Núcleo***: es el núcleo físico del cubo por lo que siempre permanecerá inmóvil. Si son varios depende de las dimensiones del puzle: si es lineal se consideran centros; si es plano son aquellos que puesto el puzle horizontalmente, están yuxtapuestos a piezas por todos lados, (excepto por arriba y por abajo). Tienen 2 o 4 orientaciones, dependiendo de si son lineales o planos, respectivamente.

**: Cuando se habla de orientaciones no implica que tenga ese número de pegatinas.
***: Hablamos de núcleo porque en algunos de estos cuboides hay piezas a la vista que se comportan como el núcleo de un 3x3x3. Véase: 3x3x1.

Requerimientos

Es un código bastante simple de Java; no creo que se necesite una versión muy alta para su correcta ejecución.
Por curiosidad aunque no es ningún requerimiento añadir que fue diseñado en Eclipse Luna.

1.0

Actualizado el 29 de Diciembre del 2016 (Publicado el 9 de Diciembre del 2016)gráfica de visualizaciones de la versión: 1.0
614 visualizaciones desde el 9 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.Scanner;
 
public class InfoCubo {
	public static void main (String[] args) {
 
		Scanner escáner = new Scanner(System.in);
 
		System.out.println("INPUT\n______\n\nIntroduzca el número de piezas por fila que tenga su puzle cúbico\n(por ejemplo, si es un 3x3x3, escriba 3):");
		int p = escáner.nextInt();
 
		int an = 0;
		for (int i = 1; i <= (p+1)/2; i++) {
			an = an + i;
		}
 
		int c = 0;
		for (int i = 1; i <= (p-1)/2; i++) {
			c = c + i;
		}
 
		System.out.println("\nOUTPUT\n______\n\nSu cubo tiene " + (p*p*p-(p-2)*(p-2)*(p-2)) + " piezas.");
		System.out.println("Su cubo tiene " + an + " tipos de piezas:\n");
		System.out.println("1 tipo de esquinas.");
		System.out.println((p+1)/2-1 + " tipo(s) de aristas.");
		System.out.println(c + " tipo(s) de centros.");
 
		escáner.close();
	}
}



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

2.0

Actualizado el 5 de Enero del 2017 (Publicado el 15 de Diciembre del 2016)gráfica de visualizaciones de la versión: 2.0
463 visualizaciones desde el 15 de Diciembre del 2016

2.1

Actualizado el 9 de Enero del 2017 (Publicado el 15 de Diciembre del 2016)gráfica de visualizaciones de la versión: 2.1
675 visualizaciones desde el 15 de Diciembre del 2016

3.0
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 20 de Enero del 2017 (Publicado el 18 de Diciembre del 2016)gráfica de visualizaciones de la versión: 3.0
14.246 visualizaciones desde el 18 de Diciembre del 2016
http://lwp-l.com/s3802