Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.main;
- public class Main {
- public enum C {
- BRANCO("branco"),
- AMARELO("amarelo"),
- VERMELHO("vermelho"),
- LARANJA("laranja"),
- VERDE("verde"), AZUL("azul");
- private String nomeCor;
- C(String nomeCor) {
- this.nomeCor = nomeCor;
- }
- public String getNomeCor() {
- return this.nomeCor;
- }
- }
- public class Adesivo {
- private C cor;
- public Adesivo(C cor) {
- this.cor = cor;
- }
- public C getCor() {
- return this.cor;
- }
- }
- public class Peca {
- private Adesivo adesivo1, adesivo2, adesivo3;
- private int pos;
- private Adesivo[] adesivos;
- public Peca(Adesivo adesivo1, Adesivo adesivo2, Adesivo adesivo3, int pos) {
- this.adesivo1 = adesivo1;
- this.adesivo2 = adesivo2;
- this.adesivo3 = adesivo3;
- this.pos = pos;
- adesivos = new Adesivo[3];
- adesivos[0] = adesivo1;
- adesivos[1] = adesivo2;
- adesivos[2] = adesivo3;
- }
- public Adesivo[] getAdesivos() {
- return adesivos;
- }
- public int getPos() {
- return this.pos;
- }
- public void girarPeca() {
- Adesivo aux = adesivos[2];
- adesivos[2] = adesivos[1];
- adesivos[1] = adesivos[0];
- adesivos[0] = aux;
- }
- public void girarPecaCcw() {
- girarPeca();
- girarPeca();
- }
- @Override
- public String toString() {
- return adesivos[0].getCor().getNomeCor() + ", " + adesivos[1].getCor().getNomeCor() + " e "
- + adesivos[2].getCor().getNomeCor();
- }
- }
- public class Cubo {
- private Peca[] pecas;
- public Cubo() {
- pecas = new Peca[8];
- pecas[0] = new Peca(new Adesivo(C.BRANCO), new Adesivo(C.LARANJA), new Adesivo(C.AZUL), 0);
- pecas[1] = new Peca(new Adesivo(C.BRANCO), new Adesivo(C.AZUL), new Adesivo(C.VERMELHO), 1);
- pecas[2] = new Peca(new Adesivo(C.BRANCO), new Adesivo(C.VERMELHO), new Adesivo(C.VERDE), 2);
- pecas[3] = new Peca(new Adesivo(C.BRANCO), new Adesivo(C.VERDE), new Adesivo(C.LARANJA), 3);
- pecas[4] = new Peca(new Adesivo(C.AMARELO), new Adesivo(C.LARANJA), new Adesivo(C.VERDE), 4);
- pecas[5] = new Peca(new Adesivo(C.AMARELO), new Adesivo(C.VERDE), new Adesivo(C.LARANJA), 5);
- pecas[6] = new Peca(new Adesivo(C.AMARELO), new Adesivo(C.VERMELHO), new Adesivo(C.AZUL), 6);
- pecas[7] = new Peca(new Adesivo(C.AMARELO), new Adesivo(C.AZUL), new Adesivo(C.LARANJA), 7);
- }
- public void doU() {
- Peca[] pecasU = new Peca[4];
- for (int i = 0; i < pecasU.length; i++) {
- pecasU[i] = pecas[i];
- }
- Peca aux = pecasU[3];
- pecasU[3] = pecasU[2];
- pecasU[2] = pecasU[1];
- pecasU[1] = pecasU[0];
- pecasU[0] = aux;
- for (int i = 0; i < pecasU.length; i++) {
- pecas[i] = pecasU[i];
- }
- }
- public void doU2() {
- doU();
- doU();
- }
- public void doUccw() {
- doU();
- doU();
- doU();
- }
- @Override
- public String toString() {
- String r = "";
- for (int i = 0; i < pecas.length; i++) {
- r += "Pos " + i + "ยบ " + pecas[i].toString() + "\n";
- if (i == 3) {
- r += "\n";
- }
- }
- return r;
- }
- }
- public Main() {
- Cubo c = new Cubo();
- c.doU2();
- System.out.println(c);
- }
- public static void main(String... argafafdsf) {
- new Main();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement