Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package gAGAU;
- import java.util.*;
- public class ScSq {
- boolean cimaAlinhado = true;
- boolean baixoAlinhado = true;
- boolean cimaDesalinhadoEmbaixoAlinhadoBooleano = false;
- boolean cimaAlinhadoEmbaixoDesalinhadoBooleano = false;
- String[] globalMove = { "-5", "-3", "-2", "0", "1", "3", "4", "6" };
- String[] baixoEspecificoCimaDesalinhado = { "-4", "-1", "2", "5" };
- String[] baixo2 = { "-5", "-2", "1", "4" };
- String[] baixoEspecificoCimaAlinhado = { "-3", "0", "3", "6" };
- String[] cimaDesalinhado = { "-4", "-3", "-1", "0", "2", "3", "5", "6" };
- String[] alinharCima = { "-4", "-1", "2", "5" };
- String[] alinharBaixo = { "-5", "-2", "1", "4" };
- String[] cubeShapeCases = {
- "(3,0)/(1,-4)/(0,2)/(4,6)/(2,1)/(-3,-1)",
- "(0,-3)/(-2,-1)/(-3,4)/(3,2)/(2,-2)",
- "(0,-3)/(-2,-1)/(-3,2)/(-1,-2)/(-4,0)",
- "(3,0)/(1,2)/(2,6)/(4,-4)/(1,2)",
- "(0,-3)/(-2,-1)/(-3,4)/(-5,2)/(1,2)",
- "(0,-3)/(-2,-1)/(-3,4)/(3,6)/(-2,3)",
- "(3,0)/(1,-4)/(0,2)/(4,6)/(-4,1)",
- "(0,-3)/(-2,-1)/(-3,4)/(6,4)/(2,0)",
- "(0,-3)/(-2,-1)/(-3,4)/(3,-4/)(4,-5)",
- "(3,0)/(1,2)/(2,0)/(-1,0)/(-2,0)",
- "(0,-3)/(-2,-1)/(-3,4)/(1,2)/(0,-4)",
- "(3,0)/(1,-4)/(0,2/)(4,6)/(2,1)",
- "(3,3)/(-1,-2)/(0,-2)/(-5,-4)/(-4,3)",
- "(3,3)/(-1,-2)/(0,-2)/(-5,-4)/(-4,3)",
- // 14°
- };
- Random r = new Random();
- String scramble = "";
- public static void main(String[] argad) {
- ScSq scr = new ScSq();
- scr.osDoisAlinhados();
- for (int i = 0; i < 7; i++) {
- if (scr.cimaDesalinhadoEmbaixoAlinhadoBooleano == true) {
- scr.cimaDesalinhadoEmbaixoAlinhado();
- } else {
- scr.cimaAlinhadoEmbaixoDesalinhado();
- }
- if (i == 6) {
- scr.alinharFaces();
- scr.addShape();
- }
- }
- System.out.println(scr.scramble);
- // return scr.scramble;
- }
- public void osDoisAlinhados() {
- String movimento1 = globalMove[r.nextInt(8)];
- String movimento2 = "";
- if (movimento1.contains("-3") || movimento1.contains("0") || movimento1.contains("3")
- || movimento1.contains("6")) {
- movimento2 = baixoEspecificoCimaDesalinhado[r.nextInt(4)];
- scramble += "(" + movimento1 + "," + movimento2 + ")/";
- cimaAlinhadoEmbaixoDesalinhadoBooleano = true;
- cimaDesalinhadoEmbaixoAlinhadoBooleano = false;
- }
- if (movimento1.contains("-5") || movimento1.contains("-2") || movimento1.contains("1")
- || movimento1.contains("4")) {
- movimento2 = baixoEspecificoCimaAlinhado[r.nextInt(4)];
- scramble += "(" + movimento1 + "," + movimento2 + ")/";
- cimaDesalinhadoEmbaixoAlinhadoBooleano = true;
- cimaAlinhadoEmbaixoDesalinhadoBooleano = false;
- }
- }
- public void cimaDesalinhadoEmbaixoAlinhado() {
- String movimento1 = cimaDesalinhado[r.nextInt(8)];
- String movimento2 = "";
- if (movimento1.contains("-4") || movimento1.contains("-1") || movimento1.contains("2")
- || movimento1.contains("5")) {
- movimento2 = baixoEspecificoCimaDesalinhado[r.nextInt(4)];
- scramble += "(" + movimento1 + "," + movimento2 + ")/";
- cimaAlinhado = true;
- baixoAlinhado = false;
- cimaAlinhadoEmbaixoDesalinhadoBooleano = true;
- cimaDesalinhadoEmbaixoAlinhadoBooleano = false;
- }
- if (movimento1.contains("-3") || movimento1.contains("0") || movimento1.contains("3")
- || movimento1.contains("6")) {
- do {
- movimento2 = baixoEspecificoCimaAlinhado[r.nextInt(4)];
- } while (movimento2 == "0");
- scramble += "(" + movimento1 + "," + movimento2 + ")/";
- cimaAlinhado = false;
- baixoAlinhado = true;
- cimaDesalinhadoEmbaixoAlinhadoBooleano = true;
- cimaAlinhadoEmbaixoDesalinhadoBooleano = false;
- }
- }
- public void cimaAlinhadoEmbaixoDesalinhado() {
- String movimento1 = globalMove[r.nextInt(8)];
- String movimento2 = "";
- if (movimento1.contains("-3") || movimento1.contains("0") || movimento1.contains("3")
- || movimento1.contains("6")) {
- do {
- movimento2 = baixoEspecificoCimaAlinhado[r.nextInt(4)];
- } while (movimento2 == "0");
- scramble += "(" + movimento1 + "," + movimento2 + ")/";
- cimaAlinhado = true;
- baixoAlinhado = false;
- cimaAlinhadoEmbaixoDesalinhadoBooleano = true;
- cimaDesalinhadoEmbaixoAlinhadoBooleano = false;
- }
- if (movimento1.contains("-5") || movimento1.contains("-2") || movimento1.contains("1")
- || movimento1.contains("4")) {
- movimento2 = baixo2[r.nextInt(4)];
- scramble += "(" + movimento1 + "," + movimento2 + ")/";
- cimaAlinhado = false;
- baixoAlinhado = true;
- cimaDesalinhadoEmbaixoAlinhadoBooleano = true;
- cimaAlinhadoEmbaixoDesalinhadoBooleano = false;
- }
- }
- public void alinharFaces() {
- if (cimaDesalinhadoEmbaixoAlinhadoBooleano == true) {
- String movimento1 = alinharCima[r.nextInt(4)];
- String movimento2 = baixoEspecificoCimaAlinhado[r.nextInt(4)];
- scramble += "(" + movimento1 + "," + movimento2 + ")/";
- } else {
- String movimento1 = globalMove[r.nextInt(8)];
- String movimento2 = baixo2[r.nextInt(4)];
- scramble += "(" + movimento1 + "," + movimento2 + ")/";
- }
- }
- public void addShape(){
- String shape = cubeShapeCases[r.nextInt(14)];
- scramble += shape;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement