📄 数字拼图.txt
字号:
/*
Starboy编写,版权随意。如果有人将之完善,请通知我一声。
*/
import java.applet.*;
import java.awt.*;
public class num extends Applet
{
int startx,starty,dx;
int N[][];
int x,y;
Label lb1;
public num()
{
}
public void random()
{
int r[]=new int[10];
for(int i=0;i<8;i++)
{ r[i]=i+1;
}
int k=0;
int l=0;
for(int i=0;i<3;i++)
for(int j=0;j<2;j++)
{ l=(int)Math.round((7-k)*Math.random());
N[i][j]=r[l];
r[l]=r[7-k];
k++;
}
l=(int)Math.round(1*Math.random());
N[0][2]=r[l];
if(l==0)
N[1][2]=r[1];
else
N[1][2]=r[0];
}
public String getAppletInfo()
{
return "Name: 拼数字图形\r\n" +
"Author: Starboy\r\n" +
"Created with Microsoft Visual J++ Version 1.1";
}
public void init()
{ lb1=new Label("数字拼图 ---by starboy");
add(lb1);
N=new int[3][3];
random();
x=2;y=2;
dx=20;
startx=48;
starty=54;
}
public void destroy()
{
}
public void paint(Graphics g)
{ g.drawRect(startx-dx/2+4,starty-dx/2-6,(int)dx*7/2,(int)dx*7/2);
boolean win=true;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{ g.drawString(" "+N[i][j],startx+i*dx,starty+j*dx);
}
g.drawString(" ",startx+x*dx,starty+y*dx);
for(int i=0;i<3;i++)
for(int j=0;j<2;j++)
{ if(N[i][j]!=(j*3+i+1))
win=false;
}
if( (N[0][2]!=7) || (N[1][2]!=8) )
{ win=false;
}
if(win==true)
{ lb1.setText("You Win!!!");
}
}
public void start()
{
}
public void stop()
{
}
public boolean keyDown(Event evt, int key)
{
switch(key)
{ case Event.LEFT: if(x<2)
{ N[x][y]=N[x+1][y];
N[x+1][y]=0;
x++;
}
break;
case Event.RIGHT: if(x>0)
{ N[x][y]=N[x-1][y];
N[x-1][y]=0;
x--;
}
break;
case Event.UP: if(y<2)
{ N[x][y]=N[x][y+1];
N[x][y+1]=0;
y++;
}
break;
case Event.DOWN: if(y>0)
{ N[x][y]=N[x][y-1];
N[x][y-1]=0;
y--;
}
break;
}
repaint();
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -