java繪制國際象棋與中國象棋棋盤
更新時(shí)間:2019年05月22日 16:04:21 作者:GB記憶
這篇文章主要為大家詳細(xì)介紹了java繪制國際象棋與中國象棋棋盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
JAVA API 中的繪制圖形類的paint()方法,我們可以輕松繪制中國象棋與國際象棋的棋盤。詳見代碼:
一、中國象棋棋盤代碼
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();
}
}
二、國際象棋代碼
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);
}
中國象棋棋盤效果圖

國際象棋效果圖

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Java模擬棧的實(shí)現(xiàn)以及Stack類的介紹
棧是一種數(shù)據(jù)結(jié)構(gòu),它按照后進(jìn)先出的原則來存儲(chǔ)和訪問數(shù)據(jù)。Stack是一個(gè)類,表示棧數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)。本文就來和大家介紹一下Java模擬棧的實(shí)現(xiàn)以及Stack類的使用,需要的可以參考一下2023-04-04
mybatis-plus指定字段模糊查詢的實(shí)現(xiàn)方法
最近項(xiàng)目中使用springboot+mybatis-plus來實(shí)現(xiàn),所以下面這篇文章主要給大家介紹了關(guān)于mybatis-plus實(shí)現(xiàn)指定字段模糊查詢的相關(guān)資料,需要的朋友可以參考下2022-04-04
解析Oracle數(shù)據(jù)庫中的對象集合schema
這篇文章主要介紹了Oracle數(shù)據(jù)庫中的對象集合schema,是Oracle數(shù)據(jù)庫入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-11-11
java并發(fā)編程專題(四)----淺談(JUC)Lock鎖
這篇文章主要介紹了java并發(fā)編程(JUC)Lock鎖的相關(guān)內(nèi)容,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06
Java深入淺出掌握SpringBoot之MVC自動(dòng)配置原理篇
在進(jìn)行項(xiàng)目編寫前,我們還需要知道一個(gè)東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們在之后使用才會(huì)更加得心應(yīng)手2021-10-10
SpringBoot實(shí)現(xiàn)阿里云短信接口對接的示例代碼
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)阿里云短信接口對接的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

