Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package application;
- import java.awt.image.BufferedImage;
- import java.awt.image.DataBufferByte;
- import java.io.PrintWriter;
- import java.util.ArrayList;
- import java.util.Random;
- import java.util.concurrent.ScheduledExecutorService;
- import org.opencv.core.Core;
- import org.opencv.core.Mat;
- import org.opencv.core.Scalar;
- import com.fazecast.jSerialComm.SerialPort;
- import application.Couleur.CouleurEnum;
- import javafx.application.Application;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.geometry.Insets;
- import javafx.geometry.Pos;
- import javafx.geometry.Rectangle2D;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.control.TextArea;
- import javafx.scene.control.TextField;
- import javafx.scene.layout.GridPane;
- import javafx.scene.layout.HBox;
- import javafx.scene.layout.VBox;
- import javafx.stage.Screen;
- import javafx.stage.Stage;
- public class Main extends Application implements EventHandler<javafx.event.ActionEvent> {
- static{
- System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
- }
- public static void main(String[] args) throws InterruptedException {
- launch(args);
- }
- /*
- * MELANGE CHELOU
- */
- //R' B' R' U R' F D' R2 B L' D L D L F2 U2 L' B' U' L' U F' L F L' 282
- //R2 D2 F' L' D' F R' B2 D' B' R' F' L' U' F L B' L' B R F2 D2 L F' R2 411
- /*
- *
- * VARIABLE POUR LA PARTIE RESOLUTION
- *
- */
- PrintWriter pw = null;
- CouleurEnum[][] FaceJaune = {{CouleurEnum.JAUNE, CouleurEnum.JAUNE, CouleurEnum.JAUNE},
- {CouleurEnum.JAUNE, CouleurEnum.JAUNE, CouleurEnum.JAUNE},
- {CouleurEnum.JAUNE, CouleurEnum.JAUNE, CouleurEnum.JAUNE}};
- CouleurEnum[][] FaceBleu = {{CouleurEnum.BLEU, CouleurEnum.BLEU, CouleurEnum.BLEU},
- {CouleurEnum.BLEU, CouleurEnum.BLEU,CouleurEnum.BLEU},
- {CouleurEnum.BLEU, CouleurEnum.BLEU, CouleurEnum.BLEU}};
- CouleurEnum[][] FaceRouge = {{CouleurEnum.ROUGE, CouleurEnum.ROUGE, CouleurEnum.ROUGE},
- {CouleurEnum.ROUGE, CouleurEnum.ROUGE, CouleurEnum.ROUGE},
- {CouleurEnum.ROUGE, CouleurEnum.ROUGE, CouleurEnum.ROUGE}};
- CouleurEnum[][] FaceVert = {{CouleurEnum.VERT, CouleurEnum.VERT, CouleurEnum.VERT},
- {CouleurEnum.VERT, CouleurEnum.VERT, CouleurEnum.VERT},
- {CouleurEnum.VERT, CouleurEnum.VERT, CouleurEnum.VERT}};
- CouleurEnum[][] FaceOrange = {{CouleurEnum.ORANGE, CouleurEnum.ORANGE, CouleurEnum.ORANGE},
- {CouleurEnum.ORANGE, CouleurEnum.ORANGE, CouleurEnum.ORANGE},
- {CouleurEnum.ORANGE, CouleurEnum.ORANGE, CouleurEnum.ORANGE}};
- CouleurEnum[][] FaceBlanc = {{CouleurEnum.BLANC, CouleurEnum.BLANC, CouleurEnum.BLANC},
- {CouleurEnum.BLANC, CouleurEnum.BLANC, CouleurEnum.BLANC},
- {CouleurEnum.BLANC, CouleurEnum.BLANC, CouleurEnum.BLANC}};
- CouleurEnum[][] TabRef = new CouleurEnum[3][3];
- CouleurEnum[][] bufferJaune = new CouleurEnum[3][3];
- CouleurEnum[][] bufferBleu = new CouleurEnum[3][3];
- CouleurEnum[][] bufferRouge = new CouleurEnum[3][3];
- CouleurEnum[][] bufferVert = new CouleurEnum[3][3];
- CouleurEnum[][] bufferOrange = new CouleurEnum[3][3];
- CouleurEnum[][] bufferBlanc = new CouleurEnum[3][3];
- boolean BooJVO = false;
- boolean BooJR = false;
- /*
- * STRING/INT RESOLUTION
- */
- ArrayList<String> string_solv = new ArrayList<String>();
- ArrayList<String> fin_string_solv = new ArrayList<String>();
- String optiMov = new String();
- String fin_optiMov = new String();
- String Resolution = "";
- String arduinoResolution = "";
- String optiResolution = "";
- String reducResolution = "";
- String reducResolution1 = "";
- String reducResolution2 = "";
- int optiInt = 0;
- String cours = "";
- String final_cours = "";
- String melange_env = "";
- /*
- * COIN
- */
- String prochaineCouleur = "JAUNE";
- String prochaineCouleur2 = "VERT";
- String prochaineCouleur3 = "ORANGE";
- int prochainX = 0;
- int prochainY = 0;
- int prochainX2 = 0;
- int prochainY2 = 2;
- int prochainX3 = 0;
- int prochainY3 = 0;
- String[] Coin = {"JRV", "JBR", "JBO", "BOBl", "BRBl", "RVBl", "VOBl"};
- ArrayList<String> CoinOri = new ArrayList<String>();
- /*
- * ARETE
- */
- String prochaineCouleurA = "JAUNE";
- String prochaineCouleur2A = "ROUGE";
- int prochainXA = 1;
- int prochainYA = 2;
- int prochainX2A = 0;
- int prochainY2A = 1;
- String[] Arrete = {"JV","JB","JO","VO","RV","BR","BO","BBl","RBl","VBl","OBl"};
- ArrayList<String> ArreteOri = new ArrayList<String>();
- /*
- * INT ??
- */
- int i1 = 1;
- int i2 = 2;
- int i3 = 3;
- int paireimpaire = 0;
- int test = 0;
- /*
- * DECLARATION DE COINS
- */
- Coin JVO = new Coin();
- Coin JRV = new Coin();
- Coin JBR = new Coin();
- Coin JBO = new Coin();
- Coin BOBl = new Coin();
- Coin BRBl = new Coin();
- Coin RVBl = new Coin();
- Coin VOBl = new Coin();
- /*
- * DECLARATION D'ARETES
- */
- Arete JV = new Arete();
- Arete JR = new Arete();
- Arete JB = new Arete();
- Arete JO = new Arete();
- Arete VO = new Arete();
- Arete RV = new Arete();
- Arete BR = new Arete();
- Arete BO = new Arete();
- Arete BBl = new Arete();
- Arete RBl = new Arete();
- Arete VBl = new Arete();
- Arete OBl = new Arete();
- /*
- * PLL
- */
- String PLLY = new String("FRU'R'U'RUR'F'RUR'U'R'FRF'");
- String PLLJS = new String("RUL'U2RU'R'U2LRU'R2");
- String PLLJ = new String("RU2R'U'RU2L'UR'U'L");
- String PLLJM = new String("RF2R'F'RF2L'FR'F'L");
- String PLLJMP = new String("RB2R'B'RB2L'BR'B'L");
- String PLLJP = new String("U'R'UL'U2RU'R'U2RL");
- String PLLJPM = new String("F'R'FL'F2RF'R'F2RL");
- String PLLJPMP = new String("B'R'BL'B2RB'R'B2RL");
- String PLLT = new String("RUR'U'R'FR2U'R'U'RUR'F'");
- String PLLTE = new String("BUB'U'B'RB2U'B'U'BUB'R'");
- String PLLTEP = new String("FUF'U'F'LF2U'F'U'FUF'L'");
- String PLLTE2 = new String("LUL'U'L'BL2U'L'U'LUL'B'");
- String PLLRP = new String("RUR'F'RU2R'U2R'FRURU2R'U'");
- String OLLM = new String("FB'RFB'DFB'L2F'BDF'BRF'BU2");
- String OLLMM2 = new String("BF'RBF'UBF'L2B'FUB'FRB'FD2");
- String OLLME2 = new String("BF'LBF'DBF'R2B'FDB'FLB'FU2");
- /*
- * METHODES COINS
- */
- String JRVJ = new String("R2" + PLLJS + "R2");
- String JRVR = new String("RD'R" + PLLY + "R'DR'");
- String JRVV = new String("R'" + PLLY + "R");
- String JBRJ = new String(PLLY);
- String JBRB = new String("R'" + PLLJS + "R");
- String JBRR = new String("F" + PLLJS + "F'");
- String JBOJ = new String("F2" + PLLJS + "F2");
- String JBOB = new String("FR'" + PLLJS + "RF'");
- String JBOO = new String("F" + PLLY + "F'");
- String BOBlB = new String("DF'" + PLLY + "FD'");
- String BOBlO = new String("DR" + PLLY + "R'D'");
- String BOBlBl = new String("D" + PLLJS + "D'");
- String BRBlB = new String("R" + PLLY + "R'");
- String BRBlR = new String("F'" + PLLY + "F");
- String BRBlBl = new String(PLLJS);
- String RVBlR = new String("D'R" + PLLY + "R'D");
- String RVBlV = new String("D'F'" + PLLY + "FD");
- String RVBlBl = new String("D'" + PLLJS + "D");
- String VOBlV = new String("D2R" + PLLY + "R'D2");
- String VOBlO = new String("D2F'" + PLLY + "FD2");
- String VOBlBl = new String("D2" + PLLJS + "D2");
- /*
- * METHODES ARETES
- */
- String JVJ = new String(PLLJP);
- String JVV = new String("RL'" + PLLJMP + "LR'");
- String JBJ = new String(PLLJ);
- String JBB = new String("LR'" + PLLJPM + "RL'");
- String JOJ = new String(PLLT);
- String JOO = new String("L2DLR'" + PLLJM + "RL'D'L2");
- String VOV = new String("L" + PLLT + "L'");
- String VOO = new String("UD'B'" + PLLTEP + "BDU'");
- String RVR = new String("UD'B" + PLLTEP + "B'DU'");
- String RVV = new String("U2D2R'" + PLLTE2 + "RD2U2");
- String BRB = new String("U2D2R" + PLLTE2 + "R'D2U2");
- String BRR = new String("U'DF'" + PLLTE + "FD'U");
- String BOB = new String("L'" + PLLT + "L");
- String BOO = new String("U'DF" + PLLTE + "F'D'U");
- String BBlB = new String("R'L" + PLLJM + "L'R");
- String BBlBl = new String("D'L2" + PLLT + "L2D");
- String RBlR = new String("D'R'L" + PLLJM + "L'RD");
- String RBlBl = new String("D2L2" + PLLT + "L2D2");
- String VBlV = new String("RL'" + PLLJPMP + "LR'");
- String VBlBl = new String("DL2" + PLLT + "L2D'");
- String OBlO = new String("DR'L" + PLLJM + "L'RD'");
- String OBlBl = new String("L2" + PLLT + "L2");
- String JVF = new String("R2L2U'L2" + OLLMM2 + "L2UL2R2");
- String JBF = new String("R2L2UL2" + OLLMM2 + "L2U'L2R2");
- String JOF = new String(OLLM);
- String VOF = new String("L" + OLLM + "L'");
- String RVF = new String("U2D2R'" + OLLME2 + "RD2U2");
- String BRF = new String("U2D2R" + OLLME2 + "R'D2U2");
- String BOF = new String("L'" + OLLM + "L");
- String BBlF = new String("D'L2" + OLLM + "L2D");
- String RBlF = new String("D2L2" + OLLM + "L2D2");
- String VBlF = new String("DL2" + OLLM + "L2D'");
- String OBlF = new String("L2" + OLLM + "L2");
- /*
- * POSTIONS COINS
- */
- String JRVJP = new String("02");
- String JRVRP = new String("02");
- String JRVVP = new String("00");
- String JBRJP = new String("22");
- String JBRBP = new String("02");
- String JBRRP = new String("00");
- String JBOJP = new String("20");
- String JBOBP = new String("00");
- String JBOOP = new String("02");
- String BOBlBP = new String("20");
- String BOBlOP = new String("22");
- String BOBlBlP = new String("00");
- String BRBlBP = new String("22");
- String BRBlRP = new String("20");
- String BRBlBlP = new String("02");
- String RVBlRP = new String("22");
- String RVBlVP = new String("20");
- String RVBlBlP = new String("22");
- String VOBlVP = new String("22");
- String VOBlOP = new String("20");
- String VOBlBlP = new String("20");
- /*
- * POSITION ARETES
- */
- String JVJP = new String("01");
- String JVVP = new String("01");
- String JBJP = new String("21");
- String JBBP = new String("01");
- String JOJP = new String("10");
- String JOOP = new String("01");
- String VOVP = new String("12");
- String VOOP = new String("10");
- String RVRP = new String("12");
- String RVVP = new String("10");
- String BRBP = new String("12");
- String BRRP = new String("10");
- String BOBP = new String("10");
- String BOOP = new String("12");
- String BBlBP = new String("21");
- String BBlBlP = new String("01");
- String RBlRP = new String("21");
- String RBlBlP = new String("12");
- String VBlVP = new String("21");
- String VBlBlP = new String("21");
- String OBlOP = new String("21");
- String OBlBlP = new String("10");
- /*
- * Creation d'un Random avec une seed changeante
- */
- static Random rand = new Random(System.currentTimeMillis());
- /*
- * Les faces du Rubik's Cube avec leur axe
- */
- static String faces[] = { "RX", "LX", "UY", "DY", "FZ", "BZ" };
- /*
- *
- * VARIABLE POUR L'INTERFACE
- *
- */
- /*
- * INT INTERFACE
- */
- int detectColor = 0;
- /*
- * DIIFERENCE DE COULEURS
- */
- double difJaune;
- double difBleu;
- double difRouge;
- double difOrange;
- double difVert;
- int comptcouleur;
- int comptblanc;
- /*
- * COORDONNES A CHECK POUR COULEUR
- */
- int sticker1x = 167;
- int sticker1y = 87;
- int sticker2x = 317;
- int sticker2y = 87;
- int sticker3x = 467;
- int sticker3y = 87;
- int sticker4x = 167;
- int sticker4y = 237;
- int sticker5x = 317;
- int sticker5y = 237;
- int sticker6x = 467;
- int sticker6y = 237;
- int sticker7x = 167;
- int sticker7y = 387;
- int sticker8x = 317;
- int sticker8y = 387;
- int sticker9x = 467;
- int sticker9y = 387;
- /*
- * STAGE
- */
- Stage windows;
- /*
- * SCALAR
- */
- Scalar stick1 = null;
- Scalar stick2 = null;
- Scalar stick3 = null;
- Scalar stick4 = null;
- Scalar stick5 = null;
- Scalar stick6 = null;
- Scalar stick7 = null;
- Scalar stick8 = null;
- Scalar stick9 = null;
- Scalar rouge = new Scalar(0, 0, 255);
- Scalar bleu = new Scalar(255, 0, 0);
- Scalar vert = new Scalar(0, 255, 0);
- Scalar jaune = new Scalar(0, 255, 255);
- Scalar orange = new Scalar(0, 124, 255);
- Scalar blanc = new Scalar(255, 255, 255);
- Scalar determinateColor;
- Scalar gris = new Scalar(156, 156, 156);
- /*
- * BOUTON
- */
- Button j1 = new Button("j00");
- Button j2 = new Button("j01");
- Button j3 = new Button("j02");
- Button j4 = new Button("j03");
- Button j5 = new Button("j04");
- Button j6 = new Button("j05");
- Button j7 = new Button("j06");
- Button j8 = new Button("j07");
- Button j9 = new Button("j08");
- Button b1 = new Button("b10");
- Button b2 = new Button("b11");
- Button b3 = new Button("b12");
- Button b4 = new Button("b13");
- Button b5 = new Button("b14");
- Button b6 = new Button("b15");
- Button b7 = new Button("b16");
- Button b8 = new Button("b17");
- Button b9 = new Button("b18");
- Button r1 = new Button("r20");
- Button r2 = new Button("r21");
- Button r3 = new Button("r22");
- Button r4 = new Button("r23");
- Button r5 = new Button("r24");
- Button r6 = new Button("r25");
- Button r7 = new Button("r26");
- Button r8 = new Button("r27");
- Button r9 = new Button("r28");
- Button v1 = new Button("v30");
- Button v2 = new Button("v31");
- Button v3 = new Button("v32");
- Button v4 = new Button("v33");
- Button v5 = new Button("v34");
- Button v6 = new Button("v35");
- Button v7 = new Button("v36");
- Button v8 = new Button("v37");
- Button v9 = new Button("v38");
- Button o1 = new Button("o40");
- Button o2 = new Button("o41");
- Button o3 = new Button("o42");
- Button o4 = new Button("o43");
- Button o5 = new Button("o44");
- Button o6 = new Button("o45");
- Button o7 = new Button("o46");
- Button o8 = new Button("o47");
- Button o9 = new Button("o48");
- Button bl1 = new Button("l50");
- Button bl2 = new Button("l51");
- Button bl3 = new Button("l52");
- Button bl4 = new Button("l53");
- Button bl5 = new Button("l54");
- Button bl6 = new Button("l55");
- Button bl7 = new Button("l56");
- Button bl8 = new Button("l57");
- Button bl9 = new Button("l58");
- Button button[][] = {{j1, j2, j3, j4, j5, j6, j7, j8, j9},
- {b1, b2, b3, b4, b5, b6, b7, b8, b9},
- {r1, r2, r3, r4, r5, r6, r7, r8, r9},
- {v1, v2, v3, v4, v5, v6, v7, v8, v9},
- {o1, o2, o3, o4, o5, o6, o7, o8, o9},
- {bl1, bl2, bl3, bl4, bl5, bl6, bl7, bl8, bl9}};
- Button res = new Button("Resolution");
- Button mel = new Button("Melange");
- Button test_mo = new Button("Test Moteur");
- Button env_mel = new Button("Envoyer melange");
- Button reset = new Button("Reset");
- Button paint_jaune = new Button(".");
- Button paint_bleu = new Button(".");
- Button paint_rouge = new Button(".");
- Button paint_vert = new Button(".");
- Button paint_orange = new Button(".");
- Button paint_blanc = new Button(".");
- /*
- * INT
- */
- int ij1 = 0;
- int ij2 = 0;
- int ij3 = 0;
- int ij4 = 0;
- int ij5 = 1;
- int ij6 = 0;
- int ij7 = 0;
- int ij8 = 0;
- int ij9 = 0;
- int ib1 = 0;
- int ib2 = 0;
- int ib3 = 0;
- int ib4 = 0;
- int ib5 = 1;
- int ib6 = 0;
- int ib7 = 0;
- int ib8 = 0;
- int ib9 = 0;
- int ir1 = 0;
- int ir2 = 0;
- int ir3 = 0;
- int ir4 = 0;
- int ir5 = 1;
- int ir6 = 0;
- int ir7 = 0;
- int ir8 = 0;
- int ir9 = 0;
- int iv1 = 0;
- int iv2 = 0;
- int iv3 = 0;
- int iv4 = 0;
- int iv5 = 1;
- int iv6 = 0;
- int iv7 = 0;
- int iv8 = 0;
- int iv9 = 0;
- int io1 = 0;
- int io2 = 0;
- int io3 = 0;
- int io4 = 0;
- int io5 = 1;
- int io6 = 0;
- int io7 = 0;
- int io8 = 0;
- int io9 = 0;
- int ibl1 = 0;
- int ibl2 = 0;
- int ibl3 = 0;
- int ibl4 = 0;
- int ibl5 = 1;
- int ibl6 = 0;
- int ibl7 = 0;
- int ibl8 = 0;
- int ibl9 = 0;
- int intButton[][] = {{ij1, ij2, ij3, ij4, ij5, ij6, ij7, ij8, ij9},
- {ib1, ib2, ib3, ib4, ib5, ib6, ib7, ib8, ib9},
- {ir1, ir2, ir3, ir4, ir5, ir6, ir7, ir8, ir9},
- {iv1, iv2, iv3, iv4, iv5, iv6, iv7, iv8, iv9},
- {io1, io2, io3, io4, io5, io6, io7, io8, io9},
- {ibl1, ibl2, ibl3, ibl4, ibl5, ibl6, ibl7, ibl8, ibl9}};
- int rep_jaune = 0;
- int rep_bleu = 0;
- int rep_rouge = 0;
- int rep_vert = 0;
- int rep_orange = 0;
- int rep_blanc = 0;
- int icamera = 1;
- ScheduledExecutorService timer;
- /*
- * JAVAFX NODE
- */
- GridPane grid_jaune = new GridPane();
- GridPane grid_bleu = new GridPane();
- GridPane grid_rouge = new GridPane();
- GridPane grid_vert = new GridPane();
- GridPane grid_orange = new GridPane();
- GridPane grid_blanc = new GridPane();
- TextArea text = new TextArea();
- TextField text1 = new TextField();
- TextField text2 = new TextField();
- HBox hbox = new HBox();
- HBox hbox1 = new HBox();
- HBox hbox2 = new HBox();
- VBox vbox = new VBox();
- VBox vbox2 = new VBox();
- VBox vbox3 = new VBox();
- VBox vbox4 = new VBox();
- VBox vbox5 = new VBox();
- @Override
- public void start(Stage primaryStage) throws InterruptedException {
- /*
- * MISE EN PLACE DE L'INTERFACE
- */
- Rectangle2D visualBounds = Screen.getPrimary().getVisualBounds();
- double x = visualBounds.getWidth();
- double y = visualBounds.getHeight();
- double mulx = x / 1920;
- double muly = y / 1080;
- windows = primaryStage;
- windows.setTitle("CubeSolver");
- stick1 = gris;
- stick2 = gris;
- stick3 = gris;
- stick4 = gris;
- stick5 = gris;
- stick6 = gris;
- stick7 = gris;
- stick8 = gris;
- stick9 = gris;
- //JAUNE
- for(int i_jaune = 0; i_jaune < 3; i_jaune++) {
- for(int y_jaune = 0; y_jaune < 3; y_jaune++) {
- GridPane.setConstraints(button[0][rep_jaune], y_jaune, i_jaune);
- grid_jaune.getChildren().add(button[0][rep_jaune]);
- button[0][rep_jaune].setId("bouton_null__");
- button[0][rep_jaune].setMinSize(40 * 0.9, 40 * 0.9);
- button[0][rep_jaune].setOnAction(this);
- rep_jaune++;
- }
- }
- button[0][4].setId("bouton_jaune_");
- //BLEU
- for(int i_bleu = 0; i_bleu < 3; i_bleu++) {
- for(int y_bleu = 0; y_bleu < 3; y_bleu++) {
- GridPane.setConstraints(button[1][rep_bleu], y_bleu, i_bleu);
- grid_bleu.getChildren().add(button[1][rep_bleu]);
- button[1][rep_bleu].setId("bouton_null__");
- button[1][rep_bleu].setMinSize(40 * 0.9, 40 * 0.9);
- button[1][rep_bleu].setOnAction(this);
- rep_bleu++;
- }
- }
- button[1][4].setId("bouton_bleu__");
- //ROUGE
- for(int i_rouge = 0; i_rouge < 3; i_rouge++) {
- for(int y_rouge = 0; y_rouge < 3; y_rouge++) {
- GridPane.setConstraints(button[2][rep_rouge], y_rouge, i_rouge);
- grid_rouge.getChildren().add(button[2][rep_rouge]);
- button[2][rep_rouge].setId("bouton_null__");
- button[2][rep_rouge].setMinSize(40 * 0.9, 40 * 0.9);
- button[2][rep_rouge].setOnAction(this);
- rep_rouge++;
- }
- }
- button[2][4].setId("bouton_rouge_");
- //VERT
- for(int i_vert = 0; i_vert < 3; i_vert++) {
- for(int y_vert = 0; y_vert < 3; y_vert++) {
- GridPane.setConstraints(button[3][rep_vert], y_vert, i_vert);
- grid_vert.getChildren().add(button[3][rep_vert]);
- button[3][rep_vert].setId("bouton_null__");
- button[3][rep_vert].setMinSize(40 * 0.9, 40 * 0.9);
- button[3][rep_vert].setOnAction(this);
- rep_vert++;
- }
- }
- button[3][4].setId("bouton_vert__");
- //ORANGE
- for(int i_orange = 0; i_orange < 3; i_orange++) {
- for(int y_orange = 0; y_orange < 3; y_orange++) {
- GridPane.setConstraints(button[4][rep_orange], y_orange, i_orange);
- grid_orange.getChildren().add(button[4][rep_orange]);
- button[4][rep_orange].setId("bouton_null__");
- button[4][rep_orange].setMinSize(40 * 0.9, 40 * 0.9);
- button[4][rep_orange].setOnAction(this);
- rep_orange++;
- }
- }
- button[4][4].setId("bouton_orange");
- //BLANC
- for(int i_blanc = 0; i_blanc < 3; i_blanc++) {
- for(int y_blanc = 0; y_blanc < 3; y_blanc++) {
- GridPane.setConstraints(button[5][rep_blanc], y_blanc, i_blanc);
- grid_blanc.getChildren().add(button[5][rep_blanc]);
- button[5][rep_blanc].setId("bouton_null__");
- button[5][rep_blanc].setMinSize(40 * 0.9, 40 * 0.9);
- button[5][rep_blanc].setOnAction(this);
- rep_blanc++;
- }
- }
- button[5][4].setId("bouton_blanc_");
- text.setPromptText("Résolution ...");
- text.setMinSize(640 * 0.9, 400 * 0.9);
- text.setWrapText(true);
- text.setEditable(false);
- text1.setPromptText("Entrer un mélange");
- text1.setMinWidth(640 * 0.9);
- text1.setOnAction(this);
- text2.setPromptText("Entrez un melange converti");
- text2.setMinWidth(640 * 0.9);
- text2.setOnAction(this);
- env_mel.setId("bouton");
- env_mel.setMinSize(190 * 0.9, 50 * 0.9);
- env_mel.setOnAction(this);
- reset.setId("bouton");
- reset.setMinSize(190 * 0.9, 50 * 0.9);
- reset.setOnAction(this);
- res.setId("bouton");
- res.setMinSize(190 * 0.9, 50 * 0.9);
- res.setOnAction(this);
- mel.setId("bouton");
- mel.setMinSize(190 * 0.9, 50 * 0.9);
- mel.setOnAction(this);
- test_mo.setId("bouton");
- test_mo.setMinSize(190 * 0.9, 50 * 0.9);
- test_mo.setOnAction(this);
- grid_jaune.setVgap(3 * 0.9);
- grid_jaune.setHgap(3 * 0.9);
- grid_bleu.setVgap(3 * 0.9);
- grid_bleu.setHgap(3 * 0.9);
- grid_rouge.setVgap(3 * 0.9);
- grid_rouge.setHgap(3 * 0.9);
- grid_vert.setVgap(3 * 0.9);
- grid_vert.setHgap(3 * 0.9);
- grid_orange.setVgap(3 * 0.9);
- grid_orange.setHgap(3 * 0.9);
- grid_blanc.setVgap(3 * 0.9);
- grid_blanc.setHgap(3 * 0.9);
- hbox2.setSpacing(30);
- hbox2.getChildren().addAll(paint_jaune, paint_bleu, paint_rouge, paint_vert, paint_orange, paint_blanc);
- hbox2.setAlignment(Pos.CENTER);
- paint_jaune.setMinSize(40 * 0.9, 40 * 0.9);
- paint_jaune.setId("paint_jaune_");
- paint_bleu.setMinSize(40 * 0.9, 40 * 0.9);
- paint_bleu.setId("paint_bleu__");
- paint_rouge.setMinSize(40 * 0.9, 40 * 0.9);
- paint_rouge.setId("paint_rouge_");
- paint_vert.setMinSize(40 * 0.9, 40 * 0.9);
- paint_vert.setId("paint_vert__");
- paint_orange.setMinSize(40 * 0.9, 40 * 0.9);
- paint_orange.setId("paint_orange");
- paint_blanc.setMinSize(40 * 0.9, 40 * 0.9);
- paint_blanc.setId("paint_blanc_");
- hbox.setSpacing(10 * 0.9);
- hbox.setAlignment(Pos.CENTER);
- vbox3.getChildren().addAll(res);
- vbox3.setSpacing(10 * 0.9);
- vbox4.getChildren().addAll(mel, test_mo);
- vbox4.setSpacing(10 * 0.9);
- vbox5.getChildren().addAll(env_mel, reset);
- vbox5.setSpacing(10 * 0.9);
- hbox1.getChildren().addAll(vbox3, vbox4, vbox5);
- hbox1.setSpacing(10 * 0.9);
- hbox1.setAlignment(Pos.CENTER);
- vbox2.setSpacing(10 * 0.9);
- vbox2.getChildren().addAll(text, text1, text2, hbox2, hbox1);
- vbox2.setSpacing(15);
- vbox.setSpacing(10 * 0.9);
- vbox.getChildren().addAll(grid_jaune, grid_bleu, grid_rouge, grid_vert, grid_orange, grid_blanc);
- //Thread.sleep(10);
- //camera.read(frame);
- //imgView.setImage(SwingFXUtils.toFXImage(Mat2BufferedImage(frame), null));
- hbox.getChildren().addAll(vbox2, vbox);
- hbox.setPadding(new Insets(50));
- Scene scene = new Scene(hbox, 800 * 0.9, 960 * 0.9);
- windows.setMaximized(false);
- windows.setScene(scene);
- scene.getStylesheets().add(Main.class.getResource("application.css").toExternalForm());
- windows.show();
- }
- @Override
- public void handle(ActionEvent e) {
- if(!(e.getSource().equals(button[0][4]) ||
- e.getSource().equals(button[1][4]) ||
- e.getSource().equals(button[2][4]) ||
- e.getSource().equals(button[3][4]) ||
- e.getSource().equals(button[4][4]) ||
- e.getSource().equals(button[5][4]) ||
- e.getSource().equals(res) ||
- e.getSource().equals(mel) ||
- e.getSource().equals(test_mo) ||
- e.getSource().equals(text1) ||
- e.getSource().equals(env_mel) ||
- e.getSource().equals(reset))) {
- char charFirstPos = e.getSource().toString().charAt(45);
- char charSecondPos = e.getSource().toString().charAt(46);
- int firstPos = Character.getNumericValue(charFirstPos);
- int secondPos = Character.getNumericValue(charSecondPos);
- intButton[firstPos][secondPos]++;
- Button buffer = button[firstPos][secondPos];
- int ibuffer = intButton[firstPos][secondPos];
- if(ibuffer == 1) {
- buffer.setId("bouton_jaune_");
- }
- else if(ibuffer == 2) {
- buffer.setId("bouton_bleu__");
- }
- else if(ibuffer == 3) {
- buffer.setId("bouton_rouge_");
- }
- else if(ibuffer == 4) {
- buffer.setId("bouton_vert__");
- }
- else if(ibuffer == 5) {
- buffer.setId("bouton_orange");
- }
- else if(ibuffer == 6) {
- buffer.setId("bouton_blanc_");
- }
- else if(ibuffer == 7) {
- intButton[firstPos][secondPos] = 1;
- buffer.setId("bouton_jaune_");
- }
- }
- else if(e.getSource().equals(reset)) {
- resetCube();
- }
- else if(e.getSource().equals(text1)) {
- String melange = text1.getText();
- System.out.println(melange);
- melange_env = melange_env + convert1(melange);
- text.appendText(melange + "\n");
- text1.clear();
- applyScramble(melange);
- }
- else if(e.getSource().equals(env_mel)) {
- SerialPort[] computerPorts = SerialPort.getCommPorts();
- SerialPort selectedPort = null;
- for (SerialPort p : computerPorts) {
- if (p.getSystemPortName().equals("COM3")) {
- selectedPort = p;
- }
- }
- if (selectedPort == null) {
- return;
- }
- else if (selectedPort.openPort()) {
- System.out.println(selectedPort.getSystemPortName() + " s'est ouvert correctement");
- }
- else {
- System.out.println(selectedPort.getSystemPortName() + " n'a pas réussi à s'ouvrir");
- return;
- }
- pw = new PrintWriter(selectedPort.getOutputStream());
- try {
- Thread.sleep(3000);
- } catch (InterruptedException e2) {
- e2.printStackTrace();
- }
- for(int i = 0; i < melange_env.length(); i++) {
- pw.write(melange_env.charAt(i));
- pw.flush();
- try {
- Thread.sleep(1);
- } catch (InterruptedException e1) {
- e1.printStackTrace();
- }
- }
- pw.write('/');
- pw.flush();
- selectedPort.closePort();
- }
- /*
- * BOUTON CAMERA
- */
- /*else if(e.getSource().equals(det)) {
- detectColor = 1 - detectColor;
- if(detectColor == 1) {
- det.setText("Eteindre detec");
- }
- else {
- det.setText("Demarrer detec");
- }
- }*/
- else if(e.getSource().equals(mel)) {
- resetTableau();
- String melange = generateScramble3x3();
- melange_env = convert1(melange);
- text.appendText(melange + "\n");
- applyScramble(melange);
- }
- else if(e.getSource().equals(test_mo)) {
- SerialPort[] computerPorts = SerialPort.getCommPorts();
- SerialPort selectedPort = null;
- for (SerialPort p : computerPorts) {
- if (p.getSystemPortName().equals("COM3")) {
- selectedPort = p;
- }
- }
- if (selectedPort == null) {
- return;
- }
- else if (selectedPort.openPort()) {
- System.out.println(selectedPort.getSystemPortName() + " s'est ouvert correctement");
- }
- else {
- System.out.println(selectedPort.getSystemPortName() + " n'a pas réussi à s'ouvrir");
- return;
- }
- pw = new PrintWriter(selectedPort.getOutputStream());
- try {
- Thread.sleep(3000);
- } catch (InterruptedException e2) {
- e2.printStackTrace();
- }
- String string_test = new String("R/");
- for(int test_int = 0; test_int < string_test.length(); test_int++) {
- pw.write(string_test.charAt(test_int));
- pw.flush();
- try {
- Thread.sleep(1);
- } catch (InterruptedException e1) {
- e1.printStackTrace();
- }
- }
- selectedPort.closePort();
- }
- /*
- * BOUTON RESOLUTION
- */
- else if(e.getSource().equals(res)){
- int icubel = 0;
- int icubeh = 0;
- for(int face = 0; face < 6; face++) {
- CouleurEnum[][] couleurBuffer = new CouleurEnum[3][3];
- for(int cubel = 0; cubel < 3; cubel++) {
- for(int cubeh = 0; cubeh < 3; cubeh++) {
- if(button[icubel][icubeh].toString().charAt(17) == 'j' && button[icubel][icubeh].toString().charAt(18) == 'a') {
- couleurBuffer[cubel][cubeh] = CouleurEnum.JAUNE;
- }
- else if(button[icubel][icubeh].toString().charAt(17) == 'b' && button[icubel][icubeh].toString().charAt(19) == 'e') {
- couleurBuffer[cubel][cubeh] = CouleurEnum.BLEU;
- }
- else if(button[icubel][icubeh].toString().charAt(17) == 'r' && button[icubel][icubeh].toString().charAt(18) == 'o') {
- couleurBuffer[cubel][cubeh] = CouleurEnum.ROUGE;
- }
- else if(button[icubel][icubeh].toString().charAt(17) == 'v' && button[icubel][icubeh].toString().charAt(18) == 'e') {
- couleurBuffer[cubel][cubeh] = CouleurEnum.VERT;
- }
- else if(button[icubel][icubeh].toString().charAt(17) == 'o' && button[icubel][icubeh].toString().charAt(18) == 'r') {
- couleurBuffer[cubel][cubeh] = CouleurEnum.ORANGE;
- }
- else if(button[icubel][icubeh].toString().charAt(17) == 'b' && button[icubel][icubeh].toString().charAt(19) == 'a') {
- couleurBuffer[cubel][cubeh] = CouleurEnum.BLANC;
- }
- icubeh++;
- }
- }
- icubeh = 0;
- icubel++;
- if(face == 0) {
- FaceJaune = couleurBuffer;
- }
- else if(face == 1) {
- FaceBleu = couleurBuffer;
- }
- else if(face == 2) {
- FaceRouge = couleurBuffer;
- }
- else if(face == 3) {
- FaceVert = couleurBuffer;
- }
- else if(face == 4) {
- FaceOrange = couleurBuffer;
- }
- else if(face == 5) {
- FaceBlanc = couleurBuffer;
- }
- }
- bufferJaune = FaceJaune;
- bufferBleu = FaceBleu;
- bufferRouge = FaceRouge;
- bufferVert = FaceVert;
- bufferOrange = FaceOrange;
- bufferBlanc = FaceBlanc;
- int face_rot = 0;
- int mul_face_rot = 0;
- for(int i = 0; i < 289; i++) {
- if(i > 0) {
- FaceJaune = bufferJaune;
- FaceBleu = bufferBleu;
- FaceRouge = bufferRouge;
- FaceVert = bufferVert;
- FaceOrange = bufferOrange;
- FaceBlanc = bufferBlanc;
- for(int x = 1; x > -1; x--) {
- char c = 0;
- try {
- c = optiMov.charAt(x);
- } catch(Exception e2) {
- }
- if(c == 'R') {
- RPMove();
- }
- else if(c == 'S') {
- RMove();
- }
- else if(c == 'T') {
- R2Move();
- }
- else if(c == 'F') {
- FPMove();
- }
- else if(c == 'G') {
- FMove();
- }
- else if(c == 'H') {
- F2Move();
- }
- else if(c == 'L') {
- LPMove();
- }
- else if(c == 'M') {
- LMove();
- }
- else if(c == 'N') {
- L2Move();
- }
- else if(c == 'U') {
- UPMove();
- }
- else if(c == 'V') {
- UMove();
- }
- else if(c == 'W') {
- U2Move();
- }
- else if(c == 'B') {
- BPMove();
- }
- else if(c == 'C') {
- BMove();
- }
- else if(c == 'A') {
- B2Move();
- }
- else if(c == 'D') {
- DPMove();
- }
- else if(c == 'E') {
- DMove();
- }
- else if(c == 'Z') {
- D2Move();
- }
- }
- optiMov = "";
- if(mul_face_rot == 19) {
- mul_face_rot = 0;
- face_rot++;
- }
- if(face_rot == 0){
- RMove();
- optiMov = optiMov + "R";
- }
- else if(face_rot == 1){
- RPMove();
- optiMov = optiMov + "S";
- }
- else if(face_rot == 2){
- R2Move();
- optiMov = optiMov + "T";
- }
- else if(face_rot == 3){
- FMove();
- optiMov = optiMov + "F";
- }
- else if(face_rot == 4){
- FPMove();
- optiMov = optiMov + "G";
- }
- else if(face_rot == 5){
- F2Move();
- optiMov = optiMov + "H";
- }
- else if(face_rot == 6){
- LMove();
- optiMov = optiMov + "L";
- }
- else if(face_rot == 7){
- LPMove();
- optiMov = optiMov + "M";
- }
- else if(face_rot == 8){
- L2Move();
- optiMov = optiMov + "N";
- }
- else if(face_rot == 9){
- UMove();
- optiMov = optiMov + "U";
- }
- else if(face_rot == 10){
- UPMove();
- optiMov = optiMov + "V";
- }
- else if(face_rot == 11){
- U2Move();
- optiMov = optiMov + "W";
- }
- else if(face_rot == 12){
- BMove();
- optiMov = optiMov + "B";
- }
- else if(face_rot == 13){
- BPMove();
- optiMov = optiMov + "C";
- }
- else if(face_rot == 14){
- B2Move();
- optiMov = optiMov + "A";
- }
- else if(face_rot == 15){
- DMove();
- optiMov = optiMov + "D";
- }
- else if(face_rot == 16){
- DPMove();
- optiMov = optiMov + "E";
- }
- else if(face_rot == 17){
- D2Move();
- optiMov = optiMov + "Z";
- }
- if(face_rot >= 0 && face_rot <= 2 && mul_face_rot >= 0 && mul_face_rot <= 2) {
- mul_face_rot = 3;
- }
- if(face_rot >= 3 && face_rot <= 5 && mul_face_rot >= 3 && mul_face_rot <= 5) {
- mul_face_rot = 6;
- }
- if(face_rot >= 6 && face_rot <= 8 && mul_face_rot >= 6 && mul_face_rot <= 8) {
- mul_face_rot = 9;
- }
- if(face_rot >= 9 && face_rot <= 11 && mul_face_rot >= 9 && mul_face_rot <= 11) {
- mul_face_rot = 12;
- }
- if(face_rot >= 12 && face_rot <= 14 && mul_face_rot >= 12 && mul_face_rot <= 14) {
- mul_face_rot = 15;
- }
- if(face_rot >= 15 && face_rot <= 17 && mul_face_rot >= 15 && mul_face_rot <= 17) {
- mul_face_rot = 18;
- }
- if(mul_face_rot == 0){
- RMove();
- optiMov = optiMov + "R";
- }
- else if(mul_face_rot == 1) {
- RPMove();
- optiMov = optiMov + "S";
- }
- else if(mul_face_rot == 2) {
- R2Move();
- optiMov = optiMov + "T";
- }
- else if(mul_face_rot == 3) {
- FMove();
- optiMov = optiMov + "F";
- }
- else if(mul_face_rot == 4) {
- FPMove();
- optiMov = optiMov + "G";
- }
- else if(mul_face_rot == 5) {
- F2Move();
- optiMov = optiMov + "H";
- }
- else if(mul_face_rot == 6) {
- LMove();
- optiMov = optiMov + "L";
- }
- else if(mul_face_rot == 7) {
- LPMove();
- optiMov = optiMov + "M";
- }
- else if(mul_face_rot == 8) {
- L2Move();
- optiMov = optiMov + "N";
- }
- else if(mul_face_rot == 9) {
- UMove();
- optiMov = optiMov + "U";
- }
- else if(mul_face_rot == 10) {
- UPMove();
- optiMov = optiMov + "V";
- }
- else if(mul_face_rot == 11) {
- U2Move();
- optiMov = optiMov + "W";
- }
- else if(mul_face_rot == 12) {
- BMove();
- optiMov = optiMov + "B";
- }
- else if(mul_face_rot == 13) {
- BPMove();
- optiMov = optiMov + "C";
- }
- else if(mul_face_rot == 14) {
- B2Move();
- optiMov = optiMov + "A";
- }
- else if(mul_face_rot == 15) {
- DMove();
- optiMov = optiMov + "D";
- }
- else if(mul_face_rot == 16) {
- DPMove();
- optiMov = optiMov + "E";
- }
- else if(mul_face_rot == 17) {
- D2Move();
- optiMov = optiMov + "Z";
- }
- mul_face_rot++;
- }
- /*
- * SUITE DECLARATION COINS
- */
- JVO.setCouleur(i1, FaceJaune[0][0]);
- JVO.setCouleur(i2, FaceVert[0][2]);
- JVO.setCouleur(i3, FaceOrange[0][0]);
- JRV.setCouleur(i1, FaceJaune[0][2]);
- JRV.setCouleur(i2, FaceRouge[0][2]);
- JRV.setCouleur(i3, FaceVert[0][0]);
- JBR.setCouleur(i1, FaceJaune[2][2]);
- JBR.setCouleur(i2, FaceBleu[0][2]);
- JBR.setCouleur(i3, FaceRouge[0][0]);
- JBO.setCouleur(i1, FaceJaune[2][0]);
- JBO.setCouleur(i2, FaceBleu[0][0]);
- JBO.setCouleur(i3, FaceOrange[0][2]);
- BOBl.setCouleur(i1, FaceBleu[2][0]);
- BOBl.setCouleur(i2, FaceOrange[2][2]);
- BOBl.setCouleur(i3, FaceBlanc[0][0]);
- BRBl.setCouleur(i1, FaceBleu[2][2]);
- BRBl.setCouleur(i2, FaceRouge[2][0]);
- BRBl.setCouleur(i3, FaceBlanc[0][2]);
- RVBl.setCouleur(i1, FaceRouge[2][2]);
- RVBl.setCouleur(i2, FaceVert[2][0]);
- RVBl.setCouleur(i3, FaceBlanc[2][2]);
- VOBl.setCouleur(i1, FaceVert[2][2]);
- VOBl.setCouleur(i2, FaceOrange[2][0]);
- VOBl.setCouleur(i3, FaceBlanc[2][0]);
- /*
- * SUITE DECLARATION ARETES
- */
- JV.setCouleur(i1, FaceJaune[0][1]);
- JV.setCouleur(i2, FaceVert[0][1]);
- JR.setCouleur(i1, FaceJaune[1][2]);
- JR.setCouleur(i2, FaceRouge[0][1]);
- JB.setCouleur(i1, FaceJaune[2][1]);
- JB.setCouleur(i2, FaceBleu[0][1]);
- JO.setCouleur(i1, FaceJaune[1][0]);
- JO.setCouleur(i2, FaceOrange[0][1]);
- VO.setCouleur(i1, FaceVert[1][2]);
- VO.setCouleur(i2, FaceOrange[1][0]);
- RV.setCouleur(i1, FaceRouge[1][2]);
- RV.setCouleur(i2, FaceVert[1][0]);
- BR.setCouleur(i1, FaceBleu[1][2]);
- BR.setCouleur(i2, FaceRouge[1][0]);
- BO.setCouleur(i1, FaceBleu[1][0]);
- BO.setCouleur(i2, FaceOrange[1][2]);
- BBl.setCouleur(i1, FaceBleu[2][1]);
- BBl.setCouleur(i2, FaceBlanc[0][1]);
- RBl.setCouleur(i1, FaceRouge[2][1]);
- RBl.setCouleur(i2, FaceBlanc[1][2]);
- VBl.setCouleur(i1, FaceVert[2][1]);
- VBl.setCouleur(i2, FaceBlanc[2][1]);
- OBl.setCouleur(i1, FaceOrange[2][1]);
- OBl.setCouleur(i2, FaceBlanc[1][0]);
- /*
- *
- * COINS
- *
- */
- Coin Buffer = new Coin();
- /*
- * DETECTION DES COINS DEJA BIEN PLACES
- */
- if(JRV.contient(CouleurEnum.JAUNE, CouleurEnum.ROUGE, CouleurEnum.VERT)) {
- if(!(JRV.getCouleur(i1) == CouleurEnum.JAUNE && JRV.getCouleur(i2) == CouleurEnum.ROUGE && JRV.getCouleur(i3) == CouleurEnum.VERT)) {
- CoinOri.add("JRV");
- Coin[0] = "";
- }
- else {
- Coin[0] = "";
- }
- }
- if(JBR.contient(CouleurEnum.JAUNE, CouleurEnum.BLEU, CouleurEnum.ROUGE)) {
- if(!(JBR.getCouleur(i1) == CouleurEnum.JAUNE && JBR.getCouleur(i2) == CouleurEnum.BLEU && JBR.getCouleur(i3) == CouleurEnum.ROUGE)) {
- CoinOri.add("JBR");
- Coin[1] = "";
- }
- else {
- Coin[1] = "";
- }
- }
- if(JBO.contient(CouleurEnum.JAUNE, CouleurEnum.BLEU, CouleurEnum.ORANGE)) {
- if(!(JBO.getCouleur(i1) == CouleurEnum.JAUNE && JBO.getCouleur(i2) == CouleurEnum.BLEU && JBO.getCouleur(i3) == CouleurEnum.ORANGE)) {
- CoinOri.add("JBO");
- Coin[2] = "";
- }
- else {
- Coin[2] = "";
- }
- }
- if(BOBl.contient(CouleurEnum.BLEU, CouleurEnum.ORANGE, CouleurEnum.BLANC)) {
- if(!(BOBl.getCouleur(i1) == CouleurEnum.BLEU && BOBl.getCouleur(i2) == CouleurEnum.ORANGE && BOBl.getCouleur(i3) == CouleurEnum.BLANC)) {
- CoinOri.add("BOBl");
- Coin[3] = "";
- }
- else {
- Coin[3] = "";
- }
- }
- if(BRBl.contient(CouleurEnum.BLEU, CouleurEnum.ROUGE, CouleurEnum.BLANC)) {
- if(!(BRBl.getCouleur(i1) == CouleurEnum.BLEU && BRBl.getCouleur(i2) == CouleurEnum.ROUGE && BRBl.getCouleur(i3) == CouleurEnum.BLANC)) {
- CoinOri.add("BRBl");
- Coin[4] = "";
- }
- else {
- Coin[4] = "";
- }
- }
- if(RVBl.contient(CouleurEnum.ROUGE, CouleurEnum.VERT, CouleurEnum.BLANC)) {
- if(!(RVBl.getCouleur(i1) == CouleurEnum.ROUGE && RVBl.getCouleur(i2) == CouleurEnum.VERT && RVBl.getCouleur(i3) == CouleurEnum.BLANC)) {
- CoinOri.add("RVBl");
- Coin[5] = "";
- }
- else {
- Coin[5] = "";
- }
- }
- if(VOBl.contient(CouleurEnum.VERT, CouleurEnum.ORANGE, CouleurEnum.BLANC)) {
- if(!(VOBl.getCouleur(i1) == CouleurEnum.VERT && VOBl.getCouleur(i2) == CouleurEnum.ORANGE && VOBl.getCouleur(i3) == CouleurEnum.BLANC)) {
- CoinOri.add("VOBl");
- Coin[6] = "";
- }
- else {
- Coin[6] = "";
- }
- }
- /*
- * WHILE POUR LES COINS MAL PLACES
- */
- while(!(Coin[0] == "" && Coin[1] == "" && Coin[2] == "" && Coin[3] == "" && Coin[4] == "" && Coin[5] == "" && Coin[6] == "")) {
- /*
- * CHOIX PREMIERE FACE A CHECK
- */
- if(prochaineCouleur == "JAUNE") {
- Buffer.setCouleur(i1, FaceJaune[prochainX][prochainY]);
- TabRef = FaceJaune;
- }
- else if(prochaineCouleur == "BLEU") {
- Buffer.setCouleur(i1, FaceBleu[prochainX][prochainY]);
- TabRef = FaceBleu;
- }
- else if(prochaineCouleur == "ROUGE") {
- Buffer.setCouleur(i1, FaceRouge[prochainX][prochainY]);
- TabRef = FaceRouge;
- }
- else if(prochaineCouleur == "VERT") {
- Buffer.setCouleur(i1, FaceVert[prochainX][prochainY]);
- TabRef = FaceVert;
- }
- else if(prochaineCouleur == "ORANGE") {
- Buffer.setCouleur(i1, FaceOrange[prochainX][prochainY]);
- TabRef = FaceOrange;
- }
- else if(prochaineCouleur == "BLANC") {
- Buffer.setCouleur(i1, FaceBlanc[prochainX][prochainY]);
- TabRef = FaceBlanc;
- }
- /*
- * CHOIX DEUXIEME FACE A CHECK
- */
- if(prochaineCouleur2 == "JAUNE") {
- Buffer.setCouleur(i2, FaceJaune[prochainX2][prochainY2]);
- }
- else if(prochaineCouleur2 == "BLEU") {
- Buffer.setCouleur(i2, FaceBleu[prochainX2][prochainY2]);
- }
- else if(prochaineCouleur2 == "ROUGE") {
- Buffer.setCouleur(i2, FaceRouge[prochainX2][prochainY2]);
- }
- else if(prochaineCouleur2 == "VERT") {
- Buffer.setCouleur(i2, FaceVert[prochainX2][prochainY2]);
- }
- else if(prochaineCouleur2 == "ORANGE") {
- Buffer.setCouleur(i2, FaceOrange[prochainX2][prochainY2]);
- }
- else if(prochaineCouleur2 == "BLANC") {
- Buffer.setCouleur(i2, FaceBlanc[prochainX2][prochainY2]);
- }
- /*
- * CHOIX TROISIEME FACE A CHECK
- */
- if(prochaineCouleur3 == "JAUNE") {
- Buffer.setCouleur(i3, FaceJaune[prochainX3][prochainY3]);
- }
- else if(prochaineCouleur3 == "BLEU") {
- Buffer.setCouleur(i3, FaceBleu[prochainX3][prochainY3]);
- }
- else if(prochaineCouleur3 == "ROUGE") {
- Buffer.setCouleur(i3, FaceRouge[prochainX3][prochainY3]);
- }
- else if(prochaineCouleur3 == "VERT") {
- Buffer.setCouleur(i3, FaceVert[prochainX3][prochainY3]);
- }
- else if(prochaineCouleur3 == "ORANGE") {
- Buffer.setCouleur(i3, FaceOrange[prochainX3][prochainY3]);
- }
- else if(prochaineCouleur3 == "BLANC") {
- Buffer.setCouleur(i3, FaceBlanc[prochainX3][prochainY3]);
- }
- /*
- * CAS DU COIN JRV
- */
- if(Buffer.contient(CouleurEnum.JAUNE, CouleurEnum.ROUGE, CouleurEnum.VERT)) {
- //System.out.println("JRV");
- if(Coin[0] == "") {
- BooJVO = true;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.JAUNE) {
- Resolution = Resolution + JRVJ;
- //System.out.println(JRVJ);
- string_solv.add("JRVJ");
- string_solv.add(JRVJ);
- prochainX = Character.getNumericValue(JRVJP.charAt(0));
- prochainY = Character.getNumericValue(JRVJP.charAt(1));
- prochainX2 = Character.getNumericValue(JRVRP.charAt(0));
- prochainY2 = Character.getNumericValue(JRVRP.charAt(1));
- prochainX3 = Character.getNumericValue(JRVVP.charAt(0));
- prochainY3 = Character.getNumericValue(JRVVP.charAt(1));
- prochaineCouleur = "JAUNE";
- prochaineCouleur2 = "ROUGE";
- prochaineCouleur3 = "VERT";
- Coin[0] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.ROUGE) {
- Resolution = Resolution + JRVR;
- //System.out.println(JRVR);
- string_solv.add("JRVR");
- string_solv.add(JRVR);
- prochainX = Character.getNumericValue(JRVRP.charAt(0));
- prochainY = Character.getNumericValue(JRVRP.charAt(1));
- prochainX2 = Character.getNumericValue(JRVJP.charAt(0));
- prochainY2 = Character.getNumericValue(JRVJP.charAt(1));
- prochainX3 = Character.getNumericValue(JRVVP.charAt(0));
- prochainY3 = Character.getNumericValue(JRVVP.charAt(1));
- prochaineCouleur = "ROUGE";
- prochaineCouleur2 = "JAUNE";
- prochaineCouleur3 = "VERT";
- Coin[0] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.VERT) {
- Resolution = Resolution + JRVV;
- //System.out.println(JRVV);
- string_solv.add("JRVV");
- string_solv.add(JRVV);
- prochainX = Character.getNumericValue(JRVVP.charAt(0));
- prochainY = Character.getNumericValue(JRVVP.charAt(1));
- prochainX2 = Character.getNumericValue(JRVJP.charAt(0));
- prochainY2 = Character.getNumericValue(JRVJP.charAt(1));
- prochainX3 = Character.getNumericValue(JRVRP.charAt(0));
- prochainY3 = Character.getNumericValue(JRVRP.charAt(1));
- prochaineCouleur = "VERT";
- prochaineCouleur2 = "JAUNE";
- prochaineCouleur3 = "ROUGE";
- Coin[0] = "";
- paireimpaire++;
- }
- }
- /*
- * CAS DU COIN JBR
- */
- else if(Buffer.contient(CouleurEnum.JAUNE, CouleurEnum.BLEU, CouleurEnum.ROUGE)) {
- //System.out.println("JBR");
- if(Coin[1] == "") {
- BooJVO = true;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.JAUNE) {
- Resolution = Resolution + JBRJ;
- //System.out.println(JBRJ);
- string_solv.add("JBRJ");
- string_solv.add(JBRJ);
- prochainX = Character.getNumericValue(JBRJP.charAt(0));
- prochainY = Character.getNumericValue(JBRJP.charAt(1));
- prochainX2 = Character.getNumericValue(JBRBP.charAt(0));
- prochainY2 = Character.getNumericValue(JBRBP.charAt(1));
- prochainX3 = Character.getNumericValue(JBRRP.charAt(0));
- prochainY3 = Character.getNumericValue(JBRRP.charAt(1));
- prochaineCouleur = "JAUNE";
- prochaineCouleur2 = "BLEU";
- prochaineCouleur3 = "ROUGE";
- Coin[1] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.BLEU) {
- Resolution = Resolution + JBRB;
- //System.out.println(JBRB);
- string_solv.add("JBRB");
- string_solv.add(JBRB);
- prochainX = Character.getNumericValue(JBRBP.charAt(0));
- prochainY = Character.getNumericValue(JBRBP.charAt(1));
- prochainX2 = Character.getNumericValue(JBRJP.charAt(0));
- prochainY2 = Character.getNumericValue(JBRJP.charAt(1));
- prochainX3 = Character.getNumericValue(JBRRP.charAt(0));
- prochainY3 = Character.getNumericValue(JBRRP.charAt(1));
- prochaineCouleur = "BLEU";
- prochaineCouleur2 = "JAUNE";
- prochaineCouleur3 = "ROUGE";
- Coin[1] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.ROUGE) {
- Resolution = Resolution + JBRR;
- //System.out.println(JBRR);
- string_solv.add("JBRR");
- string_solv.add(JBRR);
- prochainX = Character.getNumericValue(JBRRP.charAt(0));
- prochainY = Character.getNumericValue(JBRRP.charAt(1));
- prochainX2 = Character.getNumericValue(JBRJP.charAt(0));
- prochainY2 = Character.getNumericValue(JBRJP.charAt(1));
- prochainX3 = Character.getNumericValue(JBRBP.charAt(0));
- prochainY3 = Character.getNumericValue(JBRBP.charAt(1));
- prochaineCouleur = "ROUGE";
- prochaineCouleur2 = "JAUNE";
- prochaineCouleur3 = "BLEU";
- Coin[1] = "";
- paireimpaire++;
- }
- }
- /*
- * CAS DU COIN JBO
- */
- else if(Buffer.contient(CouleurEnum.JAUNE, CouleurEnum.BLEU, CouleurEnum.ORANGE)) {
- //System.out.println("JBO");
- if(Coin[2] == "") {
- BooJVO = true;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.JAUNE) {
- Resolution = Resolution + JBOJ;
- //System.out.println(JBOJ);
- string_solv.add("JBOJ");
- string_solv.add(JBOJ);
- prochainX = Character.getNumericValue(JBOJP.charAt(0));
- prochainY = Character.getNumericValue(JBOJP.charAt(1));
- prochainX2 = Character.getNumericValue(JBOBP.charAt(0));
- prochainY2 = Character.getNumericValue(JBOBP.charAt(1));
- prochainX3 = Character.getNumericValue(JBOOP.charAt(0));
- prochainY3 = Character.getNumericValue(JBOOP.charAt(1));
- prochaineCouleur = "JAUNE";
- prochaineCouleur2 = "BLEU";
- prochaineCouleur3 = "ORANGE";
- Coin[2] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.BLEU) {
- Resolution = Resolution + JBOB;
- //System.out.println(JBOB);
- string_solv.add("JBOB");
- string_solv.add(JBOB);
- prochainX = Character.getNumericValue(JBOBP.charAt(0));
- prochainY = Character.getNumericValue(JBOBP.charAt(1));
- prochainX2 = Character.getNumericValue(JBOJP.charAt(0));
- prochainY2 = Character.getNumericValue(JBOJP.charAt(1));
- prochainX3 = Character.getNumericValue(JBOOP.charAt(0));
- prochainY3 = Character.getNumericValue(JBOOP.charAt(1));
- prochaineCouleur = "BLEU";
- prochaineCouleur2 = "JAUNE";
- prochaineCouleur3 = "ORANGE";
- Coin[2] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.ORANGE) {
- Resolution = Resolution + JBOO;
- //System.out.println(JBOO);
- string_solv.add("JBOO");
- string_solv.add(JBOO);
- prochainX = Character.getNumericValue(JBOOP.charAt(0));
- prochainY = Character.getNumericValue(JBOOP.charAt(1));
- prochainX2 = Character.getNumericValue(JBOJP.charAt(0));
- prochainY2 = Character.getNumericValue(JBOJP.charAt(1));
- prochainX3 = Character.getNumericValue(JBOBP.charAt(0));
- prochainY3 = Character.getNumericValue(JBOBP.charAt(1));
- prochaineCouleur = "ORANGE";
- prochaineCouleur2 = "JAUNE";
- prochaineCouleur3 = "BLEU";
- Coin[2] = "";
- paireimpaire++;
- }
- }
- /*
- * CAS DU COIN BOBl
- */
- else if(Buffer.contient(CouleurEnum.BLEU, CouleurEnum.ORANGE, CouleurEnum.BLANC)) {
- //System.out.println("BOBl");
- if(Coin[3] == "") {
- BooJVO = true;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.BLEU) {
- Resolution = Resolution + BOBlB;
- //System.out.println(BOBlB);
- string_solv.add("BOBlB");
- string_solv.add(BOBlB);
- prochainX = Character.getNumericValue(BOBlBP.charAt(0));
- prochainY = Character.getNumericValue(BOBlBP.charAt(1));
- prochainX2 = Character.getNumericValue(BOBlOP.charAt(0));
- prochainY2 = Character.getNumericValue(BOBlOP.charAt(1));
- prochainX3 = Character.getNumericValue(BOBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(BOBlBlP.charAt(1));
- prochaineCouleur = "BLEU";
- prochaineCouleur2 = "ORANGE";
- prochaineCouleur3 = "BLANC";
- Coin[3] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.ORANGE) {
- Resolution = Resolution + BOBlO;
- //System.out.println(BOBlO);
- string_solv.add("BOBlO");
- string_solv.add(BOBlO);
- prochainX = Character.getNumericValue(BOBlOP.charAt(0));
- prochainY = Character.getNumericValue(BOBlOP.charAt(1));
- prochainX2 = Character.getNumericValue(BOBlBP.charAt(0));
- prochainY2 = Character.getNumericValue(BOBlBP.charAt(1));
- prochainX3 = Character.getNumericValue(BOBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(BOBlBlP.charAt(1));
- prochaineCouleur = "ORANGE";
- prochaineCouleur2 = "BLEU";
- prochaineCouleur3 = "BLANC";
- Coin[3] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.BLANC) {
- Resolution = Resolution + BOBlBl;
- //System.out.println(BOBlBl);
- string_solv.add("BOBlBl");
- string_solv.add(BOBlBl);
- prochainX = Character.getNumericValue(BOBlBlP.charAt(0));
- prochainY = Character.getNumericValue(BOBlBlP.charAt(1));
- prochainX2 = Character.getNumericValue(BOBlBP.charAt(0));
- prochainY2 = Character.getNumericValue(BOBlBP.charAt(1));
- prochainX3 = Character.getNumericValue(BOBlOP.charAt(0));
- prochainY3 = Character.getNumericValue(BOBlOP.charAt(1));
- prochaineCouleur = "BLANC";
- prochaineCouleur2 = "BLEU";
- prochaineCouleur3 = "ORANGE";
- Coin[3] = "";
- paireimpaire++;
- }
- }
- /*
- * CAS DU COIN BRBl
- */
- else if(Buffer.contient(CouleurEnum.BLEU, CouleurEnum.ROUGE, CouleurEnum.BLANC)) {
- //System.out.println("BRBl");
- if(Coin[4] == "") {
- BooJVO = true;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.BLEU) {
- Resolution = Resolution + BRBlB;
- //System.out.println(BRBlB);
- string_solv.add("BRBlB");
- string_solv.add(BRBlB);
- prochainX = Character.getNumericValue(BRBlBP.charAt(0));
- prochainY = Character.getNumericValue(BRBlBP.charAt(1));
- prochainX2 = Character.getNumericValue(BRBlRP.charAt(0));
- prochainY2 = Character.getNumericValue(BRBlRP.charAt(1));
- prochainX3 = Character.getNumericValue(BRBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(BRBlBlP.charAt(1));
- prochaineCouleur = "BLEU";
- prochaineCouleur2 = "ROUGE";
- prochaineCouleur3 = "BLANC";
- Coin[4] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.ROUGE) {
- Resolution = Resolution + BRBlR;
- //System.out.println(BRBlR);
- string_solv.add("BRBlR");
- string_solv.add(BRBlR);
- prochainX = Character.getNumericValue(BRBlRP.charAt(0));
- prochainY = Character.getNumericValue(BRBlRP.charAt(1));
- prochainX2 = Character.getNumericValue(BRBlBP.charAt(0));
- prochainY2 = Character.getNumericValue(BRBlBP.charAt(1));
- prochainX3 = Character.getNumericValue(BRBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(BRBlBlP.charAt(1));
- prochaineCouleur = "ROUGE";
- prochaineCouleur2 = "BLEU";
- prochaineCouleur3 = "BLANC";
- Coin[4] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.BLANC) {
- Resolution = Resolution + BRBlBl;
- //System.out.println(BRBlBl);
- string_solv.add("BRBlBl");
- string_solv.add(BRBlBl);
- prochainX = Character.getNumericValue(BRBlBlP.charAt(0));
- prochainY = Character.getNumericValue(BRBlBlP.charAt(1));
- prochainX2 = Character.getNumericValue(BRBlBP.charAt(0));
- prochainY2 = Character.getNumericValue(BRBlBP.charAt(1));
- prochainX3 = Character.getNumericValue(BRBlRP.charAt(0));
- prochainY3 = Character.getNumericValue(BRBlRP.charAt(1));
- prochaineCouleur = "BLANC";
- prochaineCouleur2 = "BLEU";
- prochaineCouleur3 = "ROUGE";
- Coin[4] = "";
- paireimpaire++;
- }
- }
- /*
- * CAS DU COIN RVBl
- */
- else if(Buffer.contient(CouleurEnum.ROUGE, CouleurEnum.VERT, CouleurEnum.BLANC)) {
- //System.out.println("RVBl");
- if(Coin[5] == "") {
- BooJVO = true;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.ROUGE) {
- Resolution = Resolution + RVBlR;
- //System.out.println(RVBlR);
- string_solv.add("RVBlR");
- string_solv.add(RVBlR);
- prochainX = Character.getNumericValue(RVBlRP.charAt(0));
- prochainY = Character.getNumericValue(RVBlRP.charAt(1));
- prochainX2 = Character.getNumericValue(RVBlVP.charAt(0));
- prochainY2 = Character.getNumericValue(RVBlVP.charAt(1));
- prochainX3 = Character.getNumericValue(RVBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(RVBlBlP.charAt(1));
- prochaineCouleur = "ROUGE";
- prochaineCouleur2 = "VERT";
- prochaineCouleur3 = "BLANC";
- Coin[5] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.VERT) {
- Resolution = Resolution + RVBlV;
- //System.out.println(RVBlV);
- string_solv.add("RVBlV");
- string_solv.add(RVBlV);
- prochainX = Character.getNumericValue(RVBlVP.charAt(0));
- prochainY = Character.getNumericValue(RVBlVP.charAt(1));
- prochainX2 = Character.getNumericValue(RVBlRP.charAt(0));
- prochainY2 = Character.getNumericValue(RVBlRP.charAt(1));
- prochainX3 = Character.getNumericValue(RVBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(RVBlBlP.charAt(1));
- prochaineCouleur = "VERT";
- prochaineCouleur2 = "ROUGE";
- prochaineCouleur3 = "BLANC";
- Coin[5] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.BLANC) {
- Resolution = Resolution + RVBlBl;
- //System.out.println(RVBlBl);
- string_solv.add("RVBlBl");
- string_solv.add(RVBlBl);
- prochainX = Character.getNumericValue(RVBlBlP.charAt(0));
- prochainY = Character.getNumericValue(RVBlBlP.charAt(1));
- prochainX2 = Character.getNumericValue(RVBlRP.charAt(0));
- prochainY2 = Character.getNumericValue(RVBlRP.charAt(1));
- prochainX3 = Character.getNumericValue(RVBlVP.charAt(0));
- prochainY3 = Character.getNumericValue(RVBlVP.charAt(1));
- prochaineCouleur = "BLANC";
- prochaineCouleur2 = "ROUGE";
- prochaineCouleur3 = "VERT";
- Coin[5] = "";
- paireimpaire++;
- }
- }
- /*
- * CAS DU COIN VOBl
- */
- else if(Buffer.contient(CouleurEnum.VERT, CouleurEnum.ORANGE, CouleurEnum.BLANC)) {
- //System.out.println("VOBl");
- if(Coin[6] == "") {
- BooJVO = true;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.VERT) {
- Resolution = Resolution + VOBlV;
- //System.out.println(VOBlV);
- string_solv.add("VOBlV");
- string_solv.add(VOBlV);
- prochainX = Character.getNumericValue(VOBlVP.charAt(0));
- prochainY = Character.getNumericValue(VOBlVP.charAt(1));
- prochainX2 = Character.getNumericValue(VOBlOP.charAt(0));
- prochainY2 = Character.getNumericValue(VOBlOP.charAt(1));
- prochainX3 = Character.getNumericValue(VOBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(VOBlBlP.charAt(1));
- prochaineCouleur = "VERT";
- prochaineCouleur2 = "ORANGE";
- prochaineCouleur3 = "BLANC";
- Coin[6] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.ORANGE) {
- Resolution = Resolution + VOBlO;
- //System.out.println(VOBlO);
- string_solv.add("VOBlO");
- string_solv.add(VOBlO);
- prochainX = Character.getNumericValue(VOBlOP.charAt(0));
- prochainY = Character.getNumericValue(VOBlOP.charAt(1));
- prochainX2 = Character.getNumericValue(VOBlVP.charAt(0));
- prochainY2 = Character.getNumericValue(VOBlVP.charAt(1));
- prochainX3 = Character.getNumericValue(VOBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(VOBlBlP.charAt(1));
- prochaineCouleur = "ORANGE";
- prochaineCouleur2 = "VERT";
- prochaineCouleur3 = "BLANC";
- Coin[6] = "";
- paireimpaire++;
- }
- else if(TabRef[prochainX][prochainY] == CouleurEnum.BLANC) {
- Resolution = Resolution + VOBlBl;
- //System.out.println(VOBlBl);
- string_solv.add("VOBlBl");
- string_solv.add(VOBlBl);
- prochainX = Character.getNumericValue(VOBlBlP.charAt(0));
- prochainY = Character.getNumericValue(VOBlBlP.charAt(1));
- prochainX2 = Character.getNumericValue(VOBlVP.charAt(0));
- prochainY2 = Character.getNumericValue(VOBlVP.charAt(1));
- prochainX3 = Character.getNumericValue(VOBlOP.charAt(0));
- prochainY3 = Character.getNumericValue(VOBlOP.charAt(1));
- prochaineCouleur = "BLANC";
- prochaineCouleur2 = "VERT";
- prochaineCouleur3 = "ORANGE";
- Coin[6] = "";
- paireimpaire++;
- }
- }
- /*
- * CAS DU COIN JVO
- */
- if(Buffer.contient(CouleurEnum.JAUNE, CouleurEnum.VERT, CouleurEnum.ORANGE)|| BooJVO) {
- //System.out.println("JVO");
- string_solv.add("JVO");
- BooJVO = false;
- if(Coin[0] != ""){
- prochainX = Character.getNumericValue(JRVJP.charAt(0));
- prochainY = Character.getNumericValue(JRVJP.charAt(1));
- prochainX2 = Character.getNumericValue(JRVRP.charAt(0));
- prochainY2 = Character.getNumericValue(JRVRP.charAt(1));
- prochainX3 = Character.getNumericValue(JRVVP.charAt(0));
- prochainY3 = Character.getNumericValue(JRVVP.charAt(1));
- prochaineCouleur = "JAUNE";
- prochaineCouleur2 = "ROUGE";
- prochaineCouleur3 = "VERT";
- Resolution = Resolution + JRVJ;
- //System.out.println(JRVJ);
- string_solv.add(JRVJ);
- paireimpaire++;
- }
- else if(Coin[1] != ""){
- prochainX = Character.getNumericValue(JBRJP.charAt(0));
- prochainY = Character.getNumericValue(JBRJP.charAt(1));
- prochainX2 = Character.getNumericValue(JBRBP.charAt(0));
- prochainY2 = Character.getNumericValue(JBRBP.charAt(1));
- prochainX3 = Character.getNumericValue(JBRRP.charAt(0));
- prochainY3 = Character.getNumericValue(JBRRP.charAt(1));
- prochaineCouleur = "JAUNE";
- prochaineCouleur2 = "BLEU";
- prochaineCouleur3 = "ROUGE";
- Resolution = Resolution + JBRJ;
- //System.out.println(JBRJ);
- string_solv.add(JBRJ);
- paireimpaire++;
- }
- else if(Coin[2] != ""){
- prochainX = Character.getNumericValue(JBOJP.charAt(0));
- prochainY = Character.getNumericValue(JBOJP.charAt(1));
- prochainX2 = Character.getNumericValue(JBOBP.charAt(0));
- prochainY2 = Character.getNumericValue(JBOBP.charAt(1));
- prochainX3 = Character.getNumericValue(JBOOP.charAt(0));
- prochainY3 = Character.getNumericValue(JBOOP.charAt(1));
- prochaineCouleur = "JAUNE";
- prochaineCouleur2 = "BLEU";
- prochaineCouleur3 = "ORANGE";
- Resolution = Resolution + JBOJ;
- //System.out.println(JBOJ);
- string_solv.add(JBOJ);
- paireimpaire++;
- }
- else if(Coin[3] != ""){
- prochainX = Character.getNumericValue(BOBlBP.charAt(0));
- prochainY = Character.getNumericValue(BOBlBP.charAt(1));
- prochainX2 = Character.getNumericValue(BOBlOP.charAt(0));
- prochainY2 = Character.getNumericValue(BOBlOP.charAt(1));
- prochainX3 = Character.getNumericValue(BOBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(BOBlBlP.charAt(1));
- prochaineCouleur = "BLEU";
- prochaineCouleur2 = "ORANGE";
- prochaineCouleur3 = "BLANC";
- Resolution = Resolution + BOBlB;
- //System.out.println(BOBlB);
- string_solv.add(BOBlB);
- paireimpaire++;
- }
- else if(Coin[4] != ""){
- prochainX = Character.getNumericValue(BRBlBP.charAt(0));
- prochainY = Character.getNumericValue(BRBlBP.charAt(1));
- prochainX2 = Character.getNumericValue(BRBlRP.charAt(0));
- prochainY2 = Character.getNumericValue(BRBlRP.charAt(1));
- prochainX3 = Character.getNumericValue(BRBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(BRBlBlP.charAt(1));
- prochaineCouleur = "BLEU";
- prochaineCouleur2 = "ROUGE";
- prochaineCouleur3 = "BLANC";
- Resolution = Resolution + BRBlB;
- //System.out.println(BRBlB);
- string_solv.add(BRBlB);
- paireimpaire++;
- }
- else if(Coin[5] != ""){
- prochainX = Character.getNumericValue(RVBlRP.charAt(0));
- prochainY = Character.getNumericValue(RVBlRP.charAt(1));
- prochainX2 = Character.getNumericValue(RVBlVP.charAt(0));
- prochainY2 = Character.getNumericValue(RVBlVP.charAt(1));
- prochainX3 = Character.getNumericValue(RVBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(RVBlBlP.charAt(1));
- prochaineCouleur = "ROUGE";
- prochaineCouleur2 = "VERT";
- prochaineCouleur3 = "BLANC";
- Resolution = Resolution + RVBlR;
- //System.out.println(RVBlR);
- string_solv.add(RVBlR);
- paireimpaire++;
- }
- else if(Coin[6] != ""){
- prochainX = Character.getNumericValue(VOBlVP.charAt(0));
- prochainY = Character.getNumericValue(VOBlVP.charAt(1));
- prochainX2 = Character.getNumericValue(VOBlOP.charAt(0));
- prochainY2 = Character.getNumericValue(VOBlOP.charAt(1));
- prochainX3 = Character.getNumericValue(VOBlBlP.charAt(0));
- prochainY3 = Character.getNumericValue(VOBlBlP.charAt(1));
- prochaineCouleur = "VERT";
- prochaineCouleur2 = "ORANGE";
- prochaineCouleur3 = "BLANC";
- Resolution = Resolution + VOBlV;
- //System.out.println(VOBlV);
- string_solv.add(VOBlV);
- paireimpaire++;
- }
- }
- }
- /*
- * WHILE POUR LES COINS BIEN PLACES
- */
- while(!(CoinOri.isEmpty())) {
- if(CoinOri.get(0) == "JRV") {
- Resolution = Resolution + JRVJ;
- //System.out.println(JRVJ);
- string_solv.add(JRVJ);
- if(FaceJaune[0][2] == CouleurEnum.ROUGE) {
- Resolution = Resolution + JRVR;
- //System.out.println(JRVR);
- string_solv.add(JRVR);
- }
- else if(FaceJaune[0][2] == CouleurEnum.VERT) {
- Resolution = Resolution + JRVV;
- //System.out.println(JRVV);
- string_solv.add(JRVV);
- }
- CoinOri.remove("JRV");
- }
- else if(CoinOri.get(0) == "JBR") {
- Resolution = Resolution + JBRJ;
- //System.out.println(JBRJ);
- string_solv.add(JBRJ);
- if(FaceJaune[2][2] == CouleurEnum.BLEU) {
- Resolution = Resolution + JBRB;
- //System.out.println(JBRB);
- string_solv.add(JBRB);
- }
- else if(FaceJaune[2][2] == CouleurEnum.ROUGE) {
- Resolution = Resolution + JBRR;
- //System.out.println(JBRR);
- string_solv.add(JBRR);
- }
- CoinOri.remove("JBR");
- }
- else if(CoinOri.get(0) == "JBO") {
- Resolution = Resolution + JBOJ;
- //System.out.println(JBOJ);
- string_solv.add(JBOJ);
- if(FaceJaune[2][0] == CouleurEnum.BLEU) {
- Resolution = Resolution + JBOB;
- //System.out.println(JBOB);
- string_solv.add(JBOB);
- }
- else if(FaceJaune[2][0] == CouleurEnum.ORANGE) {
- Resolution = Resolution + JBOO;
- //System.out.println(JBOO);
- string_solv.add(JBOO);
- }
- CoinOri.remove("JBO");
- }
- else if(CoinOri.get(0) == "BOBl") {
- Resolution = Resolution + BOBlBl;
- //System.out.println(BOBlBl);
- string_solv.add(BOBlBl);
- if(FaceBlanc[0][0] == CouleurEnum.BLEU) {
- Resolution = Resolution + BOBlB;
- //System.out.println(BOBlB);
- string_solv.add(BOBlB);
- }
- else if(FaceBlanc[0][0] == CouleurEnum.ORANGE) {
- Resolution = Resolution + BOBlO;
- //System.out.println(BOBlO);
- string_solv.add(BOBlO);
- }
- CoinOri.remove("BOBl");
- }
- else if(CoinOri.get(0) == "BRBl") {
- Resolution = Resolution + BRBlBl;
- //System.out.println(BRBlBl);
- string_solv.add(BRBlBl);
- if(FaceBlanc[0][2] == CouleurEnum.BLEU) {
- Resolution = Resolution + BRBlB;
- //System.out.println(BRBlB);
- string_solv.add(BRBlB);
- }
- else if(FaceBlanc[0][2] == CouleurEnum.ROUGE) {
- Resolution = Resolution + BRBlR;
- //System.out.println(BRBlR);
- string_solv.add(BRBlR);
- }
- CoinOri.remove("BRBl");
- }
- else if(CoinOri.get(0) == "RVBl") {
- Resolution = Resolution + RVBlBl;
- //System.out.println(RVBlBl);
- string_solv.add(RVBlBl);
- if(FaceBlanc[2][2] == CouleurEnum.ROUGE) {
- Resolution = Resolution + RVBlR;
- //System.out.println(RVBlR);
- string_solv.add(RVBlR);
- }
- else if(FaceBlanc[2][2] == CouleurEnum.VERT) {
- Resolution = Resolution + RVBlV;
- //System.out.println(RVBlV);
- string_solv.add(RVBlV);
- }
- CoinOri.remove("RVBl");
- }
- else if(CoinOri.get(0) == "VOBl") {
- Resolution = Resolution + VOBlBl;
- //System.out.println(VOBlBl);
- string_solv.add(VOBlBl);
- if(FaceBlanc[2][0] == CouleurEnum.VERT) {
- Resolution = Resolution + VOBlV;
- //System.out.println(VOBlV);
- string_solv.add(VOBlV);
- }
- else if(FaceBlanc[2][0] == CouleurEnum.ORANGE) {
- Resolution = Resolution + VOBlO;
- //System.out.println(VOBlO);
- string_solv.add(VOBlO);
- }
- CoinOri.remove("VOBl");
- }
- }
- cours = Resolution;
- /*
- *
- * ARETES
- *
- */
- /*
- * DETECTION DES ARETES DEJA BIEN PLACEES
- */
- if(JV.contient(CouleurEnum.JAUNE, CouleurEnum.VERT)) {
- if(!(JV.getCouleur(i1) == CouleurEnum.JAUNE && JV.getCouleur(i2) == CouleurEnum.VERT)) {
- ArreteOri.add("JV");
- Arrete[0] = "";
- }
- else {
- Arrete[0] = "";
- }
- }
- if(JB.contient(CouleurEnum.JAUNE, CouleurEnum.BLEU)) {
- if(!(JB.getCouleur(i1) == CouleurEnum.JAUNE && JB.getCouleur(i2) == CouleurEnum.BLEU)) {
- ArreteOri.add("JB");
- Arrete[1] = "";
- }
- else {
- Arrete[1] = "";
- }
- }
- if(JO.contient(CouleurEnum.JAUNE, CouleurEnum.ORANGE)) {
- if(!(JO.getCouleur(i1) == CouleurEnum.JAUNE && JO.getCouleur(i2) == CouleurEnum.ORANGE)) {
- ArreteOri.add("JO");
- Arrete[2] = "";
- }
- else {
- Arrete[2] = "";
- }
- }
- if(VO.contient(CouleurEnum.VERT, CouleurEnum.ORANGE)) {
- if(!(VO.getCouleur(i1) == CouleurEnum.VERT && VO.getCouleur(i2) == CouleurEnum.ORANGE)) {
- ArreteOri.add("VO");
- Arrete[3] = "";
- }
- else {
- Arrete[3] = "";
- }
- }
- if(RV.contient(CouleurEnum.ROUGE, CouleurEnum.VERT)) {
- if(!(RV.getCouleur(i1) == CouleurEnum.ROUGE && RV.getCouleur(i2) == CouleurEnum.VERT)) {
- ArreteOri.add("RV");
- Arrete[4] = "";
- }
- else {
- Arrete[4] = "";
- }
- }
- if(BR.contient(CouleurEnum.BLEU, CouleurEnum.ROUGE)) {
- if(!(BR.getCouleur(i1) == CouleurEnum.BLEU && BR.getCouleur(i2) == CouleurEnum.ROUGE)) {
- ArreteOri.add("BR");
- Arrete[5] = "";
- }
- else {
- Arrete[5] = "";
- }
- }
- if(BO.contient(CouleurEnum.BLEU, CouleurEnum.ORANGE)) {
- if(!(BO.getCouleur(i1) == CouleurEnum.BLEU && BO.getCouleur(i2) == CouleurEnum.ORANGE)) {
- ArreteOri.add("BO");
- Arrete[6] = "";
- }
- else {
- Arrete[6] = "";
- }
- }
- if(BBl.contient(CouleurEnum.BLEU, CouleurEnum.BLANC)) {
- if(!(BBl.getCouleur(i1) == CouleurEnum.BLEU && BBl.getCouleur(i2) == CouleurEnum.BLANC)) {
- ArreteOri.add("BBl");
- Arrete[7] = "";
- }
- else {
- Arrete[7] = "";
- }
- }
- if(RBl.contient(CouleurEnum.ROUGE, CouleurEnum.BLANC)) {
- if(!(RBl.getCouleur(i1) == CouleurEnum.ROUGE && RBl.getCouleur(i2) == CouleurEnum.BLANC)) {
- ArreteOri.add("RBl");
- Arrete[8] = "";
- }
- else {
- Arrete[8] = "";
- }
- }
- if(VBl.contient(CouleurEnum.VERT, CouleurEnum.BLANC)) {
- if(!(VBl.getCouleur(i1) == CouleurEnum.VERT && VBl.getCouleur(i2) == CouleurEnum.BLANC)) {
- ArreteOri.add("VBl");
- Arrete[9] = "";
- }
- else {
- Arrete[9] = "";
- }
- }
- if(OBl.contient(CouleurEnum.ORANGE, CouleurEnum.BLANC)) {
- if(!(OBl.getCouleur(i1) == CouleurEnum.ORANGE && OBl.getCouleur(i2) == CouleurEnum.BLANC)) {
- ArreteOri.add("OBl");
- Arrete[10] = "";
- }
- else {
- Arrete[10] = "";
- }
- }
- Arete BufferA = new Arete();
- /*
- * CAS DU NOMBRE DE MOUVEMENTS DE COIN IMPAIRE
- */
- if(paireimpaire % 2 != 0){
- Resolution = Resolution + PLLRP;
- //System.out.println(PLLRP);
- string_solv.add(PLLRP);
- }
- /*
- * WHILE POUR LES ARRETES MAL PLACEES
- */
- while(!(Arrete[0] == "" && Arrete[1] == "" && Arrete[2] == "" && Arrete[3] == "" && Arrete[4] == "" && Arrete[5] == "" && Arrete[6] == "" && Arrete[7] == "" && Arrete[8] == "" && Arrete[9] == "" && Arrete[10] == "" )) {
- /*
- * CHOIX PREMIERE FACE A CHECK
- */
- if(prochaineCouleurA == "JAUNE") {
- BufferA.setCouleur(i1, FaceJaune[prochainXA][prochainYA]);
- TabRef = FaceJaune;
- }
- else if(prochaineCouleurA == "BLEU") {
- BufferA.setCouleur(i1, FaceBleu[prochainXA][prochainYA]);
- TabRef = FaceBleu;
- }
- else if(prochaineCouleurA == "ROUGE") {
- BufferA.setCouleur(i1, FaceRouge[prochainXA][prochainYA]);
- TabRef = FaceRouge;
- }
- else if(prochaineCouleurA == "VERT") {
- BufferA.setCouleur(i1, FaceVert[prochainXA][prochainYA]);
- TabRef = FaceVert;
- }
- else if(prochaineCouleurA == "ORANGE") {
- BufferA.setCouleur(i1, FaceOrange[prochainXA][prochainYA]);
- TabRef = FaceOrange;
- }
- else if(prochaineCouleurA == "BLANC") {
- BufferA.setCouleur(i1, FaceBlanc[prochainXA][prochainYA]);
- TabRef = FaceBlanc;
- }
- /*
- * CHOIX DEUXIEME FACE A CHECK
- */
- if(prochaineCouleur2A == "JAUNE") {
- BufferA.setCouleur(i2, FaceJaune[prochainX2A][prochainY2A]);
- }
- else if(prochaineCouleur2A == "BLEU") {
- BufferA.setCouleur(i2, FaceBleu[prochainX2A][prochainY2A]);
- }
- else if(prochaineCouleur2A == "ROUGE") {
- BufferA.setCouleur(i2, FaceRouge[prochainX2A][prochainY2A]);
- }
- else if(prochaineCouleur2A == "VERT") {
- BufferA.setCouleur(i2, FaceVert[prochainX2A][prochainY2A]);
- }
- else if(prochaineCouleur2A == "ORANGE") {
- BufferA.setCouleur(i2, FaceOrange[prochainX2A][prochainY2A]);
- }
- else if(prochaineCouleur2A == "BLANC") {
- BufferA.setCouleur(i2, FaceBlanc[prochainX2A][prochainY2A]);
- }
- /*
- * CAS DE L'ARETE JV
- */
- if(BufferA.contient(CouleurEnum.JAUNE,CouleurEnum.VERT)) {
- //System.out.println("JV");
- if(Arrete[0] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.JAUNE) {
- Resolution = Resolution + JVJ;
- //System.out.println(JVJ);
- string_solv.add("JVJ");
- string_solv.add(JVJ);
- prochainXA = Character.getNumericValue(JVJP.charAt(0));
- prochainYA = Character.getNumericValue(JVJP.charAt(1));
- prochainX2A = Character.getNumericValue(JVVP.charAt(0));
- prochainY2A = Character.getNumericValue(JVVP.charAt(1));
- prochaineCouleurA = "JAUNE";
- prochaineCouleur2A = "VERT";
- Arrete[0] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.VERT) {
- Resolution = Resolution + JVV;
- //System.out.println(JVV);
- string_solv.add("JVV");
- string_solv.add(JVV);
- prochainXA = Character.getNumericValue(JVVP.charAt(0));
- prochainYA = Character.getNumericValue(JVVP.charAt(1));
- prochainX2A = Character.getNumericValue(JVJP.charAt(0));
- prochainY2A = Character.getNumericValue(JVJP.charAt(1));
- prochaineCouleurA = "VERT";
- prochaineCouleur2A = "JAUNE";
- Arrete[0] = "";
- }
- }
- /*
- * CAS DE L'ARETE JB
- */
- else if(BufferA.contient(CouleurEnum.JAUNE,CouleurEnum.BLEU)) {
- //System.out.println("JB");
- if(Arrete[1] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.JAUNE) {
- Resolution = Resolution + JBJ;
- //System.out.println(JBJ);
- string_solv.add("JBJ");
- string_solv.add(JBJ);
- prochainXA = Character.getNumericValue(JBJP.charAt(0));
- prochainYA = Character.getNumericValue(JBJP.charAt(1));
- prochainX2A = Character.getNumericValue(JBBP.charAt(0));
- prochainY2A = Character.getNumericValue(JBBP.charAt(1));
- prochaineCouleurA = "JAUNE";
- prochaineCouleur2A = "BLEU";
- Arrete[1] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.BLEU) {
- Resolution = Resolution + JBB;
- //System.out.println(JBB);
- string_solv.add("JBB");
- string_solv.add(JBB);
- prochainXA = Character.getNumericValue(JBBP.charAt(0));
- prochainYA = Character.getNumericValue(JBBP.charAt(1));
- prochainX2A = Character.getNumericValue(JBJP.charAt(0));
- prochainY2A = Character.getNumericValue(JBJP.charAt(1));
- prochaineCouleurA = "BLEU";
- prochaineCouleur2A = "JAUNE";
- Arrete[1] = "";
- }
- }
- /*
- * CAS DE L'ARETE JO
- */
- else if(BufferA.contient(CouleurEnum.JAUNE,CouleurEnum.ORANGE)) {
- //System.out.println("JO");
- if(Arrete[2] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.JAUNE) {
- Resolution = Resolution + JOJ;
- //System.out.println(JOJ);
- string_solv.add("JOJ");
- string_solv.add(JOJ);
- prochainXA = Character.getNumericValue(JOJP.charAt(0));
- prochainYA = Character.getNumericValue(JOJP.charAt(1));
- prochainX2A = Character.getNumericValue(JOOP.charAt(0));
- prochainY2A = Character.getNumericValue(JOOP.charAt(1));
- prochaineCouleurA = "JAUNE";
- prochaineCouleur2A = "ORANGE";
- Arrete[2] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.ORANGE) {
- Resolution = Resolution + JOO;
- //System.out.println(JOO);
- string_solv.add("JOO");
- string_solv.add(JOO);
- prochainXA = Character.getNumericValue(JOOP.charAt(0));
- prochainYA = Character.getNumericValue(JOOP.charAt(1));
- prochainX2A = Character.getNumericValue(JOJP.charAt(0));
- prochainY2A = Character.getNumericValue(JOJP.charAt(1));
- prochaineCouleurA = "ORANGE";
- prochaineCouleur2A = "JAUNE";
- Arrete[2] = "";
- }
- }
- /*
- * CAS DE L'ARETE JO
- */
- else if(BufferA.contient(CouleurEnum.VERT,CouleurEnum.ORANGE)) {
- //System.out.println("VO");
- if(Arrete[3] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.VERT) {
- Resolution = Resolution + VOV;
- //System.out.println(VOV);
- string_solv.add("VOV");
- string_solv.add(VOV);
- prochainXA = Character.getNumericValue(VOVP.charAt(0));
- prochainYA = Character.getNumericValue(VOVP.charAt(1));
- prochainX2A = Character.getNumericValue(VOOP.charAt(0));
- prochainY2A = Character.getNumericValue(VOOP.charAt(1));
- prochaineCouleurA = "VERT";
- prochaineCouleur2A = "ORANGE";
- Arrete[3] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.ORANGE) {
- Resolution = Resolution + VOO;
- //System.out.println(VOO);
- string_solv.add("VOO");
- string_solv.add(VOO);
- prochainXA = Character.getNumericValue(VOOP.charAt(0));
- prochainYA = Character.getNumericValue(VOOP.charAt(1));
- prochainX2A = Character.getNumericValue(VOVP.charAt(0));
- prochainY2A = Character.getNumericValue(VOVP.charAt(1));
- prochaineCouleurA = "ORANGE";
- prochaineCouleur2A = "VERT";
- Arrete[3] = "";
- }
- }
- else if(BufferA.contient(CouleurEnum.ROUGE,CouleurEnum.VERT)) {
- //System.out.println("RV");
- if(Arrete[4] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.ROUGE) {
- Resolution = Resolution + RVR;
- //System.out.println(RVR);
- string_solv.add("RVR");
- string_solv.add(RVR);
- prochainXA = Character.getNumericValue(RVRP.charAt(0));
- prochainYA = Character.getNumericValue(RVRP.charAt(1));
- prochainX2A = Character.getNumericValue(RVVP.charAt(0));
- prochainY2A = Character.getNumericValue(RVVP.charAt(1));
- prochaineCouleurA = "ROUGE";
- prochaineCouleur2A = "VERT";
- Arrete[4] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.VERT) {
- Resolution = Resolution + RVV;
- //System.out.println(RVV);
- string_solv.add("RVV");
- string_solv.add(RVV);
- prochainXA = Character.getNumericValue(RVVP.charAt(0));
- prochainYA = Character.getNumericValue(RVVP.charAt(1));
- prochainX2A = Character.getNumericValue(RVRP.charAt(0));
- prochainY2A = Character.getNumericValue(RVRP.charAt(1));
- prochaineCouleurA = "VERT";
- prochaineCouleur2A = "ROUGE";
- Arrete[4] = "";
- }
- }
- else if(BufferA.contient(CouleurEnum.BLEU,CouleurEnum.ROUGE)) {
- //System.out.println("BR");
- if(Arrete[5] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.BLEU) {
- Resolution = Resolution + BRB;
- //System.out.println(BRB);
- string_solv.add("BRB");
- string_solv.add(BRB);
- prochainXA = Character.getNumericValue(BRBP.charAt(0));
- prochainYA = Character.getNumericValue(BRBP.charAt(1));
- prochainX2A = Character.getNumericValue(BRRP.charAt(0));
- prochainY2A = Character.getNumericValue(BRRP.charAt(1));
- prochaineCouleurA = "BLEU";
- prochaineCouleur2A = "ROUGE";
- Arrete[5] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.ROUGE) {
- Resolution = Resolution + BRR;
- //System.out.println(BRR);
- string_solv.add("BRR");
- string_solv.add(BRR);
- prochainXA = Character.getNumericValue(BRRP.charAt(0));
- prochainYA = Character.getNumericValue(BRRP.charAt(1));
- prochainX2A = Character.getNumericValue(BRBP.charAt(0));
- prochainY2A = Character.getNumericValue(BRBP.charAt(1));
- prochaineCouleurA = "ROUGE";
- prochaineCouleur2A = "BLEU";
- Arrete[5] = "";
- }
- }
- else if(BufferA.contient(CouleurEnum.BLEU,CouleurEnum.ORANGE)) {
- //System.out.println("BO");
- if(Arrete[6] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.BLEU) {
- Resolution = Resolution + BOB;
- //System.out.println(BOB);
- string_solv.add("BOB");
- string_solv.add(BOB);
- prochainXA = Character.getNumericValue(BOBP.charAt(0));
- prochainYA = Character.getNumericValue(BOBP.charAt(1));
- prochainX2A = Character.getNumericValue(BOOP.charAt(0));
- prochainY2A = Character.getNumericValue(BOOP.charAt(1));
- prochaineCouleurA = "BLEU";
- prochaineCouleur2A = "ORANGE";
- Arrete[6] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.ORANGE) {
- Resolution = Resolution + BOO;
- //System.out.println(BOO);
- string_solv.add("BOO");
- string_solv.add(BOO);
- prochainXA = Character.getNumericValue(BOOP.charAt(0));
- prochainYA = Character.getNumericValue(BOOP.charAt(1));
- prochainX2A = Character.getNumericValue(BOBP.charAt(0));
- prochainY2A = Character.getNumericValue(BOBP.charAt(1));
- prochaineCouleurA = "ORANGE";
- prochaineCouleur2A = "BLEU";
- Arrete[6] = "";
- }
- }
- else if(BufferA.contient(CouleurEnum.BLEU,CouleurEnum.BLANC)) {
- //System.out.println("BBl");
- if(Arrete[7] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.BLEU) {
- Resolution = Resolution + BBlB;
- //System.out.println(BBlB);
- string_solv.add("BBlB");
- string_solv.add(BBlB);
- prochainXA = Character.getNumericValue(BBlBP.charAt(0));
- prochainYA = Character.getNumericValue(BBlBP.charAt(1));
- prochainX2A = Character.getNumericValue(BBlBlP.charAt(0));
- prochainY2A = Character.getNumericValue(BBlBlP.charAt(1));
- prochaineCouleurA = "BLEU";
- prochaineCouleur2A = "BLANC";
- Arrete[7] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.BLANC) {
- Resolution = Resolution + BBlBl;
- //System.out.println(BBlBl);
- string_solv.add("BBlBl");
- string_solv.add(BBlBl);
- prochainXA = Character.getNumericValue(BBlBlP.charAt(0));
- prochainYA = Character.getNumericValue(BBlBlP.charAt(1));
- prochainX2A = Character.getNumericValue(BBlBP.charAt(0));
- prochainY2A = Character.getNumericValue(BBlBP.charAt(1));
- prochaineCouleurA = "BLANC";
- prochaineCouleur2A = "BLEU";
- Arrete[7] = "";
- }
- }
- else if(BufferA.contient(CouleurEnum.ROUGE,CouleurEnum.BLANC)) {
- //System.out.println("RBl");
- if(Arrete[8] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.ROUGE) {
- Resolution = Resolution + RBlR;
- //System.out.println(RBlR);
- string_solv.add("RBlR");
- string_solv.add(RBlR);
- prochainXA = Character.getNumericValue(RBlRP.charAt(0));
- prochainYA = Character.getNumericValue(RBlRP.charAt(1));
- prochainX2A = Character.getNumericValue(RBlBlP.charAt(0));
- prochainY2A = Character.getNumericValue(RBlBlP.charAt(1));
- prochaineCouleurA = "ROUGE";
- prochaineCouleur2A = "BLANC";
- Arrete[8] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.BLANC) {
- Resolution = Resolution + RBlBl;
- //System.out.println(RBlBl);
- string_solv.add("RBBl");
- string_solv.add(RBlBl);
- prochainXA = Character.getNumericValue(RBlBlP.charAt(0));
- prochainYA = Character.getNumericValue(RBlBlP.charAt(1));
- prochainX2A = Character.getNumericValue(RBlRP.charAt(0));
- prochainY2A = Character.getNumericValue(RBlRP.charAt(1));
- prochaineCouleurA = "BLANC";
- prochaineCouleur2A = "ROUGE";
- Arrete[8] = "";
- }
- }
- else if(BufferA.contient(CouleurEnum.VERT,CouleurEnum.BLANC)) {
- //System.out.println("VBl");
- if(Arrete[9] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.VERT) {
- Resolution = Resolution + VBlV;
- //System.out.println(VBlV);
- string_solv.add("VBlV");
- string_solv.add(VBlV);
- prochainXA = Character.getNumericValue(VBlVP.charAt(0));
- prochainYA = Character.getNumericValue(VBlVP.charAt(1));
- prochainX2A = Character.getNumericValue(VBlBlP.charAt(0));
- prochainY2A = Character.getNumericValue(VBlBlP.charAt(1));
- prochaineCouleurA = "VERT";
- prochaineCouleur2A = "BLANC";
- Arrete[9] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.BLANC) {
- Resolution = Resolution + VBlBl;
- //System.out.println(VBlBl);
- string_solv.add("VBlBl");
- string_solv.add(VBlBl);
- prochainXA = Character.getNumericValue(VBlBlP.charAt(0));
- prochainYA = Character.getNumericValue(VBlBlP.charAt(1));
- prochainX2A = Character.getNumericValue(VBlVP.charAt(0));
- prochainY2A = Character.getNumericValue(VBlVP.charAt(1));
- prochaineCouleurA = "BLANC";
- prochaineCouleur2A = "VERT";
- Arrete[9] = "";
- }
- }
- else if(BufferA.contient(CouleurEnum.ORANGE,CouleurEnum.BLANC)) {
- //System.out.println("OBl");
- if(Arrete[10] == ""){
- BooJR = true;
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.ORANGE) {
- Resolution = Resolution + OBlO;
- //System.out.println(OBlO);
- string_solv.add("OBlO");
- string_solv.add(OBlO);
- prochainXA = Character.getNumericValue(OBlOP.charAt(0));
- prochainYA = Character.getNumericValue(OBlOP.charAt(1));
- prochainX2A = Character.getNumericValue(OBlBlP.charAt(0));
- prochainY2A = Character.getNumericValue(OBlBlP.charAt(1));
- prochaineCouleurA = "ORANGE";
- prochaineCouleur2A = "BLANC";
- Arrete[10] = "";
- }
- else if(TabRef[prochainXA][prochainYA] == CouleurEnum.BLANC) {
- Resolution = Resolution + OBlBl;
- //System.out.println(OBlBl);
- string_solv.add("OBlBl");
- string_solv.add(OBlBl);
- prochainXA = Character.getNumericValue(OBlBlP.charAt(0));
- prochainYA = Character.getNumericValue(OBlBlP.charAt(1));
- prochainX2A = Character.getNumericValue(OBlOP.charAt(0));
- prochainY2A = Character.getNumericValue(OBlOP.charAt(1));
- prochaineCouleurA = "BLANC";
- prochaineCouleur2A = "ORANGE";
- Arrete[10] = "";
- }
- }
- /*
- * CAS DU COIN JR
- */
- if(BufferA.contient(CouleurEnum.JAUNE,CouleurEnum.ROUGE) || BooJR == true) {
- BooJR = false;
- //System.out.println("JR");
- if(Arrete[0] != ""){
- prochainXA = Character.getNumericValue(JVJP.charAt(0));
- prochainYA = Character.getNumericValue(JVJP.charAt(1));
- prochainX2A = Character.getNumericValue(JVVP.charAt(0));
- prochainY2A = Character.getNumericValue(JVVP.charAt(1));
- prochaineCouleurA = "JAUNE";
- prochaineCouleur2A = "VERT";
- Resolution = Resolution + JVJ;
- //System.out.println(JVJ);
- string_solv.add(JVJ);
- }
- else if(Arrete[1] != ""){
- prochainXA = Character.getNumericValue(JBJP.charAt(0));
- prochainYA = Character.getNumericValue(JBJP.charAt(1));
- prochainX2A = Character.getNumericValue(JBBP.charAt(0));
- prochainY2A = Character.getNumericValue(JBBP.charAt(1));
- prochaineCouleurA = "JAUNE";
- prochaineCouleur2A = "BLEU";
- Resolution = Resolution + JBJ;
- //System.out.println(JBJ);
- string_solv.add(JBJ);
- }
- else if(Arrete[2] != ""){
- prochainXA = Character.getNumericValue(JOJP.charAt(0));
- prochainYA = Character.getNumericValue(JOJP.charAt(1));
- prochainX2A = Character.getNumericValue(JOOP.charAt(0));
- prochainY2A = Character.getNumericValue(JOOP.charAt(1));
- prochaineCouleurA = "JAUNE";
- prochaineCouleur2A = "ORANGE";
- Resolution = Resolution + JOJ;
- //System.out.println(JOJ);
- string_solv.add(JOJ);
- }
- else if(Arrete[3] != ""){
- prochainXA = Character.getNumericValue(VOVP.charAt(0));
- prochainYA = Character.getNumericValue(VOVP.charAt(1));
- prochainX2A = Character.getNumericValue(VOOP.charAt(0));
- prochainY2A = Character.getNumericValue(VOOP.charAt(1));
- prochaineCouleurA = "VERT";
- prochaineCouleur2A = "ORANGE";
- Resolution = Resolution + VOV;
- //System.out.println(VOV);
- string_solv.add(VOV);
- }
- else if(Arrete[4] != ""){
- prochainXA = Character.getNumericValue(RVRP.charAt(0));
- prochainYA = Character.getNumericValue(RVRP.charAt(1));
- prochainX2A = Character.getNumericValue(RVVP.charAt(0));
- prochainY2A = Character.getNumericValue(RVVP.charAt(1));
- prochaineCouleurA = "ROUGE";
- prochaineCouleur2A = "VERT";
- Resolution = Resolution + RVR;
- //System.out.println(RVR);
- string_solv.add(RVR);
- }
- else if(Arrete[5] != ""){
- prochainXA = Character.getNumericValue(BRBP.charAt(0));
- prochainYA = Character.getNumericValue(BRBP.charAt(1));
- prochainX2A = Character.getNumericValue(BRRP.charAt(0));
- prochainY2A = Character.getNumericValue(BRRP.charAt(1));
- prochaineCouleurA = "BLEU";
- prochaineCouleur2A = "ROUGE";
- Resolution = Resolution + BRB;
- //System.out.println(BRB);
- string_solv.add(BRB);
- }
- else if(Arrete[6] != ""){
- prochainXA = Character.getNumericValue(BOBP.charAt(0));
- prochainYA = Character.getNumericValue(BOBP.charAt(1));
- prochainX2A = Character.getNumericValue(BOOP.charAt(0));
- prochainY2A = Character.getNumericValue(BOOP.charAt(1));
- prochaineCouleurA = "BLEU";
- prochaineCouleur2A = "ORANGE";
- Resolution = Resolution + BOB;
- //System.out.println(BOB);
- string_solv.add(BOB);
- }
- else if(Arrete[7] != ""){
- prochainXA = Character.getNumericValue(BBlBP.charAt(0));
- prochainYA = Character.getNumericValue(BBlBP.charAt(1));
- prochainX2A = Character.getNumericValue(BBlBlP.charAt(0));
- prochainY2A = Character.getNumericValue(BBlBlP.charAt(1));
- prochaineCouleurA = "BLEU";
- prochaineCouleur2A = "BLANC";
- Resolution = Resolution + BBlB;
- //System.out.println(BBlB);
- string_solv.add(BBlB);
- }
- else if(Arrete[8] != ""){
- prochainXA = Character.getNumericValue(RBlRP.charAt(0));
- prochainYA = Character.getNumericValue(RBlRP.charAt(1));
- prochainX2A = Character.getNumericValue(RBlBlP.charAt(0));
- prochainY2A = Character.getNumericValue(RBlBlP.charAt(1));
- prochaineCouleurA = "ROUGE";
- prochaineCouleur2A = "BLANC";
- Resolution = Resolution + RBlR;
- //System.out.println(RBlR);
- string_solv.add(RBlR);
- }
- else if(Arrete[9] != ""){
- prochainXA = Character.getNumericValue(VBlVP.charAt(0));
- prochainYA = Character.getNumericValue(VBlVP.charAt(1));
- prochainX2A = Character.getNumericValue(VBlBlP.charAt(0));
- prochainY2A = Character.getNumericValue(VBlBlP.charAt(1));
- prochaineCouleurA = "VERT";
- prochaineCouleur2A = "BLANC";
- Resolution = Resolution + VBlV;
- //System.out.println(VBlV);
- string_solv.add(VBlV);
- }
- else if(Arrete[10] != ""){
- prochainXA = Character.getNumericValue(OBlOP.charAt(0));
- prochainYA = Character.getNumericValue(OBlOP.charAt(1));
- prochainX2A = Character.getNumericValue(OBlBlP.charAt(0));
- prochainY2A = Character.getNumericValue(OBlBlP.charAt(1));
- prochaineCouleurA = "ORANGE";
- prochaineCouleur2A = "BLANC";
- Resolution = Resolution + OBlO;
- //System.out.println(OBlO);
- string_solv.add(OBlO);
- }
- }
- }
- /*
- * WHILE POUR LES ARETES BIEN PLACEES
- */
- while(!(ArreteOri.isEmpty())){
- if(ArreteOri.get(0) == "JV"){
- Resolution = Resolution + JVF;
- //System.out.println(JVF);
- string_solv.add(JVF);
- ArreteOri.remove("JV");
- }
- else if(ArreteOri.get(0) == "JB"){
- Resolution = Resolution + JBF;
- //System.out.println(JBF);
- string_solv.add(JBF);
- ArreteOri.remove("JB");
- }
- else if(ArreteOri.get(0) == "JO"){
- Resolution = Resolution + JOF;
- //System.out.println(JOF);
- string_solv.add(JOF);
- ArreteOri.remove("JO");
- }
- else if(ArreteOri.get(0) == "VO"){
- Resolution = Resolution + VOF;
- //System.out.println(VOF);
- string_solv.add(VOF);
- ArreteOri.remove("VO");
- }
- else if(ArreteOri.get(0) == "RV"){
- Resolution = Resolution + RVF;
- //System.out.println(RVF);
- string_solv.add(RVF);
- ArreteOri.remove("RV");
- }
- else if(ArreteOri.get(0) == "BR"){
- Resolution = Resolution + BRF;
- //System.out.println(BRF);
- string_solv.add(BRF);
- ArreteOri.remove("BR");
- }
- else if(ArreteOri.get(0) == "BO"){
- Resolution = Resolution + BOF;
- //System.out.println(BOF);
- string_solv.add(BOF);
- ArreteOri.remove("BO");
- }
- else if(ArreteOri.get(0) == "BBl"){
- Resolution = Resolution + BBlF;
- //System.out.println(BBlF);
- string_solv.add(BBlF);
- ArreteOri.remove("BBl");
- }
- else if(ArreteOri.get(0) == "RBl"){
- Resolution = Resolution + RBlF;
- //System.out.println(RBlF);
- string_solv.add(RBlF);
- ArreteOri.remove("RBl");
- }
- else if(ArreteOri.get(0) == "VBl"){
- Resolution = Resolution + VBlF;
- //System.out.println(VBlF);
- string_solv.add(VBlF);
- ArreteOri.remove("VBl");
- }
- else if(ArreteOri.get(0) == "OBl"){
- Resolution = Resolution + OBlF;
- //System.out.println(OBlF);
- string_solv.add(OBlF);
- ArreteOri.remove("OBl");
- }
- }
- /*
- *
- * TRANSFORMATION/OPTIMISATION
- *
- */
- /*
- * TRANSFORMATION
- */
- arduinoResolution = convert(Resolution);
- /*
- * OPTIMISATION
- */
- optiResolution = optimize(arduinoResolution) + '/';
- if(i == 0) {
- System.out.println(optiResolution.length());
- reducResolution = optiResolution;
- }
- if(optiResolution.length() < reducResolution.length()) {
- reducResolution = optiResolution;
- reducResolution1 = Resolution;
- reducResolution2 = arduinoResolution;
- final_cours = cours;
- fin_optiMov = optiMov;
- fin_string_solv = string_solv;
- System.out.println(optiMov);
- System.out.println(fin_string_solv);
- }
- string_solv.clear();
- BooJVO = false;
- BooJR = false;
- Resolution = "";
- arduinoResolution = "";
- optiResolution = "";
- optiInt = 0;
- prochaineCouleur = "JAUNE";
- prochaineCouleur2 = "VERT";
- prochaineCouleur3 = "ORANGE";
- prochainX = 0;
- prochainY = 0;
- prochainX2 = 0;
- prochainY2 = 2;
- prochainX3 = 0;
- prochainY3 = 0;
- Coin[0] = "JRV";
- Coin[1] = "JBR";
- Coin[2] = "JBO";
- Coin[3] = "BOBl";
- Coin[4] = "BRBl";
- Coin[5] = "RVBl";
- Coin[6] = "VOBl";
- CoinOri.clear();
- prochaineCouleurA = "JAUNE";
- prochaineCouleur2A = "ROUGE";
- prochainXA = 1;
- prochainYA = 2;
- prochainX2A = 0;
- prochainY2A = 1;
- Arrete[0] = "JV";
- Arrete[1] = "JB";
- Arrete[2] = "JO";
- Arrete[3] = "VO";
- Arrete[4] = "RV";
- Arrete[5] = "BR";
- Arrete[6] = "BO";
- Arrete[7] = "BBl";
- Arrete[8] = "RBl";
- Arrete[9] = "VBl";
- Arrete[10] = "OBl";
- ArreteOri.clear();
- i1 = 1;
- i2 = 2;
- i3 = 3;
- paireimpaire = 0;
- test = 0;
- }
- optiMov = "";
- face_rot = 0;
- mul_face_rot = 0;
- /*
- *
- * INITIALISATION DE LA CONNECTION
- *
- */
- SerialPort[] computerPorts = SerialPort.getCommPorts();
- SerialPort selectedPort = null;
- for (SerialPort p : computerPorts) {
- if (p.getSystemPortName().equals("COM3")) {
- selectedPort = p;
- }
- }
- if (selectedPort == null) {
- return;
- }
- else if (selectedPort.openPort()) {
- System.out.println(selectedPort.getSystemPortName() + " s'est ouvert correctement");
- }
- else {
- System.out.println(selectedPort.getSystemPortName() + " n'a pas réussi à s'ouvrir");
- return;
- }
- pw = new PrintWriter(selectedPort.getOutputStream());
- try {
- Thread.sleep(3000);
- } catch (InterruptedException e2) {
- e2.printStackTrace();
- }
- /*
- *
- * ENVOI
- *
- */
- System.out.println(fin_string_solv);
- System.out.println(fin_optiMov);
- System.out.println(final_cours.length());
- System.out.println(reducResolution1);
- System.out.println(reducResolution2);
- reducResolution = fin_optiMov + reducResolution;
- System.out.println(reducResolution);
- int lastChar = reducResolution.length();
- System.out.println(lastChar);
- for(int y = 0; y < reducResolution.length(); y++) {
- pw.write(reducResolution.charAt(y));
- pw.flush();
- try {
- Thread.sleep(1);
- } catch (InterruptedException e1) {
- e1.printStackTrace();
- }
- }
- selectedPort.closePort();
- //System.out.println("Resolution envoyée");
- }
- }
- public static BufferedImage Mat2BufferedImage(Mat m) {
- //source: http://answers.opencv.org/question/10344/opencv-java-load-image-to-gui/
- //Fastest code
- //The output can be assigned either to a BufferedImage or to an Image
- int type = BufferedImage.TYPE_BYTE_GRAY;
- if ( m.channels() > 1 ) {
- type = BufferedImage.TYPE_3BYTE_BGR;
- }
- int bufferSize = m.channels()*m.cols()*m.rows();
- byte [] b = new byte[bufferSize];
- m.get(0,0,b); // get all the pixels
- BufferedImage image = new BufferedImage(m.cols(),m.rows(), type);
- final byte[] targetPixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
- System.arraycopy(b, 0, targetPixels, 0, b.length);
- return image;
- }
- /*
- * R
- */
- public void RMove () {
- CouleurEnum buffer = null;
- buffer = FaceJaune[2][2];
- FaceJaune[2][2] = FaceBleu[2][2];
- FaceBleu[2][2] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceVert[0][0];
- FaceVert[0][0] = buffer;
- buffer = FaceJaune[1][2];
- FaceJaune[1][2] = FaceBleu[1][2];
- FaceBleu[1][2] = FaceBlanc[1][2];
- FaceBlanc[1][2] = FaceVert[1][0];
- FaceVert[1][0] = buffer;
- buffer = FaceJaune[0][2];
- FaceJaune[0][2] = FaceBleu[0][2];
- FaceBleu[0][2] = FaceBlanc[0][2];
- FaceBlanc[0][2] = FaceVert[2][0];
- FaceVert[2][0] = buffer;
- buffer = FaceRouge[0][0];
- FaceRouge[0][0] = FaceRouge[2][0];
- FaceRouge[2][0] = FaceRouge[2][2];
- FaceRouge[2][2] = FaceRouge[0][2];
- FaceRouge[0][2] = buffer;
- buffer = FaceRouge[0][1];
- FaceRouge[0][1] = FaceRouge[1][0];
- FaceRouge[1][0] = FaceRouge[2][1];
- FaceRouge[2][1] = FaceRouge[1][2];
- FaceRouge[1][2] = buffer;
- }
- /*
- * R'
- */
- public void RPMove () {
- CouleurEnum buffer = null;
- buffer = FaceJaune[2][2];
- FaceJaune[2][2] = FaceVert[0][0];
- FaceVert[0][0] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceBleu[2][2];
- FaceBleu[2][2] = buffer;
- buffer = FaceJaune[1][2];
- FaceJaune[1][2] = FaceVert[1][0];
- FaceVert[1][0] = FaceBlanc[1][2];
- FaceBlanc[1][2] = FaceBleu[1][2];
- FaceBleu[1][2] = buffer;
- buffer = FaceJaune[0][2];
- FaceJaune[0][2] = FaceVert[2][0];
- FaceVert[2][0] = FaceBlanc[0][2];
- FaceBlanc[0][2] = FaceBleu[0][2];
- FaceBleu[0][2] = buffer;
- buffer = FaceRouge[0][0];
- FaceRouge[0][0] = FaceRouge[0][2];
- FaceRouge[0][2] = FaceRouge[2][2];
- FaceRouge[2][2] = FaceRouge[2][0];
- FaceRouge[2][0] = buffer;
- buffer = FaceRouge[0][1];
- FaceRouge[0][1] = FaceRouge[1][2];
- FaceRouge[1][2] = FaceRouge[2][1];
- FaceRouge[2][1] = FaceRouge[1][0];
- FaceRouge[1][0] = buffer;
- }
- public void R2Move() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[2][2];
- FaceJaune[2][2] = FaceBleu[2][2];
- FaceBleu[2][2] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceVert[0][0];
- FaceVert[0][0] = buffer;
- buffer = FaceJaune[1][2];
- FaceJaune[1][2] = FaceBleu[1][2];
- FaceBleu[1][2] = FaceBlanc[1][2];
- FaceBlanc[1][2] = FaceVert[1][0];
- FaceVert[1][0] = buffer;
- buffer = FaceJaune[0][2];
- FaceJaune[0][2] = FaceBleu[0][2];
- FaceBleu[0][2] = FaceBlanc[0][2];
- FaceBlanc[0][2] = FaceVert[2][0];
- FaceVert[2][0] = buffer;
- buffer = FaceRouge[0][0];
- FaceRouge[0][0] = FaceRouge[2][0];
- FaceRouge[2][0] = FaceRouge[2][2];
- FaceRouge[2][2] = FaceRouge[0][2];
- FaceRouge[0][2] = buffer;
- buffer = FaceRouge[0][1];
- FaceRouge[0][1] = FaceRouge[1][0];
- FaceRouge[1][0] = FaceRouge[2][1];
- FaceRouge[2][1] = FaceRouge[1][2];
- FaceRouge[1][2] = buffer;
- buffer = FaceJaune[2][2];
- FaceJaune[2][2] = FaceBleu[2][2];
- FaceBleu[2][2] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceVert[0][0];
- FaceVert[0][0] = buffer;
- buffer = FaceJaune[1][2];
- FaceJaune[1][2] = FaceBleu[1][2];
- FaceBleu[1][2] = FaceBlanc[1][2];
- FaceBlanc[1][2] = FaceVert[1][0];
- FaceVert[1][0] = buffer;
- buffer = FaceJaune[0][2];
- FaceJaune[0][2] = FaceBleu[0][2];
- FaceBleu[0][2] = FaceBlanc[0][2];
- FaceBlanc[0][2] = FaceVert[2][0];
- FaceVert[2][0] = buffer;
- buffer = FaceRouge[0][0];
- FaceRouge[0][0] = FaceRouge[2][0];
- FaceRouge[2][0] = FaceRouge[2][2];
- FaceRouge[2][2] = FaceRouge[0][2];
- FaceRouge[0][2] = buffer;
- buffer = FaceRouge[0][1];
- FaceRouge[0][1] = FaceRouge[1][0];
- FaceRouge[1][0] = FaceRouge[2][1];
- FaceRouge[2][1] = FaceRouge[1][2];
- FaceRouge[1][2] = buffer;
- }
- public void LMove() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[2][0];
- FaceJaune[2][0] = FaceVert[0][2];
- FaceVert[0][2] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceBleu[2][0];
- FaceBleu[2][0] = buffer;
- buffer = FaceJaune[1][0];
- FaceJaune[1][0] = FaceVert[1][2];
- FaceVert[1][2] = FaceBlanc[1][0];
- FaceBlanc[1][0] = FaceBleu[1][0];
- FaceBleu[1][0] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceVert[2][2];
- FaceVert[2][2] = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceBleu[0][0];
- FaceBleu[0][0] = buffer;
- buffer = FaceOrange[0][1];
- FaceOrange[0][1] = FaceOrange[1][0];
- FaceOrange[1][0] = FaceOrange[2][1];
- FaceOrange[2][1] = FaceOrange[1][2];
- FaceOrange[1][2] = buffer;
- buffer = FaceOrange[0][0];
- FaceOrange[0][0] = FaceOrange[2][0];
- FaceOrange[2][0] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceOrange[0][2];
- FaceOrange[0][2] = buffer;
- }
- public void LPMove() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[2][0];
- FaceJaune[2][0] = FaceBleu[2][0];
- FaceBleu[2][0] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceVert[0][2];
- FaceVert[0][2] = buffer;
- buffer = FaceJaune[1][0];
- FaceJaune[1][0] = FaceBleu[1][0];
- FaceBleu[1][0] = FaceBlanc[1][0];
- FaceBlanc[1][0] = FaceVert[1][2];
- FaceVert[1][2] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceBleu[0][0];
- FaceBleu[0][0] = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceVert[2][2];
- FaceVert[2][2] = buffer;
- buffer = FaceOrange[0][0];
- FaceOrange[0][0] = FaceOrange[0][2];
- FaceOrange[0][2] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceOrange[2][0];
- FaceOrange[2][0] = buffer;
- buffer = FaceOrange[0][1];
- FaceOrange[0][1] = FaceOrange[1][2];
- FaceOrange[1][2] = FaceOrange[2][1];
- FaceOrange[2][1] = FaceOrange[1][0];
- FaceOrange[1][0] = buffer;
- }
- public void L2Move() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[2][0];
- FaceJaune[2][0] = FaceVert[0][2];
- FaceVert[0][2] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceBleu[2][0];
- FaceBleu[2][0] = buffer;
- buffer = FaceJaune[1][0];
- FaceJaune[1][0] = FaceVert[1][2];
- FaceVert[1][2] = FaceBlanc[1][0];
- FaceBlanc[1][0] = FaceBleu[1][0];
- FaceBleu[1][0] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceVert[2][2];
- FaceVert[2][2] = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceBleu[0][0];
- FaceBleu[0][0] = buffer;
- buffer = FaceOrange[0][1];
- FaceOrange[0][1] = FaceOrange[1][0];
- FaceOrange[1][0] = FaceOrange[2][1];
- FaceOrange[2][1] = FaceOrange[1][2];
- FaceOrange[1][2] = buffer;
- buffer = FaceOrange[0][0];
- FaceOrange[0][0] = FaceOrange[2][0];
- FaceOrange[2][0] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceOrange[0][2];
- FaceOrange[0][2] = buffer;
- buffer = FaceJaune[2][0];
- FaceJaune[2][0] = FaceVert[0][2];
- FaceVert[0][2] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceBleu[2][0];
- FaceBleu[2][0] = buffer;
- buffer = FaceJaune[1][0];
- FaceJaune[1][0] = FaceVert[1][2];
- FaceVert[1][2] = FaceBlanc[1][0];
- FaceBlanc[1][0] = FaceBleu[1][0];
- FaceBleu[1][0] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceVert[2][2];
- FaceVert[2][2] = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceBleu[0][0];
- FaceBleu[0][0] = buffer;
- buffer = FaceOrange[0][1];
- FaceOrange[0][1] = FaceOrange[1][0];
- FaceOrange[1][0] = FaceOrange[2][1];
- FaceOrange[2][1] = FaceOrange[1][2];
- FaceOrange[1][2] = buffer;
- buffer = FaceOrange[0][0];
- FaceOrange[0][0] = FaceOrange[2][0];
- FaceOrange[2][0] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceOrange[0][2];
- FaceOrange[0][2] = buffer;
- }
- public void UMove() {
- CouleurEnum buffer = null;
- buffer = FaceBleu[0][0];
- FaceBleu[0][0] = FaceRouge[0][0];
- FaceRouge[0][0] = FaceVert[0][0];
- FaceVert[0][0] = FaceOrange[0][0];
- FaceOrange[0][0] = buffer;
- buffer = FaceBleu[0][1];
- FaceBleu[0][1] = FaceRouge[0][1];
- FaceRouge[0][1] = FaceVert[0][1];
- FaceVert[0][1] = FaceOrange[0][1];
- FaceOrange[0][1] = buffer;
- buffer = FaceBleu[0][2];
- FaceBleu[0][2] = FaceRouge[0][2];
- FaceRouge[0][2] = FaceVert[0][2];
- FaceVert[0][2] = FaceOrange[0][2];
- FaceOrange[0][2] = buffer;
- buffer = FaceJaune[0][1];
- FaceJaune[0][1] = FaceJaune[1][0];
- FaceJaune[1][0] = FaceJaune[2][1];
- FaceJaune[2][1] = FaceJaune[1][2];
- FaceJaune[1][2] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceJaune[2][0];
- FaceJaune[2][0] = FaceJaune[2][2];
- FaceJaune[2][2] = FaceJaune[0][2];
- FaceJaune[0][2] = buffer;
- }
- public void UPMove() {
- CouleurEnum buffer = null;
- buffer = FaceBleu[0][0];
- FaceBleu[0][0] = FaceOrange[0][0];
- FaceOrange[0][0] = FaceVert[0][0];
- FaceVert[0][0] = FaceRouge[0][0];
- FaceRouge[0][0] = buffer;
- buffer = FaceBleu[0][1];
- FaceBleu[0][1] = FaceOrange[0][1];
- FaceOrange[0][1] = FaceVert[0][1];
- FaceVert[0][1] = FaceRouge[0][1];
- FaceRouge[0][1] = buffer;
- buffer = FaceBleu[0][2];
- FaceBleu[0][2] = FaceOrange[0][2];
- FaceOrange[0][2] = FaceVert[0][2];
- FaceVert[0][2] = FaceRouge[0][2];
- FaceRouge[0][2] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceJaune[0][2];
- FaceJaune[0][2] = FaceJaune[2][2];
- FaceJaune[2][2] = FaceJaune[2][0];
- FaceJaune[2][0] = buffer;
- buffer = FaceJaune[0][1];
- FaceJaune[0][1] = FaceJaune[1][2];
- FaceJaune[1][2] = FaceJaune[2][1];
- FaceJaune[2][1] = FaceJaune[1][0];
- FaceJaune[1][0] = buffer;
- }
- public void U2Move() {
- CouleurEnum buffer = null;
- buffer = FaceBleu[0][0];
- FaceBleu[0][0] = FaceRouge[0][0];
- FaceRouge[0][0] = FaceVert[0][0];
- FaceVert[0][0] = FaceOrange[0][0];
- FaceOrange[0][0] = buffer;
- buffer = FaceBleu[0][1];
- FaceBleu[0][1] = FaceRouge[0][1];
- FaceRouge[0][1] = FaceVert[0][1];
- FaceVert[0][1] = FaceOrange[0][1];
- FaceOrange[0][1] = buffer;
- buffer = FaceBleu[0][2];
- FaceBleu[0][2] = FaceRouge[0][2];
- FaceRouge[0][2] = FaceVert[0][2];
- FaceVert[0][2] = FaceOrange[0][2];
- FaceOrange[0][2] = buffer;
- buffer = FaceJaune[0][1];
- FaceJaune[0][1] = FaceJaune[1][0];
- FaceJaune[1][0] = FaceJaune[2][1];
- FaceJaune[2][1] = FaceJaune[1][2];
- FaceJaune[1][2] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceJaune[2][0];
- FaceJaune[2][0] = FaceJaune[2][2];
- FaceJaune[2][2] = FaceJaune[0][2];
- FaceJaune[0][2] = buffer;
- buffer = FaceBleu[0][0];
- FaceBleu[0][0] = FaceRouge[0][0];
- FaceRouge[0][0] = FaceVert[0][0];
- FaceVert[0][0] = FaceOrange[0][0];
- FaceOrange[0][0] = buffer;
- buffer = FaceBleu[0][1];
- FaceBleu[0][1] = FaceRouge[0][1];
- FaceRouge[0][1] = FaceVert[0][1];
- FaceVert[0][1] = FaceOrange[0][1];
- FaceOrange[0][1] = buffer;
- buffer = FaceBleu[0][2];
- FaceBleu[0][2] = FaceRouge[0][2];
- FaceRouge[0][2] = FaceVert[0][2];
- FaceVert[0][2] = FaceOrange[0][2];
- FaceOrange[0][2] = buffer;
- buffer = FaceJaune[0][1];
- FaceJaune[0][1] = FaceJaune[1][0];
- FaceJaune[1][0] = FaceJaune[2][1];
- FaceJaune[2][1] = FaceJaune[1][2];
- FaceJaune[1][2] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceJaune[2][0];
- FaceJaune[2][0] = FaceJaune[2][2];
- FaceJaune[2][2] = FaceJaune[0][2];
- FaceJaune[0][2] = buffer;
- }
- public void FMove() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[2][0];
- FaceJaune[2][0] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceBlanc[0][2];
- FaceBlanc[0][2] = FaceRouge[0][0];
- FaceRouge[0][0] = buffer;
- buffer = FaceJaune[2][1];
- FaceJaune[2][1] = FaceOrange[1][2];
- FaceOrange[1][2] = FaceBlanc[0][1];
- FaceBlanc[0][1] = FaceRouge[1][0];
- FaceRouge[1][0] = buffer;
- buffer = FaceJaune[2][2];
- FaceJaune[2][2] = FaceOrange[0][2];
- FaceOrange[0][2] = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceRouge[2][0];
- FaceRouge[2][0] = buffer;
- buffer = FaceBleu[0][0];
- FaceBleu[0][0] = FaceBleu[2][0];
- FaceBleu[2][0] = FaceBleu[2][2];
- FaceBleu[2][2] = FaceBleu[0][2];
- FaceBleu[0][2] = buffer;
- buffer = FaceBleu[0][1];
- FaceBleu[0][1] = FaceBleu[1][0];
- FaceBleu[1][0] = FaceBleu[2][1];
- FaceBleu[2][1] = FaceBleu[1][2];
- FaceBleu[1][2] = buffer;
- }
- public void FPMove() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[2][0];
- FaceJaune[2][0] = FaceRouge[0][0];
- FaceRouge[0][0] = FaceBlanc[0][2];
- FaceBlanc[0][2] = FaceOrange[2][2];
- FaceOrange[2][2] = buffer;
- buffer = FaceJaune[2][1];
- FaceJaune[2][1] = FaceRouge[1][0];
- FaceRouge[1][0] = FaceBlanc[0][1];
- FaceBlanc[0][1] = FaceOrange[1][2];
- FaceOrange[1][2] = buffer;
- buffer = FaceJaune[2][2];
- FaceJaune[2][2] = FaceRouge[2][0];
- FaceRouge[2][0] = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceOrange[0][2];
- FaceOrange[0][2] = buffer;
- buffer = FaceBleu[0][0];
- FaceBleu[0][0] = FaceBleu[0][2];
- FaceBleu[0][2] = FaceBleu[2][2];
- FaceBleu[2][2] = FaceBleu[2][0];
- FaceBleu[2][0] = buffer;
- buffer = FaceBleu[0][1];
- FaceBleu[0][1] = FaceBleu[1][2];
- FaceBleu[1][2] = FaceBleu[2][1];
- FaceBleu[2][1] = FaceBleu[1][0];
- FaceBleu[1][0] = buffer;
- }
- public void F2Move() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[2][0];
- FaceJaune[2][0] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceBlanc[0][2];
- FaceBlanc[0][2] = FaceRouge[0][0];
- FaceRouge[0][0] = buffer;
- buffer = FaceJaune[2][1];
- FaceJaune[2][1] = FaceOrange[1][2];
- FaceOrange[1][2] = FaceBlanc[0][1];
- FaceBlanc[0][1] = FaceRouge[1][0];
- FaceRouge[1][0] = buffer;
- buffer = FaceJaune[2][2];
- FaceJaune[2][2] = FaceOrange[0][2];
- FaceOrange[0][2] = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceRouge[2][0];
- FaceRouge[2][0] = buffer;
- buffer = FaceBleu[0][0];
- FaceBleu[0][0] = FaceBleu[2][0];
- FaceBleu[2][0] = FaceBleu[2][2];
- FaceBleu[2][2] = FaceBleu[0][2];
- FaceBleu[0][2] = buffer;
- buffer = FaceBleu[0][1];
- FaceBleu[0][1] = FaceBleu[1][0];
- FaceBleu[1][0] = FaceBleu[2][1];
- FaceBleu[2][1] = FaceBleu[1][2];
- FaceBleu[1][2] = buffer;
- buffer = FaceJaune[2][0];
- FaceJaune[2][0] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceBlanc[0][2];
- FaceBlanc[0][2] = FaceRouge[0][0];
- FaceRouge[0][0] = buffer;
- buffer = FaceJaune[2][1];
- FaceJaune[2][1] = FaceOrange[1][2];
- FaceOrange[1][2] = FaceBlanc[0][1];
- FaceBlanc[0][1] = FaceRouge[1][0];
- FaceRouge[1][0] = buffer;
- buffer = FaceJaune[2][2];
- FaceJaune[2][2] = FaceOrange[0][2];
- FaceOrange[0][2] = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceRouge[2][0];
- FaceRouge[2][0] = buffer;
- buffer = FaceBleu[0][0];
- FaceBleu[0][0] = FaceBleu[2][0];
- FaceBleu[2][0] = FaceBleu[2][2];
- FaceBleu[2][2] = FaceBleu[0][2];
- FaceBleu[0][2] = buffer;
- buffer = FaceBleu[0][1];
- FaceBleu[0][1] = FaceBleu[1][0];
- FaceBleu[1][0] = FaceBleu[2][1];
- FaceBleu[2][1] = FaceBleu[1][2];
- FaceBleu[1][2] = buffer;
- }
- public void BMove() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[0][2];
- FaceJaune[0][2] = FaceRouge[2][2];
- FaceRouge[2][2] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceOrange[0][0];
- FaceOrange[0][0] = buffer;
- buffer = FaceJaune[0][1];
- FaceJaune[0][1] = FaceRouge[1][2];
- FaceRouge[1][2] = FaceBlanc[2][1];
- FaceBlanc[2][1] = FaceOrange[1][0];
- FaceOrange[1][0] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceRouge[0][2];
- FaceRouge[0][2] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceOrange[2][0];
- FaceOrange[2][0] = buffer;
- buffer = FaceVert[0][0];
- FaceVert[0][0] = FaceVert[2][0];
- FaceVert[2][0] = FaceVert[2][2];
- FaceVert[2][2] = FaceVert[0][2];
- FaceVert[0][2] = buffer;
- buffer = FaceVert[0][1];
- FaceVert[0][1] = FaceVert[1][0];
- FaceVert[1][0] = FaceVert[2][1];
- FaceVert[2][1] = FaceVert[1][2];
- FaceVert[1][2] = buffer;
- }
- public void BPMove() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[0][2];
- FaceJaune[0][2] = FaceOrange[0][0];
- FaceOrange[0][0] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceRouge[2][2];
- FaceRouge[2][2] = buffer;
- buffer = FaceJaune[0][1];
- FaceJaune[0][1] = FaceOrange[1][0];
- FaceOrange[1][0] = FaceBlanc[2][1];
- FaceBlanc[2][1] = FaceRouge[1][2];
- FaceRouge[1][2] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceOrange[2][0];
- FaceOrange[2][0] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceRouge[0][2];
- FaceRouge[0][2] = buffer;
- buffer = FaceVert[0][0];
- FaceVert[0][0] = FaceVert[0][2];
- FaceVert[0][2] = FaceVert[2][2];
- FaceVert[2][2] = FaceVert[2][0];
- FaceVert[2][0] = buffer;
- buffer = FaceVert[0][1];
- FaceVert[0][1] = FaceVert[1][2];
- FaceVert[1][2] = FaceVert[2][1];
- FaceVert[2][1] = FaceVert[1][0];
- FaceVert[1][0] = buffer;
- }
- public void B2Move() {
- CouleurEnum buffer = null;
- buffer = FaceJaune[0][2];
- FaceJaune[0][2] = FaceRouge[2][2];
- FaceRouge[2][2] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceOrange[0][0];
- FaceOrange[0][0] = buffer;
- buffer = FaceJaune[0][1];
- FaceJaune[0][1] = FaceRouge[1][2];
- FaceRouge[1][2] = FaceBlanc[2][1];
- FaceBlanc[2][1] = FaceOrange[1][0];
- FaceOrange[1][0] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceRouge[0][2];
- FaceRouge[0][2] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceOrange[2][0];
- FaceOrange[2][0] = buffer;
- buffer = FaceVert[0][0];
- FaceVert[0][0] = FaceVert[2][0];
- FaceVert[2][0] = FaceVert[2][2];
- FaceVert[2][2] = FaceVert[0][2];
- FaceVert[0][2] = buffer;
- buffer = FaceVert[0][1];
- FaceVert[0][1] = FaceVert[1][0];
- FaceVert[1][0] = FaceVert[2][1];
- FaceVert[2][1] = FaceVert[1][2];
- FaceVert[1][2] = buffer;
- buffer = FaceJaune[0][2];
- FaceJaune[0][2] = FaceRouge[2][2];
- FaceRouge[2][2] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceOrange[0][0];
- FaceOrange[0][0] = buffer;
- buffer = FaceJaune[0][1];
- FaceJaune[0][1] = FaceRouge[1][2];
- FaceRouge[1][2] = FaceBlanc[2][1];
- FaceBlanc[2][1] = FaceOrange[1][0];
- FaceOrange[1][0] = buffer;
- buffer = FaceJaune[0][0];
- FaceJaune[0][0] = FaceRouge[0][2];
- FaceRouge[0][2] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceOrange[2][0];
- FaceOrange[2][0] = buffer;
- buffer = FaceVert[0][0];
- FaceVert[0][0] = FaceVert[2][0];
- FaceVert[2][0] = FaceVert[2][2];
- FaceVert[2][2] = FaceVert[0][2];
- FaceVert[0][2] = buffer;
- buffer = FaceVert[0][1];
- FaceVert[0][1] = FaceVert[1][0];
- FaceVert[1][0] = FaceVert[2][1];
- FaceVert[2][1] = FaceVert[1][2];
- FaceVert[1][2] = buffer;
- }
- public void DMove() {
- CouleurEnum buffer = null;
- buffer = FaceBleu[2][0];
- FaceBleu[2][0] = FaceOrange[2][0];
- FaceOrange[2][0] = FaceVert[2][0];
- FaceVert[2][0] = FaceRouge[2][0];
- FaceRouge[2][0] = buffer;
- buffer = FaceBleu[2][1];
- FaceBleu[2][1] = FaceOrange[2][1];
- FaceOrange[2][1] = FaceVert[2][1];
- FaceVert[2][1] = FaceRouge[2][1];
- FaceRouge[2][1] = buffer;
- buffer = FaceBleu[2][2];
- FaceBleu[2][2] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceVert[2][2];
- FaceVert[2][2] = FaceRouge[2][2];
- FaceRouge[2][2] = buffer;
- buffer = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceBlanc[0][2];
- FaceBlanc[0][2] = buffer;
- buffer = FaceBlanc[0][1];
- FaceBlanc[0][1] = FaceBlanc[1][0];
- FaceBlanc[1][0] = FaceBlanc[2][1];
- FaceBlanc[2][1] = FaceBlanc[1][2];
- FaceBlanc[1][2] = buffer;
- }
- public void DPMove() {
- CouleurEnum buffer = null;
- buffer = FaceBleu[2][0];
- FaceBleu[2][0] = FaceRouge[2][0];
- FaceRouge[2][0] = FaceVert[2][0];
- FaceVert[2][0] = FaceOrange[2][0];
- FaceOrange[2][0] = buffer;
- buffer = FaceBleu[2][1];
- FaceBleu[2][1] = FaceRouge[2][1];
- FaceRouge[2][1] = FaceVert[2][1];
- FaceVert[2][1] = FaceOrange[2][1];
- FaceOrange[2][1] = buffer;
- buffer = FaceBleu[2][2];
- FaceBleu[2][2] = FaceRouge[2][2];
- FaceRouge[2][2] = FaceVert[2][2];
- FaceVert[2][2] = FaceOrange[2][2];
- FaceOrange[2][2] = buffer;
- buffer = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceBlanc[0][2];
- FaceBlanc[0][2] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceBlanc[2][0];
- FaceBlanc[2][0] = buffer;
- buffer = FaceBlanc[0][1];
- FaceBlanc[0][1] = FaceBlanc[1][2];
- FaceBlanc[1][2] = FaceBlanc[2][1];
- FaceBlanc[2][1] = FaceBlanc[1][0];
- FaceBlanc[1][0] = buffer;
- }
- public void D2Move() {
- CouleurEnum buffer = null;
- buffer = FaceBleu[2][0];
- FaceBleu[2][0] = FaceOrange[2][0];
- FaceOrange[2][0] = FaceVert[2][0];
- FaceVert[2][0] = FaceRouge[2][0];
- FaceRouge[2][0] = buffer;
- buffer = FaceBleu[2][1];
- FaceBleu[2][1] = FaceOrange[2][1];
- FaceOrange[2][1] = FaceVert[2][1];
- FaceVert[2][1] = FaceRouge[2][1];
- FaceRouge[2][1] = buffer;
- buffer = FaceBleu[2][2];
- FaceBleu[2][2] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceVert[2][2];
- FaceVert[2][2] = FaceRouge[2][2];
- FaceRouge[2][2] = buffer;
- buffer = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceBlanc[0][2];
- FaceBlanc[0][2] = buffer;
- buffer = FaceBlanc[0][1];
- FaceBlanc[0][1] = FaceBlanc[1][0];
- FaceBlanc[1][0] = FaceBlanc[2][1];
- FaceBlanc[2][1] = FaceBlanc[1][2];
- FaceBlanc[1][2] = buffer;
- buffer = FaceBleu[2][0];
- FaceBleu[2][0] = FaceOrange[2][0];
- FaceOrange[2][0] = FaceVert[2][0];
- FaceVert[2][0] = FaceRouge[2][0];
- FaceRouge[2][0] = buffer;
- buffer = FaceBleu[2][1];
- FaceBleu[2][1] = FaceOrange[2][1];
- FaceOrange[2][1] = FaceVert[2][1];
- FaceVert[2][1] = FaceRouge[2][1];
- FaceRouge[2][1] = buffer;
- buffer = FaceBleu[2][2];
- FaceBleu[2][2] = FaceOrange[2][2];
- FaceOrange[2][2] = FaceVert[2][2];
- FaceVert[2][2] = FaceRouge[2][2];
- FaceRouge[2][2] = buffer;
- buffer = FaceBlanc[0][0];
- FaceBlanc[0][0] = FaceBlanc[2][0];
- FaceBlanc[2][0] = FaceBlanc[2][2];
- FaceBlanc[2][2] = FaceBlanc[0][2];
- FaceBlanc[0][2] = buffer;
- buffer = FaceBlanc[0][1];
- FaceBlanc[0][1] = FaceBlanc[1][0];
- FaceBlanc[1][0] = FaceBlanc[2][1];
- FaceBlanc[2][1] = FaceBlanc[1][2];
- FaceBlanc[1][2] = buffer;
- }
- public String convert(String scramble) {
- //System.out.println(scramble);
- String melange_conv = "";
- for(int z = 0; z < scramble.length(); z++) {
- char c = scramble.charAt(z);
- char d = ' ';
- try{
- d = scramble.charAt(z + 1);
- } catch(Exception e5) {
- //System.out.println(e5);
- }
- if(c == 'R') {
- if(d == '\'') {
- melange_conv = melange_conv + "S";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "T";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "R";
- }
- }
- else if(c == 'U') {
- if(d == '\'') {
- melange_conv = melange_conv + "V";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "W";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "U";
- }
- }
- else if(c == 'L') {
- if(d == '\'') {
- melange_conv = melange_conv + "M";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "N";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "L";
- }
- }
- else if(c == 'D') {
- if(d == '\'') {
- melange_conv = melange_conv + "E";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "Z";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "D";
- }
- }
- else if(c == 'B') {
- if(d == '\'') {
- melange_conv = melange_conv + "C";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "A";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "B";
- }
- }
- else if(c == 'F') {
- if(d == '\'') {
- melange_conv = melange_conv + "G";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "H";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "F";
- }
- }
- }
- return melange_conv;
- }
- public String convert1(String scramble) {
- //System.out.println(scramble);
- String melange_conv = "";
- for(int z = 0; z < scramble.length(); z++) {
- char c = scramble.charAt(z);
- char d = ' ';
- try{
- d = scramble.charAt(z + 1);
- } catch(Exception e5) {
- System.out.println(e5);
- }
- if(c == 'R') {
- if(d == '\'') {
- melange_conv = melange_conv + "S";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "T";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "R";
- }
- }
- else if(c == 'U') {
- if(d == '\'') {
- melange_conv = melange_conv + "E";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "Z";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "D";
- }
- }
- else if(c == 'L') {
- if(d == '\'') {
- melange_conv = melange_conv + "M";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "N";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "L";
- }
- }
- else if(c == 'D') {
- if(d == '\'') {
- melange_conv = melange_conv + "V";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "W";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "U";
- }
- }
- else if(c == 'B') {
- if(d == '\'') {
- melange_conv = melange_conv + "G";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "H";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "F";
- }
- }
- else if(c == 'F') {
- if(d == '\'') {
- melange_conv = melange_conv + "C";
- d = ' ';
- }
- else if(d == '2') {
- melange_conv = melange_conv + "A";
- d = ' ';
- }
- else {
- melange_conv = melange_conv + "B";
- }
- }
- }
- return melange_conv;
- }
- public String optimize(String scramble) {
- String opti = "";
- optiInt = 0;
- for(int t = 0; t < scramble.length(); t++) {
- try {
- char c = scramble.charAt(optiInt);
- char d = ' ';
- if(!(c == scramble.charAt(scramble.length() - 1))) {
- d = scramble.charAt(optiInt + 1);
- }
- if(c == d) {
- if(c == 'R' || c == 'S') {
- opti = opti + 'T';
- d = ' ';
- optiInt++;
- }
- else if(c == 'U' || c == 'V') {
- opti = opti + 'W';
- d = ' ';
- optiInt++;
- }
- else if(c == 'L' || c == 'M') {
- opti = opti + 'N';
- d = ' ';
- optiInt++;
- }
- else if(c == 'D' || c == 'E') {
- opti = opti + 'Z';
- d = ' ';
- optiInt++;
- }
- else if(c == 'B' || c == 'C') {
- opti = opti + 'A';
- d = ' ';
- optiInt++;
- }
- else if(c == 'F' || c == 'G') {
- opti = opti + 'H';
- d = ' ';
- optiInt++;
- }
- else {
- optiInt++;
- }
- }
- else if((c == 'T' && d == 'R') || (c == 'R' && d == 'T')) {
- opti = opti + 'S';
- d = ' ';
- optiInt++;
- }
- else if((c == 'T' && d == 'S') || (c == 'S' && d == 'T')) {
- opti = opti + 'R';
- d = ' ';
- optiInt++;
- }
- else if((c == 'W' && d == 'U') || (c == 'U' && d == 'W')) {
- opti = opti + 'V';
- d = ' ';
- optiInt++;
- }
- else if((c == 'W' && d == 'V') || (c == 'V' && d == 'W')) {
- opti = opti + 'U';
- d = ' ';
- optiInt++;
- }
- else if((c == 'N' && d == 'L') || (c == 'L' && d == 'N')) {
- opti = opti + 'M';
- d = ' ';
- optiInt++;
- }
- else if((c == 'N' && d == 'M') || (c == 'M' && d == 'N')) {
- opti = opti + 'L';
- d = ' ';
- optiInt++;
- }
- else if((c == 'Z' && d == 'D') || (c == 'D' && d == 'Z')) {
- opti = opti + 'E';
- d = ' ';
- optiInt++;
- }
- else if((c == 'Z' && d == 'E') || (c == 'E' && d == 'Z')) {
- opti = opti + 'D';
- d = ' ';
- optiInt++;
- }
- else if((c == 'A' && d == 'B') || (c == 'B' && d == 'A')) {
- opti = opti + 'C';
- d = ' ';
- optiInt++;
- }
- else if((c == 'A' && d == 'C') || (c == 'C' && d == 'A')) {
- opti = opti + 'B';
- d = ' ';
- optiInt++;
- }
- else if((c == 'H' && d == 'F') || (c == 'F' && d == 'H')) {
- opti = opti + 'G';
- d = ' ';
- optiInt++;
- }
- else if((c == 'H' && d == 'G') || (c == 'G' && d == 'H')) {
- opti = opti + 'F';
- d = ' ';
- optiInt++;
- }
- else if((c != 'R' && d != 'S') ||
- (c != 'S' && d != 'R') ||
- (c != 'U' && d != 'V') ||
- (c != 'V' && d != 'U') ||
- (c != 'L' && d != 'M') ||
- (c != 'M' && d != 'L') ||
- (c != 'D' && d != 'E') ||
- (c != 'E' && d != 'D') ||
- (c != 'B' && d != 'C') ||
- (c != 'C' && d != 'B') ||
- (c != 'F' && d != 'G') ||
- (c != 'G' && d != 'F')) {
- opti = opti + scramble.charAt(optiInt);
- d = ' ';
- }
- else {
- opti = opti + scramble.charAt(optiInt);
- }
- optiInt++;
- } catch(Exception excc) {
- //System.out.println(excc);
- }
- }
- return opti;
- }
- public void applyScramble(String scramble) {
- String melange_conv = convert1(scramble);
- text.appendText(melange_conv + "\n");
- for(int imelange = 0; imelange < melange_conv.length(); imelange++) {
- char c = melange_conv.charAt(imelange);
- if(c == 'R') {
- RMove();
- }
- else if(c == 'S') {
- RPMove();
- }
- else if(c == 'T') {
- R2Move();
- }
- else if(c == 'L') {
- LMove();
- }
- else if(c == 'M') {
- LPMove();
- }
- else if(c == 'N') {
- L2Move();
- }
- else if(c == 'U') {
- UMove();
- }
- else if(c == 'V') {
- UPMove();
- }
- else if(c == 'W') {
- U2Move();
- }
- else if(c == 'F') {
- FMove();
- }
- else if(c == 'G') {
- FPMove();
- }
- else if(c == 'H') {
- F2Move();
- }
- else if(c == 'B') {
- BMove();
- }
- else if(c == 'C') {
- BPMove();
- }
- else if(c == 'A') {
- B2Move();
- }
- else if(c == 'D') {
- DMove();
- }
- else if(c == 'E') {
- DPMove();
- }
- else if(c == 'Z') {
- D2Move();
- }
- }
- for(int face = 0; face < 6; face++) {
- CouleurEnum buffer[][] = new CouleurEnum[3][3];
- int facebut = 0;
- if(face == 0) {
- buffer = FaceJaune;
- }
- else if(face == 1) {
- buffer = FaceBleu;
- }
- else if(face == 2) {
- buffer = FaceRouge;
- }
- else if(face == 3) {
- buffer = FaceVert;
- }
- else if(face == 4) {
- buffer = FaceOrange;
- }
- else if(face == 5) {
- buffer = FaceBlanc;
- }
- for(int facex = 0; facex < 3; facex++) {
- for(int facey = 0; facey < 3; facey++) {
- if(buffer[facex][facey] == CouleurEnum.JAUNE) {
- button[face][facebut].setId("bouton_jaune_");
- }
- else if(buffer[facex][facey] == CouleurEnum.BLEU) {
- button[face][facebut].setId("bouton_bleu__");
- }
- else if(buffer[facex][facey] == CouleurEnum.ROUGE) {
- button[face][facebut].setId("bouton_rouge_");
- }
- else if(buffer[facex][facey] == CouleurEnum.VERT) {
- button[face][facebut].setId("bouton_vert__");
- }
- else if(buffer[facex][facey] == CouleurEnum.ORANGE) {
- button[face][facebut].setId("bouton_orange");
- }
- else if(buffer[facex][facey] == CouleurEnum.BLANC) {
- button[face][facebut].setId("bouton_blanc_");
- }
- facebut++;
- }
- }
- }
- }
- /*
- * SCRAMBLE
- */
- public static String generateScramble3x3() {
- String scramble = "";
- String lastFace = " ";
- for(int i = 0; i < 26; i++) {
- scramble += (lastFace = randomFace(lastFace)).charAt(0) + randomRotation() + " ";
- }
- return scramble;
- }
- /*
- * FACE N'AYANT PAAS LE MEME AXE QUE LA PRECEDENTE
- */
- public static String randomFace(String lastFace) {
- String face = faces[rand.nextInt(6)];
- if(face.charAt(1) == lastFace.charAt(1)) {
- return(randomFace(lastFace));
- }
- else {
- return face;
- }
- }
- /*
- * GENERE UNE ROTATION DE LA FACE
- */
- public static String randomRotation() {
- int rotation = rand.nextInt(3);
- if(rotation == 0)
- return "";
- if(rotation == 1)
- return "'";
- if(rotation == 2)
- return "2";
- return null;
- }
- public void resetTableau() {
- for(int x = 0; x < 3; x++) {
- for(int y = 0; y < 3; y++) {
- FaceJaune[x][y] = CouleurEnum.JAUNE;
- FaceBleu[x][y] = CouleurEnum.BLEU;
- FaceRouge[x][y] = CouleurEnum.ROUGE;
- FaceVert[x][y] = CouleurEnum.VERT;
- FaceOrange[x][y] = CouleurEnum.ORANGE;
- FaceBlanc[x][y] = CouleurEnum.BLANC;
- }
- }
- }
- public void resetCube() {
- resetTableau();
- for(int x = 0; x < 6; x++) {
- for(int y = 0; y < 9; y++) {
- if(x == 0) {
- button[x][y].setId("bouton_jaune_");
- }
- else if(x == 1) {
- button[x][y].setId("bouton_bleu__");
- }
- else if(x == 2) {
- button[x][y].setId("bouton_rouge_");
- }
- else if(x == 3) {
- button[x][y].setId("bouton_vert__");
- }
- else if(x == 4) {
- button[x][y].setId("bouton_orange");
- }
- else if(x == 5) {
- button[x][y].setId("bouton_blanc_");
- }
- }
- }
- melange_env = "";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement