示例#1
0
  public void updateView() {
    CubieCube cc = cube;
    int corner = cc.c.a[Corner.URF.ordinal()].c.ordinal();
    int ori = cc.c.a[Corner.URF.ordinal()].o;
    if (ori % 3 == 2) {
      ori -= 1;
    } else if (ori % 3 == 1) {
      ori += 1;
    }
    if (ori >= 3) {
      up[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori % 3]));
      right[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
      front[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
    } else {
      up[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori]));
      right[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
      front[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
    }

    corner = cc.c.a[Corner.UFL.ordinal()].c.ordinal();
    ori = cc.c.a[Corner.UFL.ordinal()].o;
    if (ori % 3 == 2) {
      ori -= 1;
    } else if (ori % 3 == 1) {
      ori += 1;
    }
    if (ori >= 3) {
      up[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori % 3]));
      front[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
      left[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
    } else {
      up[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori]));
      front[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
      left[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
    }

    corner = cc.c.a[Corner.ULB.ordinal()].c.ordinal();
    ori = cc.c.a[Corner.ULB.ordinal()].o;
    if (ori % 3 == 2) {
      ori -= 1;
    } else if (ori % 3 == 1) {
      ori += 1;
    }
    if (ori >= 3) {
      up[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori % 3]));
      left[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
      back[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
    } else {
      up[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori]));
      left[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
      back[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
    }

    corner = cc.c.a[Corner.UBR.ordinal()].c.ordinal();
    ori = cc.c.a[Corner.UBR.ordinal()].o;
    if (ori % 3 == 2) {
      ori -= 1;
    } else if (ori % 3 == 1) {
      ori += 1;
    }
    if (ori >= 3) {
      up[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori % 3]));
      back[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
      right[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
    } else {
      up[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori]));
      back[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
      right[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
    }

    corner = cc.c.a[Corner.DFR.ordinal()].c.ordinal();
    ori = cc.c.a[Corner.DFR.ordinal()].o;
    if (ori % 3 == 2) {
      ori -= 1;
    } else if (ori % 3 == 1) {
      ori += 1;
    }
    if (ori >= 3) {
      down[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori % 3]));
      front[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
      right[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
    } else {
      down[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori]));
      front[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
      right[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
    }

    corner = cc.c.a[Corner.DLF.ordinal()].c.ordinal();
    ori = cc.c.a[Corner.DLF.ordinal()].o;
    if (ori % 3 == 2) {
      ori -= 1;
    } else if (ori % 3 == 1) {
      ori += 1;
    }
    if (ori >= 3) {
      down[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori % 3]));
      left[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
      front[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
    } else {
      down[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori % 3]));
      left[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
      front[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
    }

    corner = cc.c.a[Corner.DBL.ordinal()].c.ordinal();
    ori = cc.c.a[Corner.DBL.ordinal()].o;
    if (ori % 3 == 2) {
      ori -= 1;
    } else if (ori % 3 == 1) {
      ori += 1;
    }
    if (ori >= 3) {
      down[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori % 3]));
      back[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
      left[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
    } else {
      down[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori]));
      back[0][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
      left[0][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
    }

    corner = cc.c.a[Corner.DRB.ordinal()].c.ordinal();
    ori = cc.c.a[Corner.DRB.ordinal()].o;
    if (ori % 3 == 2) {
      ori -= 1;
    } else if (ori % 3 == 1) {
      ori += 1;
    }
    if (ori >= 3) {
      down[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori % 3]));
      right[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
      back[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
    } else {
      down[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][ori]));
      right[2][2].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 1) % 3]));
      back[2][0].setBackground(model.ColorIndexToColor(model.CCI.a[corner][(ori + 2) % 3]));
    }

    int edge = cc.e.a[Edge.UR.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.UR.ordinal()].o;
    up[2][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    right[1][0].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.UF.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.UF.ordinal()].o;
    up[1][2].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    front[1][0].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.UL.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.UL.ordinal()].o;
    up[0][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    left[1][0].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.UB.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.UB.ordinal()].o;
    up[1][0].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    back[1][2].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.DR.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.DR.ordinal()].o;
    down[2][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    right[1][2].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.DF.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.DF.ordinal()].o;
    down[1][0].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    front[1][2].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.DL.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.DL.ordinal()].o;
    down[0][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    left[1][2].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.DB.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.DB.ordinal()].o;
    down[1][2].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    back[1][0].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.FR.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.FR.ordinal()].o;
    front[2][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    right[0][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.FL.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.FL.ordinal()].o;
    front[0][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    left[2][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.BL.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.BL.ordinal()].o;
    back[0][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    left[0][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    edge = cc.e.a[Edge.BR.ordinal()].e.ordinal();
    ori = cc.e.a[Edge.BR.ordinal()].o;
    back[2][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][ori]));
    right[2][1].setBackground(model.ColorIndexToColor(model.ECI.a[edge][(ori + 1) % 2]));

    up[1][1].setBackground(Color.ORANGE);
    down[1][1].setBackground(Color.RED);
    left[1][1].setBackground(Color.GREEN);
    right[1][1].setBackground(Color.BLUE);
    back[1][1].setBackground(Color.YELLOW);
    front[1][1].setBackground(Color.WHITE);

    up[1][1].setEnabled(false);
    down[1][1].setEnabled(false);
    left[1][1].setEnabled(false);
    right[1][1].setEnabled(false);
    back[1][1].setEnabled(false);
    front[1][1].setEnabled(false);
  }