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-04mybatis-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ǔ)知識,需要的朋友可以參考下2015-11-11java并發(fā)編程專題(四)----淺談(JUC)Lock鎖
這篇文章主要介紹了java并發(fā)編程(JUC)Lock鎖的相關(guān)內(nèi)容,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06Java深入淺出掌握SpringBoot之MVC自動(dòng)配置原理篇
在進(jìn)行項(xiàng)目編寫前,我們還需要知道一個(gè)東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們在之后使用才會(huì)更加得心應(yīng)手2021-10-10SpringBoot實(shí)現(xiàn)阿里云短信接口對接的示例代碼
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)阿里云短信接口對接的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09