java绘制国际象棋与中国象棋棋盘

JAVA API 中的绘制图形类的paint()方法,我们可以轻松绘制中国象棋与国际象棋的棋盘。详见代码;

 一、中国象棋棋盘代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
  
public class ChineseChese extends Frame{
  public ChineseChese(){
  setSize( 630 , 630 );
  this .setVisible( true );
  addWindowListener( new WindowAdapter(){
  public void windowClosing(WindowEvent e){
  System.exit( 0 );
  }
  });
  }
  public void paint(Graphics g){
  
  
  Font f= new Font( "微软雅黑" ,Font.BOLD, 30 );
  g.setFont(f);
  int length= 60 ;
  g.drawRect( 60 , 50 , 500 , 560 ); //外圈
  g.drawRect( 70 , 60 , 480 , 540 );
  /*横线部分*/
  for(int i=0;i<9;i++){
  g.drawLine(70, length, 550, length);
   length+=60;
   /*中间汉字*/
   g.drawString("楚河", 130, 350);
   g.drawString("汉界",400 , 350);
  }
  length=130;
  /*上半部分竖线*/
  for(int i=0;i<7;i++){
  g.drawLine( length,60, length,300);
  length+=60;
  }
  /*下半部分竖线*/
  length=130;
  
  for(int i=0;i<7;i++){
  g.drawLine( length,360, length,600);
  length+=60;
  }
  /*上半部分九宫格斜线*/
  g.drawLine(250, 60, 370, 180);
  g.drawLine(370, 60, 250, 180);
  /*下半部分九宫格斜线*/
  
  g.drawLine( 250 , 480 , 370 , 600 );
  g.drawLine( 250 , 600 , 370 , 480 );
  
  }
   public static void main(String args[]){
   new ChineseChese();
   
   }
}

二、国际象棋代码 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import java.applet.Applet;
import java.awt.Graphics;
  
public class ChessBoard extends Applet{
  public void init(){
  setSize( 400 , 400 );
  this .setVisible( true );
  
  }
  public void paint(Graphics g){
  g.drawRect( 20 , 10 , 320 , 320 );
  g.drawLine( 60 , 10 , 60 , 330 ); //第一条竖线;
  g.drawLine( 100 , 10 , 100 , 330 ); //第二条竖线;
   g.drawLine( 140 , 10 , 140 , 330 ); //第三条竖线;
   g.drawLine( 180 , 10 , 180 , 330 );
  g.drawLine( 220 , 10 , 220 , 330 );
  g.drawLine( 260 , 10 , 260 , 330 );
  g.drawLine( 300 , 10 , 300 , 330 );
  // g.drawLine(340,10,340,330);
  /*绘制横线*/
  g.drawLine(20,50,340,50); //第一条横线;
  g.drawLine(20,90,340,90);
  g.drawLine(20,130,340,130);
  g.drawLine(20,170,340,170);
  g.drawLine(20,210,340,210);
  g.drawLine(20,250,340,250);
  g.drawLine(20,290,340,290);
  
  /*填充黑框*/
   g.fillRect( 20 , 10 , 40 , 40 );
   g.fillRect( 100 , 10 , 40 , 40 );
   g.fillRect( 180 , 10 , 40 , 40 );
   g.fillRect( 260 , 10 , 40 , 40 );
   
   g.fillRect( 60 , 50 , 40 , 40 );
   g.fillRect( 140 , 50 , 40 , 40 );
   g.fillRect( 220 , 50 , 40 , 40 );
   g.fillRect( 300 , 50 , 40 , 40 );
   
   g.fillRect( 20 , 90 , 40 , 40 );
   g.fillRect( 100 , 90 , 40 , 40 );
   g.fillRect( 180 , 90 , 40 , 40 );
   g.fillRect( 260 , 90 , 40 , 40 );
   
   g.fillRect( 60 , 130 , 40 , 40 );
   g.fillRect( 140 , 130 , 40 , 40 );
   g.fillRect( 220 , 130 , 40 , 40 );
   g.fillRect( 300 , 130 , 40 , 40 );
   
   g.fillRect( 20 , 170 , 40 , 40 );
   g.fillRect( 100 , 170 , 40 , 40 );
   g.fillRect( 180 , 170 , 40 , 40 );
   g.fillRect( 260 , 170 , 40 , 40 );
   
   g.fillRect( 60 , 210 , 40 , 40 );
   g.fillRect( 140 , 210 , 40 , 40 );
   g.fillRect( 220 , 210 , 40 , 40 );
   g.fillRect( 300 , 210 , 40 , 40 );
   
   g.fillRect( 20 , 250 , 40 , 40 );
   g.fillRect( 100 , 250 , 40 , 40 );
   g.fillRect( 180 , 250 , 40 , 40 );
   g.fillRect( 260 , 250 , 40 , 40 );
   
   g.fillRect( 60 , 290 , 40 , 40 );
   g.fillRect( 140 , 290 , 40 , 40 );
   g.fillRect( 220 , 290 , 40 , 40 );
   g.fillRect( 300 , 290 , 40 , 40 );
  }

中国象棋棋盘效果图

国际象棋效果图

猜你喜欢

转载自www.cnblogs.com/uthgfgd88/p/10908649.html