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

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);
 }

中国象棋棋盘效果图

国际象棋效果图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java基于分治算法实现的棋盘覆盖问题示例

    本文实例讲述了Java基于分治算法实现的棋盘覆盖问题.分享给大家供大家参考,具体如下: 在一个2^k * 2^k个方格组成的棋盘中,有一个方格与其它的不同,若使用以下四种L型骨牌覆盖除这个特殊方格的其它方格,如何覆盖.四个L型骨牌如下图: 棋盘中的特殊方格如图: 实现的基本原理是将2^k * 2^k的棋盘分成四块2^(k - 1) * 2^(k - 1)的子棋盘,特殊方格一定在其中的一个子棋盘中,如果特殊方格在某一个子棋盘中,继续递归处理这个子棋盘,直到这个子棋盘中只有一个方格为止如果特殊方格不

  • Java棋类游戏实践之中国象棋

    本文实例讲述了java实现的中国象棋游戏代码,分享给大家供大家参考,具体代码如下 一.实践目的: 1.鼠标点击.拖动等事件的应用与区别 2.棋谱文件的保存与读取 3.完善象棋的规则. 二.实践内容: 中国象棋历史悠久,吸引了无数的人研究,现对中国象棋的对战和实现棋谱的制作做如下的设计和说明,供大家参考学习. 1.机机对弈,红方先手.在符合规则的情况下拖动棋子到目的地,松鼠标落子. 人人对弈图 2.制作棋谱,选择制作棋谱菜单后,对弈开始,并记录了下棋过程. 选择"制作棋谱"菜单 棋谱制作

  • Java实现两人五子棋游戏(二) 画出棋盘

    本文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下 棋盘模块: 画五子棋棋盘:19条横线.19条竖线 步骤一:显示棋盘 我有一张名为chessboard.png的棋盘,位置为根目录/res/drawable/chessboard/png,现在我要显示这张图片. DrawChessBoard.java package xchen.test.simpleGobang; import java.awt.Graphics; import java.awt.Image; impor

  • java打印国际象棋棋盘的方法

    本文实例为大家分享了java打印出国际象棋棋盘的具体代码,供大家参考,具体内容如下 问题分析 观察国际象棋棋盘的图案,可以发现其中的规律:棋盘由八行八列黑白方块相间组成,可以用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方块还是白方块.这里我们使用了Swing的标签组件JLable,通过设置JLabel组件的背景色和透明度来实现黑白方块. (1)确定程序框架 这是一个绘图案例,这里我们采用JFrame创建窗口,然后在窗口里添加JLabel标签组件,通过前面的问题分析可知,JLabel标

  • Javafx实现国际象棋游戏

    本文实例为大家分享了Javafx实现国际象棋游戏的具体代码,供大家参考,具体内容如下 基本规则 棋子马设计"日"的移动方式 兵设计只能向前直走,每次只能走一格.但走第一步时,可以走一格或两格的移动方式 请为后设计横.直.斜都可以走,步数不受限制,但不能越子的移动方式. 车只能横向或者竖向行走 国王是在以自己为中心的九宫格内行走 骑士只能走对角线 项目目录结构 UML类图关系 以骑士为例 实现基本功能 吃子 不能越子 游戏结束提示 基本移动策略 背景音乐 效果 控制器 PressedAc

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

    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{

  • c# 绘制中国象棋棋盘与棋子

    本文是利用C# 实现中国象棋的棋盘绘制,以及初始化布局,并不实现中国象棋的对弈逻辑.仅供学习参考使用. 思路: 绘制中国象棋棋盘,竖线九条,横线十条.再中间绘制'楚河','汉界' . 绘制棋子,然后将棋子布局在棋盘上即可. 涉及知识点: 用户控件:用于实现棋盘的绘制,重写 OnPaint(PaintEventArgs e) 方法. Matrix:封装表示几何变换的 3x3 仿射矩阵.本例中主要用于旋转绘制反方的'汉界'. GraphicsPath:表示一系列相互连接的直线和曲线.本例中主要用于绘

  • C#绘制中国象棋棋盘

    在C#绘制中国象棋棋盘是C#程序设计中GDI+的一个重要组成部分.这也是非常考验编程技巧的操作.在绘制之前首先要对棋盘有一个完整的认识.下面是完成后的输出图案. 1.在制作过程中用到了背景图片如下: 2.棋盘的横竖交叉线的坐标如下图(棋盘横向.竖向都以50象素间距绘制) 3.更细的坐标分布如下图 完整的代码如下图 using System; using System.Collections.Generic; using System.ComponentModel; using System.Da

  • java使用swing绘制国际象棋棋盘

    本文实例为大家分享了java使用swing绘制国际象棋棋盘的具体代码,供大家参考,具体内容如下 1.完整代码 import java.awt.Color; import java.awt.Point; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JLabel; public class guo_ji_xiang_qi_qipan { public static void main(

  • Java实现中国象棋游戏

    目录 一.界面 二.按钮 三.加棋子 四.实现棋子的移动 五.判断胜负 六.按钮“开始游戏”和“重新开始”的实现 七.加规则 八.轮次 九.悔棋 十.背景 及 提示 本文实例为大家分享了Java实现中国象棋游戏的具体代码,供大家参考,具体内容如下 实现一个小游戏需要知道从哪里下手,一步步实现和完善,对于一个中国象棋的小游戏,我们可以按这样的顺序展开: 一.界面 下棋的棋盘首先要准备好,这就是一个合适大小合适比例合适位置的界面,然后在窗体上画上(没错drawLine的那种画上)n条直线和斜线,具体

  • Java实现中国象棋的示例代码

    目录 前言 主要设计 功能截图 代码实现 总结 前言 中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史.由于用具简单,趣味性强,成为流行极为广泛的棋艺活动. 中国象棋使用方形格状棋盘,圆形棋子共有32个,红黑二色各有16个棋子,摆放和活动在交叉点上.双方交替行棋,先把对方的将(帅)“将死”的一方获胜. 中国象棋是一款具有浓郁中国特色的益智游戏,新增的联网对战,趣味多多,聚会可以约小朋友一起来挑战.精彩的对弈让你感受中国象棋的博大精深. <中国象棋>游戏是用java语

  • python图形工具turtle绘制国际象棋棋盘

    本文实例为大家分享了python图形工具turtle绘制国际象棋棋盘的具体代码,供大家参考,具体内容如下 #编写程序绘制一个国际象棋的棋盘 import turtle turtle.speed(30) turtle.penup() off = True for y in range(-40, 30 + 1, 10): for x in range(-40, 30 + 1, 10): if off: turtle.goto(x, y) turtle.pendown() turtle.begin_f

  • java绘制五子棋棋盘

    本文实例为大家分享了java绘制五子棋棋盘的具体代码,供大家参考,具体内容如下 源码: import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class Demo extends JFrame { //背景图片 Buffere

  • Python实现PIL图像处理库绘制国际象棋棋盘

    目录 1 PIL绘制国际象棋棋盘流程 1.1 思路秒懂 1.2 分块解析 2 完整代码 2.1 方法一 2.2 方法二 2.3 方法三(精简版) 3 结果展示 网页上搜索 "python绘制国际象棋棋盘",索引结果均为调用 turtle 库绘制棋盘结果:为了填充使用 python PIL 图像处理库绘制国际象棋棋盘的空白,今日分享此文. 1 PIL绘制国际象棋棋盘流程 1.1 思路秒懂 步骤1:创建空白图片和绘画对象 步骤2:绘制网格 步骤3:填充颜色 1.2 分块解析 步骤1:创建空

随机推荐