📄 rubikcanvas.java
字号:
DownX[3] = getWidth()/2-r/3-r/3-r*4;
DownX[4] = getWidth()/2-r/3-r/3-r*7;
DownX[5] = getWidth()/2-r/3-r/3-r*5;
DownX[6] = getWidth()/2-r/3-r/3-r*3;
DownX[7] = getWidth()/2-r/3-r/3-r*6;
DownX[8] = getWidth()/2-r/3-r/3-r*4;
DownX[9] = getWidth()/2-r/3-r/3-r*2;
DownY[1] = getHeight()/2+r*0+r*2;
DownY[2] = getHeight()/2+r*0+r*2;
DownY[3] = getHeight()/2+r*0+r*2;
DownY[4] = getHeight()/2+r*1+r*2;
DownY[5] = getHeight()/2+r*1+r*2;
DownY[6] = getHeight()/2+r*1+r*2;
DownY[7] = getHeight()/2+r*2+r*2;
DownY[8] = getHeight()/2+r*2+r*2;
DownY[9] = getHeight()/2+r*2+r*2;
for ( i = 1; i < 10 ; i++ ) {
LeftRx[i] = r*1;
LeftRy[i] = r*8/4;
}
LeftX[1] = getWidth()/2+r*6-r*1-r*3;
LeftX[2] = getWidth()/2+r*6-r*2-r*3;
LeftX[3] = getWidth()/2+r*6-r*3-r*3;
LeftX[4] = getWidth()/2+r*6-r*1-r*3;
LeftX[5] = getWidth()/2+r*6-r*2-r*3;
LeftX[6] = getWidth()/2+r*6-r*3-r*3;
LeftX[7] = getWidth()/2+r*6-r*1-r*3;
LeftX[8] = getWidth()/2+r*6-r*2-r*3;
LeftX[9] = getWidth()/2+r*6-r*3-r*3;
LeftY[1] = getHeight()/2-r/3+r*0-r*0-r*2;
LeftY[2] = getHeight()/2-r/3+r*0-r*1-r*2;
LeftY[3] = getHeight()/2-r/3+r*0-r*2-r*2;
LeftY[4] = getHeight()/2-r/3+r*2-r*0-r*2;
LeftY[5] = getHeight()/2-r/3+r*2-r*1-r*2;
LeftY[6] = getHeight()/2-r/3+r*2-r*2-r*2;
LeftY[7] = getHeight()/2-r/3+r*4-r*0-r*2;
LeftY[8] = getHeight()/2-r/3+r*4-r*1-r*2;
LeftY[9] = getHeight()/2-r/3+r*4-r*2-r*2;
for ( i = 1; i < 10 ; i++ ) {
RightRx[i] = r*1;
RightRy[i] = 2*r;
}
RightX[1] = getWidth()/2-r*6+r*0+r*3;
RightX[2] = getWidth()/2-r*6+r*1+r*3;
RightX[3] = getWidth()/2-r*6+r*2+r*3;
RightX[4] = getWidth()/2-r*6+r*0+r*3;
RightX[5] = getWidth()/2-r*6+r*1+r*3;
RightX[6] = getWidth()/2-r*6+r*2+r*3;
RightX[7] = getWidth()/2-r*6+r*0+r*3;
RightX[8] = getWidth()/2-r*6+r*1+r*3;
RightX[9] = getWidth()/2-r*6+r*2+r*3;
RightY[1] = getHeight()/2+r/3-r*4+r*0-r*2+r*2;
RightY[2] = getHeight()/2+r/3-r*4+r*0-r*1+r*2;
RightY[3] = getHeight()/2+r/3-r*4+r*0-r*0+r*2;
RightY[4] = getHeight()/2+r/3-r*4+r*2-r*2+r*2;
RightY[5] = getHeight()/2+r/3-r*4+r*2-r*1+r*2;
RightY[6] = getHeight()/2+r/3-r*4+r*2-r*0+r*2;
RightY[7] = getHeight()/2+r/3-r*4+r*4-r*2+r*2;
RightY[8] = getHeight()/2+r/3-r*4+r*4-r*1+r*2;
RightY[9] = getHeight()/2+r/3-r*4+r*4-r*0+r*2;
}
public void ForwardRightUp() {
ForwardColor[0] = 1;
UpColor[0] = 1;
LeftColor[0] = 0;
BackColor[0] = 0;
DownColor[0] = 0;
RightColor[0] = 1;
int i;
for ( i = 1; i < 10 ; i++ ) {
ForwardRx[i] = r*2;
ForwardRy[i] = 2*r;
}
ForwardX[1] = getWidth()/2-r*6-r*3;
ForwardX[2] = getWidth()/2-r*4-r*3;
ForwardX[3] = getWidth()/2-r*2-r*3;
ForwardX[4] = getWidth()/2-r*6-r*3;
ForwardX[5] = getWidth()/2-r*4-r*3;
ForwardX[6] = getWidth()/2-r*2-r*3;
ForwardX[7] = getWidth()/2-r*6-r*3;
ForwardX[8] = getWidth()/2-r*4-r*3;
ForwardX[9] = getWidth()/2-r*2-r*3;
ForwardY[1] = getHeight()/2+r*0-r*2;
ForwardY[2] = getHeight()/2+r*0-r*2;
ForwardY[3] = getHeight()/2+r*0-r*2;
ForwardY[4] = getHeight()/2+r*2-r*2;
ForwardY[5] = getHeight()/2+r*2-r*2;
ForwardY[6] = getHeight()/2+r*2-r*2;
ForwardY[7] = getHeight()/2+r*4-r*2;
ForwardY[8] = getHeight()/2+r*4-r*2;
ForwardY[9] = getHeight()/2+r*4-r*2;
for ( i = 1; i < 10 ; i++ ) {
BackRx[i] = r*2;
BackRy[i] = 2*r;
}
BackX[1] = getWidth()/2+r*0+r*3;
BackX[2] = getWidth()/2+r*2+r*3;
BackX[3] = getWidth()/2+r*4+r*3;
BackX[4] = getWidth()/2+r*0+r*3;
BackX[5] = getWidth()/2+r*2+r*3;
BackX[6] = getWidth()/2+r*4+r*3;
BackX[7] = getWidth()/2+r*0+r*3;
BackX[8] = getWidth()/2+r*2+r*3;
BackX[9] = getWidth()/2+r*4+r*3;
BackY[1] = getHeight()/2-r*2+r*2;
BackY[2] = getHeight()/2-r*2+r*2;
BackY[3] = getHeight()/2-r*2+r*2;
BackY[4] = getHeight()/2-r*4+r*2;
BackY[5] = getHeight()/2-r*4+r*2;
BackY[6] = getHeight()/2-r*4+r*2;
BackY[7] = getHeight()/2-r*6+r*2;
BackY[8] = getHeight()/2-r*6+r*2;
BackY[9] = getHeight()/2-r*6+r*2;
for ( i = 1; i < 10 ; i++ ) {
UpRx[i] = r*8/4;
UpRy[i] = 1*r;
}
UpX[7] = getWidth()/2-r/3-r*8;
UpX[8] = getWidth()/2-r/3-r*6;
UpX[9] = getWidth()/2-r/3-r*4;
UpX[4] = getWidth()/2-r/3-r*7;
UpX[5] = getWidth()/2-r/3-r*5;
UpX[6] = getWidth()/2-r/3-r*3;
UpX[1] = getWidth()/2-r/3-r*6;
UpX[2] = getWidth()/2-r/3-r*4;
UpX[3] = getWidth()/2-r/3-r*2;
UpY[1] = getHeight()/2-r*3+r*0-r*2;
UpY[2] = getHeight()/2-r*3+r*0-r*2;
UpY[3] = getHeight()/2-r*3+r*0-r*2;
UpY[4] = getHeight()/2-r*3+r*1-r*2;
UpY[5] = getHeight()/2-r*3+r*1-r*2;
UpY[6] = getHeight()/2-r*3+r*1-r*2;
UpY[7] = getHeight()/2-r*3+r*2-r*2;
UpY[8] = getHeight()/2-r*3+r*2-r*2;
UpY[9] = getHeight()/2-r*3+r*2-r*2;
for ( i = 1; i < 10 ; i++ ) {
DownRx[i] = r*2;
DownRy[i] = 1*r;
}
DownX[7] = getWidth()/2+r/3+r*8-r*6;
DownX[8] = getWidth()/2+r/3+r*8-r*4;
DownX[9] = getWidth()/2+r/3+r*8-r*2;
DownX[4] = getWidth()/2+r/3+r*8-r*7;
DownX[5] = getWidth()/2+r/3+r*8-r*5;
DownX[6] = getWidth()/2+r/3+r*8-r*3;
DownX[1] = getWidth()/2+r/3+r*8-r*8;
DownX[2] = getWidth()/2+r/3+r*8-r*6;
DownX[3] = getWidth()/2+r/3+r*8-r*4;
DownY[1] = getHeight()/2+r*2+r*2;
DownY[2] = getHeight()/2+r*2+r*2;
DownY[3] = getHeight()/2+r*2+r*2;
DownY[4] = getHeight()/2+r*1+r*2;
DownY[5] = getHeight()/2+r*1+r*2;
DownY[6] = getHeight()/2+r*1+r*2;
DownY[7] = getHeight()/2+r*0+r*2;
DownY[8] = getHeight()/2+r*0+r*2;
DownY[9] = getHeight()/2+r*0+r*2;
for ( i = 1; i < 10 ; i++ ) {
LeftRx[i] = r*1;
LeftRy[i] = r*8/4;
}
LeftX[1] = getWidth()/2+r*6-r*1-r*3;
LeftX[2] = getWidth()/2+r*6-r*2-r*3;
LeftX[3] = getWidth()/2+r*6-r*3-r*3;
LeftX[4] = getWidth()/2+r*6-r*1-r*3;
LeftX[5] = getWidth()/2+r*6-r*2-r*3;
LeftX[6] = getWidth()/2+r*6-r*3-r*3;
LeftX[7] = getWidth()/2+r*6-r*1-r*3;
LeftX[8] = getWidth()/2+r*6-r*2-r*3;
LeftX[9] = getWidth()/2+r*6-r*3-r*3;
LeftY[1] = getHeight()/2+r/3+r*0-r*2-r*2;
LeftY[2] = getHeight()/2+r/3+r*0-r*1-r*2;
LeftY[3] = getHeight()/2+r/3+r*0-r*0-r*2;
LeftY[4] = getHeight()/2+r/3+r*2-r*2-r*2;
LeftY[5] = getHeight()/2+r/3+r*2-r*1-r*2;
LeftY[6] = getHeight()/2+r/3+r*2-r*0-r*2;
LeftY[7] = getHeight()/2+r/3+r*4-r*2-r*2;
LeftY[8] = getHeight()/2+r/3+r*4-r*1-r*2;
LeftY[9] = getHeight()/2+r/3+r*4-r*0-r*2;
for ( i = 1; i < 10 ; i++ ) {
RightRx[i] = r*1;
RightRy[i] = 2*r;
}
RightX[1] = getWidth()/2-r*6+r*0+r*3;
RightX[2] = getWidth()/2-r*6+r*1+r*3;
RightX[3] = getWidth()/2-r*6+r*2+r*3;
RightX[4] = getWidth()/2-r*6+r*0+r*3;
RightX[5] = getWidth()/2-r*6+r*1+r*3;
RightX[6] = getWidth()/2-r*6+r*2+r*3;
RightX[7] = getWidth()/2-r*6+r*0+r*3;
RightX[8] = getWidth()/2-r*6+r*1+r*3;
RightX[9] = getWidth()/2-r*6+r*2+r*3;
RightY[1] = getHeight()/2-r/3-r*4+r*0-r*0+r*2;
RightY[2] = getHeight()/2-r/3-r*4+r*0-r*1+r*2;
RightY[3] = getHeight()/2-r/3-r*4+r*0-r*2+r*2;
RightY[4] = getHeight()/2-r/3-r*4+r*2-r*0+r*2;
RightY[5] = getHeight()/2-r/3-r*4+r*2-r*1+r*2;
RightY[6] = getHeight()/2-r/3-r*4+r*2-r*2+r*2;
RightY[7] = getHeight()/2-r/3-r*4+r*4-r*0+r*2;
RightY[8] = getHeight()/2-r/3-r*4+r*4-r*1+r*2;
RightY[9] = getHeight()/2-r/3-r*4+r*4-r*2+r*2;
}
protected void keyPressed(int keyCode) {
String key ="";
switch( keyCode ) {
case Canvas.KEY_NUM1 :
key="1";
n=n+1;
UpClockwise();
break;
case Canvas.KEY_NUM2 :
key="2";
n=n+1;
BackContrarotate();
break;
case Canvas.KEY_NUM3 :
key="3";
n=n+1;
UpContrarotate();
break;
case Canvas.KEY_NUM4 :
key="4";
n=n+1;
LeftContrarotate();
break;
case Canvas.KEY_NUM5 :
key="5";
n=n+1;
BackClockwise();
break;
case Canvas.KEY_NUM6 :
key="6";
n=n+1;
RightClockwise();
break;
case Canvas.KEY_NUM7 :
key="7";
n=n+1;
LeftClockwise();
break;
case Canvas.KEY_NUM8 :
key="8";
n=n+1;
ForwardClockwise();
break;
case Canvas.KEY_NUM9 :
key="9";
n=n+1;
RightContrarotate();
break;
case Canvas.KEY_STAR :
key="*";
n=n+1;
DownContrarotate();
break;
case Canvas.KEY_NUM0 :
key="0";
n=n+1;
ForwardContrarotate();
break;
case Canvas.KEY_POUND :
key="#";
n=n+1;
DownClockwise();
break;
default:
break;
}
if ( key =="" ) {
switch( getGameAction(keyCode) ) {
case Canvas.UP:
key="UP";
switch ( eyeshot ) {
case 0:
ForwardLeftDown();
eyeshot = 1;
break;
case 1:
ForwardTurnDown();
ForwardTurnDown();
ForwardTurnDown();
break;
case 2:
ForwardTurnDown();
ForwardTurnDown();
ForwardTurnDown();
break;
case 3:
ForwardRightDown();
eyeshot = 2;
break;
default:
break;
}
break;
case Canvas.DOWN:
key="DOWN";
switch ( eyeshot ) {
case 0:
ForwardTurnDown();
break;
case 1:
ForwardLeftUp();
eyeshot = 0;
break;
case 2:
ForwardRightUp();
eyeshot = 3;
break;
case 3:
ForwardTurnDown();
break;
default:
break;
}
break;
case Canvas.LEFT:
key="LEFT";
switch ( eyeshot ) {
case 0:
ForwardRightUp();
eyeshot = 3;
break;
case 1:
ForwardRightDown();
eyeshot = 2;
break;
case 2:
ForwardTurnLeft() ;
ForwardTurnLeft() ;
ForwardTurnLeft() ;
break;
case 3:
ForwardTurnLeft() ;
ForwardTurnLeft() ;
ForwardTurnLeft() ;
break;
default:
break;
}
break;
case Canvas.RIGHT:
key="RIGHT";
switch ( eyeshot ) {
case 0:
ForwardTurnLeft() ;
break;
case 1:
ForwardTurnLeft() ;
break;
case 2:
ForwardLeftDown();
eyeshot = 1;
break;
case 3:
ForwardLeftUp();
eyeshot = 0;
break;
default:
break;
}
break;
case Canvas.FIRE:
key="FIRE";
n=n+1;
ForwardContrarotate();
break;
}
}
repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -