Advertisement
LucasSousa

2x2 Example

May 9th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 3.17 KB | None | 0 0
  1. package com.main;
  2.  
  3.  
  4. public class Main {
  5.  
  6.     public enum C {
  7.  
  8.         BRANCO("branco"),
  9.         AMARELO("amarelo"),
  10.         VERMELHO("vermelho"),
  11.         LARANJA("laranja"),
  12.         VERDE("verde"), AZUL("azul");
  13.  
  14.         private String nomeCor;
  15.  
  16.         C(String nomeCor) {
  17.             this.nomeCor = nomeCor;
  18.         }
  19.  
  20.         public String getNomeCor() {
  21.             return this.nomeCor;
  22.         }
  23.     }
  24.  
  25.     public class Adesivo {
  26.  
  27.         private C cor;
  28.  
  29.         public Adesivo(C cor) {
  30.             this.cor = cor;
  31.         }
  32.  
  33.         public C getCor() {
  34.             return this.cor;
  35.         }
  36.     }
  37.  
  38.     public class Peca {
  39.  
  40.         private Adesivo adesivo1, adesivo2, adesivo3;
  41.         private int pos;
  42.         private Adesivo[] adesivos;
  43.  
  44.         public Peca(Adesivo adesivo1, Adesivo adesivo2, Adesivo adesivo3, int pos) {
  45.             this.adesivo1 = adesivo1;
  46.             this.adesivo2 = adesivo2;
  47.             this.adesivo3 = adesivo3;
  48.             this.pos = pos;
  49.  
  50.             adesivos = new Adesivo[3];
  51.             adesivos[0] = adesivo1;
  52.             adesivos[1] = adesivo2;
  53.             adesivos[2] = adesivo3;
  54.  
  55.         }
  56.  
  57.         public Adesivo[] getAdesivos() {
  58.             return adesivos;
  59.         }
  60.  
  61.         public int getPos() {
  62.             return this.pos;
  63.         }
  64.  
  65.         public void girarPeca() {
  66.             Adesivo aux = adesivos[2];
  67.             adesivos[2] = adesivos[1];
  68.             adesivos[1] = adesivos[0];
  69.             adesivos[0] = aux;
  70.         }
  71.  
  72.         public void girarPecaCcw() {
  73.             girarPeca();
  74.             girarPeca();
  75.         }
  76.  
  77.         @Override
  78.         public String toString() {
  79.             return adesivos[0].getCor().getNomeCor() + ", " + adesivos[1].getCor().getNomeCor() + " e "
  80.                     + adesivos[2].getCor().getNomeCor();
  81.         }
  82.     }
  83.  
  84.     public class Cubo {
  85.         private Peca[] pecas;
  86.  
  87.         public Cubo() {
  88.             pecas = new Peca[8];
  89.  
  90.             pecas[0] = new Peca(new Adesivo(C.BRANCO), new Adesivo(C.LARANJA), new Adesivo(C.AZUL), 0);
  91.             pecas[1] = new Peca(new Adesivo(C.BRANCO), new Adesivo(C.AZUL), new Adesivo(C.VERMELHO), 1);
  92.             pecas[2] = new Peca(new Adesivo(C.BRANCO), new Adesivo(C.VERMELHO), new Adesivo(C.VERDE), 2);
  93.             pecas[3] = new Peca(new Adesivo(C.BRANCO), new Adesivo(C.VERDE), new Adesivo(C.LARANJA), 3);
  94.  
  95.             pecas[4] = new Peca(new Adesivo(C.AMARELO), new Adesivo(C.LARANJA), new Adesivo(C.VERDE), 4);
  96.             pecas[5] = new Peca(new Adesivo(C.AMARELO), new Adesivo(C.VERDE), new Adesivo(C.LARANJA), 5);
  97.             pecas[6] = new Peca(new Adesivo(C.AMARELO), new Adesivo(C.VERMELHO), new Adesivo(C.AZUL), 6);
  98.             pecas[7] = new Peca(new Adesivo(C.AMARELO), new Adesivo(C.AZUL), new Adesivo(C.LARANJA), 7);
  99.         }
  100.  
  101.         public void doU() {
  102.             Peca[] pecasU = new Peca[4];
  103.  
  104.             for (int i = 0; i < pecasU.length; i++) {
  105.                 pecasU[i] = pecas[i];
  106.             }
  107.  
  108.             Peca aux = pecasU[3];
  109.  
  110.             pecasU[3] = pecasU[2];
  111.             pecasU[2] = pecasU[1];
  112.             pecasU[1] = pecasU[0];
  113.             pecasU[0] = aux;
  114.  
  115.             for (int i = 0; i < pecasU.length; i++) {
  116.                 pecas[i] = pecasU[i];
  117.             }
  118.         }
  119.  
  120.         public void doU2() {
  121.             doU();
  122.             doU();
  123.         }
  124.  
  125.         public void doUccw() {
  126.             doU();
  127.             doU();
  128.             doU();
  129.         }
  130.  
  131.         @Override
  132.         public String toString() {
  133.             String r = "";
  134.  
  135.             for (int i = 0; i < pecas.length; i++) {
  136.                 r += "Pos " + i + "ยบ " + pecas[i].toString() + "\n";
  137.                 if (i == 3) {
  138.                     r += "\n";
  139.                 }
  140.             }
  141.             return r;
  142.         }
  143.     }
  144.  
  145.     public Main() {
  146.         Cubo c = new Cubo();
  147.  
  148.         c.doU2();
  149.  
  150.         System.out.println(c);
  151.     }
  152.  
  153.     public static void main(String... argafafdsf) {
  154.         new Main();
  155.     }
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement