Skip to content
12 changes: 12 additions & 0 deletions src/main/java/hse/java/practice/task1/CubeColor.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,15 @@ public enum CubeColor {
YELLOW,
ORANGE
}


//package hse.java.practice.task1;
//
//public enum CubeColor {
// WHITE,
// YELLOW,
// GREEN,
// BLUE,
// RED,
// ORANGE
//}
38 changes: 36 additions & 2 deletions src/main/java/hse/java/practice/task1/Edge.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,21 @@ public class Edge {

public Edge(CubeColor[][] parts) {
this.parts = parts;
}
} // конструктор для создания сразу готового кубика рубика

public Edge(CubeColor color) {
this.parts = new CubeColor[3][3];
this.parts = new CubeColor[3][3]; // создаем новую грань с цветом 3x3
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
parts[i][j] = color;
}
}
}

static public CubeColor getEdgeColor(Edge edge ) {
return edge.parts[0][0];
}

public Edge() {
parts = new CubeColor[3][3];
}
Expand All @@ -27,10 +31,40 @@ public CubeColor[][] getParts() {
return parts;
}

public CubeColor[] getPartsLine(int i ) {
return parts[i];
}
public CubeColor[] getPartsRow(int i) {
return new CubeColor[] {
parts[0][i] , parts[1][i] , parts[2][i] ,
};
}



public void setParts(CubeColor[][] parts) {
this.parts = parts;
}

public CubeColor[] setPartsLine1(CubeColor[] partsLine) {
CubeColor[] returnedCubeColor = this.parts[0];
this.parts[0] = partsLine;
return returnedCubeColor;
}

public void setPartsLine(CubeColor[] partsLine, int line) {
this.parts[line] = partsLine;
}
public void setPartsRow(CubeColor[] partsRow , int row) {
this.parts[0][row] = partsRow[0];
this.parts[1][row] = partsRow[1];
this.parts[2][row] = partsRow[2];
}





@Override
public String toString() {
return Arrays.deepToString(parts);
Expand Down
25 changes: 19 additions & 6 deletions src/main/java/hse/java/practice/task1/EdgePosition.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,24 @@
* edges[2] -> LEFT
* ...
*/

// то есть имеется ввиду , что какие-то элементы храняться сверху / сбоку и тд
public enum EdgePosition {
UP,
DOWN,
LEFT,
RIGHT,
FRONT,
BACK
UP(0),
DOWN(1),
LEFT(2),
RIGHT(3),
FRONT(4),
BACK(5);

final int edgeNumber;

EdgePosition(int edgeNumber) {
this.edgeNumber = edgeNumber;
}

public int getEdgeNumber() {
return edgeNumber;
}

}
Loading