中国象棋棋子java代码 java象棋棋盘类怎么写-成都快上网建站

中国象棋棋子java代码 java象棋棋盘类怎么写

求要中国象棋将,帅的走法的JAVA代码

int[][] loaction=new int[10][9];

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、中阳网络推广、小程序开发、中阳网络营销、中阳企业策划、中阳品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供中阳建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

左帅:loaction[0][4];

X X X

X X

X X X

-----

[0][3] [1][3] [2][3]

[0][4] [1][4] [2][4]

[0][5] [1][5] [2][5]

即:x=0 x=2 y=3 y=5

------------------------------

右将:loaction[9][4];

X X X

X X

X X X

-----

[7][3] [8][3] [9][3]

[7][4] [8][4] [9][4]

[7][5] [8][5] [9][5]

---------------------------

public int go(int x,int y,int path,int len){

if(loaction[x][y]==1) {//是帅

if(path==1){//向左

if(x=0) return -1;//返回-1代表走发错误

else {loaction[x-1][y]=1;loaction[x][y]=-1;}//将左一个格子标记为帅

}

else if(path==2){//向上

...

}

else if(path==3){//向右

...

}

else if(path==4){//向下

...

}//else path

}//if key

else if(loaction[x][x]==2){//2代表将

....

}//if key

}

车就差不多了

如何用java swing 实现中国象棋的棋盘。棋盘就好。。。

package com.fzhw.app;

import java.awt.BorderLayout;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.HeadlessException;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class Xiangqi extends JFrame{

private static final long serialVersionUID = 1;

public Xiangqi() throws HeadlessException {

super();

setTitle("my board");

this.getContentPane().setLayout(new BorderLayout());

this.getContentPane().add(new Board(), BorderLayout.CENTER);

this.setSize(960, 960);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String args[]){

new Xiangqi().setVisible(true);

}

}

class Board extends JPanel{

private static final long serialVersionUID = 1L;

protected void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics2D g2d=(Graphics2D)g;

int width=this.getWidth();

int height=this.getHeight();

int hGap=height/9;

int wGap=width/8;

for(int i=0;i10;i++){

g2d.drawLine(0, i*hGap, width, i*hGap);

}

for(int i=0;i9;i++){

g2d.drawLine(i*wGap, 0, i*wGap, 4*hGap);

g2d.drawLine(i*wGap, 5*hGap, i*wGap, height);

}

g2d.drawString("楚河         汉界", width/2, height/2);

g2d.drawLine(3*wGap, 0, 5*wGap, 2*hGap);

g2d.drawLine(5*wGap, 0, 3*wGap, 2*hGap);

g2d.drawLine(3*wGap, height, 5*wGap, height-2*hGap);

g2d.drawLine(3*wGap, height-2*hGap, 5*wGap, height);

g2d.dispose();

}

}

两种选择,第一,你用一个背景图片来充当欺骗,落子位置的在panel上转化,楚河汉界不用管,两边是对称的。

第二种,用Graphics2D自己draw line。

我给你写好了,但是10分太少,不想给啊

你好,请问你有具体的将棋子图片放到棋盘上的Java代码吗?或者是你自己编写的Java国际象棋程序?很急!!!

有,但是我不能直接给你。我可以告诉你步骤。

首先是加载图片文件为 Image:比如你有个类叫 ResourceLoader 那么就添加下面的类成员:

public static final URL url = ResourceLoader.class.getResource("/xxx/.../文件名.png");

public static final Image img = Toolkit.getDefaultToolkit().createImage(url);

然后就加载好了。下一步是继承一个 JPanel(例如),添加鼠标/键盘事件,并重写 paint 方法(或 paintComponent 方法)。例如——

public class ChessPanel extends JPanel {

private Point[] chessPoints = new Point[共多少个棋子];

private boolean[] shown = new boolean[共多少个棋子];

@Override public void paintComponent (Graphics g) {

super.paintComponent(g);

for (int i=0; i共多少个棋子; i++) {

if (shown[i]) {

g.drawImage(ResourceLoader.img, chessPoints[i].x, chessPoints[i].y, 棋子宽度, 棋子高度);

}

}

}

class MouseControler extends MouseAdapter {

@Override public void mousePressed (MouseEvent me) {

//自己写吧

repaint();

}

}

}

最后说明一下,图片资源文件可以打包到 jar 里。我把关键的部分都已经告诉你了。具体逻辑实现你自己写吧。当然数据结构你也可以自己写,我的例子只是告诉你相应的在 paint 或者 paintComponent 方法里全部画出来就行了。

希望能采纳。


网页标题:中国象棋棋子java代码 java象棋棋盘类怎么写
标题URL:http://kswjz.com/article/dopdjsg.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流