📄 my.java
字号:
import java.awt.*;import java.applet.Applet;public class my extends java.applet.Applet { public int tile=0; public static int size=8; public static int m=2,n=2; public static int Style[]=new int[(size*size-1)/3]; public static int Temp_x[]=new int[(size*size-1)/3]; public static int Temp_y[]=new int[(size*size-1)/3]; public static int first_X,first_Y; public static int No; public static boolean FirstTime = true; public static boolean paintEnable = false; public static boolean mouseClickEnable = true; int board[][]=new int[size][size]; /** Initializes the applet my */ public void init() { initComponents(); } public void star() { my c=new my(); int i,j; int size=8; int tr=0,tc=0; int dr=((first_X-20)/40),dc=((first_Y-20)/40); System.out.println("first_X="+first_X+" first_Y="+first_Y); System.out.println("dr="+dr+" dc="+dc); for (int a=0;a<size;a++) for (int b=0;b<size;b++) board[a][b]=0; chessBoard(tr,tc,dr,dc,size); repaint(); System.out.println("chessBoard has finished."); } public void paint(Graphics g) { ////---------------- 画线 ----------------------------- g.setColor(Color.BLACK ); for (int xy=0;xy<=size;xy++) { g.drawLine(20+40*xy, 20, 20+40*xy, 20+40*size); g.drawLine(20, 20+40*xy, 20+40*size, 20+40*xy); } while (!mouseClickEnable) { System.out.println("Big!mouseClickEnable is around."); ////---------------- 画第一个点 ------------------------------ while (!mouseClickEnable) { System.out.println("little!mouseClickEnable is around."); int alpha = 100; No=20; while (alpha<255){ g.setColor(new Color(Color.RED.getRed(),Color.RED.getGreen(),Color.RED.getBlue(),alpha)); g.fillOval(first_X+1, first_Y+1, 38, 38); try{ Thread.sleep(50); } catch(InterruptedException e) { showStatus(e.toString()); } alpha+=2; if (alpha==70) alpha=256; System.out.println("我也不想死循环啊~~~5555 alpha = "+alpha); } while (paintEnable) { System.out.println("paintEnable is around."); g.setColor(Color.BLACK ); FirstTime = false ; No=20; System.out.println("I have get there."); while(No!=-1) { alpha = 0; switch(Style[No]) { case 1: while (alpha<256) { g.setColor(new Color(Color.ORANGE.getRed(),Color.ORANGE.getGreen(),Color.ORANGE.getBlue(),alpha)); g.fillRect(21+40*Temp_x[No], 21+40*Temp_y[No], 39, 79); g.fillRect(21+40*(Temp_x[No]-1), 21+40*(Temp_y[No]+1), 79, 39); // System.out.println("alpha="+alpha); try{ Thread.sleep(50); } catch(InterruptedException e) { showStatus(e.toString()); } alpha+=2; if (alpha==70) alpha=256; } alpha = 0; break; case 2: while (alpha<256) { g.setColor(new Color(Color.GREEN.getRed(),Color.GREEN.getGreen(),Color.GREEN.getBlue(),alpha)); g.fillRect(21+40*Temp_x[No], 21+40*Temp_y[No], 79, 39); g.fillRect(21+40*(Temp_x[No]+1), 21+40*(Temp_y[No]), 39, 79); // System.out.println("已经画出第二个图,在位置"+Temp_x[No]+","+Temp_y[No]); try{ Thread.sleep(50); } catch(InterruptedException e) { showStatus(e.toString()); } alpha+=2; if (alpha==70) alpha=256; } alpha = 0; break; case 3: while (alpha<256) { g.setColor(new Color(Color.BLUE.getRed(),Color.BLUE.getGreen(),Color.BLUE.getBlue(),alpha)); g.fillRect(21+40*Temp_x[No], 21+40*Temp_y[No], 39, 79); g.fillRect(21+40*(Temp_x[No]), 21+40*(Temp_y[No]+1), 79, 39); // System.out.println("已经画出第三个图,在位置"+Temp_x[No]+","+Temp_y[No]); try{ Thread.sleep(50); } catch(InterruptedException e) { showStatus(e.toString()); } alpha+=2; if (alpha==70) alpha=256; } alpha = 0; break; case 4: while (alpha<256) { g.setColor(new Color(Color.MAGENTA.getRed(),Color.MAGENTA.getGreen(),Color.MAGENTA.getBlue(),alpha)); g.fillRect(21+40*Temp_x[No], 21+40*Temp_y[No], 79, 39); g.fillRect(21+40*Temp_x[No], 21+40*Temp_y[No], 39, 79); // System.out.println("已经画出第四个图,在位置"+Temp_x[No]+","+Temp_y[No]); try{ Thread.sleep(50); } catch(InterruptedException e) { showStatus(e.toString()); } alpha+=2; if (alpha==70) alpha=256; } alpha = 0; break; // default: // g.setColor(Color.WHITE); // break; } No--; } break; } try{ Thread.sleep(50); } catch(InterruptedException e) { showStatus(e.toString()); } break; } break; } } public void chessBoard(int tr,int tc,int dr,int dc,int size) { if (size==1) return; int t = tile++ ; int s = size/2; //--------------------------------------------------------左上 1 if (dr<tr+s&&dc<tc+s) { chessBoard(tr,tc,dr,dc,s); t=1; } else { // board[tr+s-1][tc+s-1]=t; chessBoard(tr,tc,tr+s-1,tc+s-1,s); } //--------------------------------------------------------右上 2 if (dr<tr+s&&dc>=tc+s) { chessBoard(tr,tc+s,dr,dc,s); t=2; } else { // board[tr+s-1][tc+s]=t; chessBoard(tr,tc+s,tr+s-1,tc+s,s); } //--------------------------------------------------------左下 3 if (dr>=tr+s&&dc<tc+s) { chessBoard(tr+s,tc,dr,dc,s); t=3; } else { // board[tr+s][tc+s-1]=t; chessBoard(tr+s,tc,tr+s,tc+s-1,s); } //--------------------------------------------------------右下 4 if (dr>=tr+s&&dc>=tc+s) { chessBoard(tr+s,tc+s,dr,dc,s); t=4; } else { // board[tr+s][tc+s]=t; chessBoard(tr+s,tc+s,tr+s,tc+s,s); } //--------------------------------------------------------填充 switch(t) { case 1: board[tr+s-1][tc+s]=t; board[tr+s][tc+s-1]=t; board[tr+s][tc+s]=t; Temp_x[No]=tr+s; Temp_y[No]=tc+s-1; break; case 2: board[tr+s-1][tc+s-1]=t; board[tr+s][tc+s-1]=t; board[tr+s][tc+s]=t; Temp_x[No]=tr+s-1; Temp_y[No]=tc+s-1; break; case 3: board[tr+s-1][tc+s-1]=t; board[tr+s-1][tc+s]=t; board[tr+s][tc+s]=t; Temp_x[No]=tr+s-1; Temp_y[No]=tc+s-1; break; case 4: board[tr+s-1][tc+s-1]=t; board[tr+s-1][tc+s]=t; board[tr+s][tc+s-1]=t; Temp_x[No]=tr+s-1; Temp_y[No]=tc+s-1; break; } Style[No]=t; System.out.println("Style="+t); No++; System.out.println("No="+No); } private void initComponents() { setLayout(new java.awt.BorderLayout()); addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { getClicked(evt); } }); } private void getClicked(java.awt.event.MouseEvent evt) { System.out.println("Mouse has Clicked!"); while (mouseClickEnable) { int x = 20; int y = 20; int mouse_X=evt.getX(); int mouse_Y=evt.getY(); System.out.println("getX="+mouse_X); if((x<mouse_X)&&(mouse_X<x+size*40)&&(y<mouse_Y)&&(mouse_Y<y+size*40)&&(mouseClickEnable)){ mouseClickEnable = false ; while (x<mouse_X) x+=40; while (y<mouse_Y) y+=40; first_X=x-40; first_Y=y-40; System.out.println(x+" "+y); } System.out.println("这儿死循环"+mouseClickEnable); paintEnable = true ; star(); repaint(); break; } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -