「java如何编写中国象棋」java编写一个象棋游戏

博主:adminadmin 2023-03-21 20:04:10 555

本篇文章给大家谈谈java如何编写中国象棋,以及java编写一个象棋游戏对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

我想做一个java的象棋游戏,不知道看些什么书好,求大神推荐

最重要的一点就你要了解象棋的原理。

其次:Java基础的书籍(网上的都不错,如果喜欢看视频,可以上网上找Java基础视频),再就是看看Java

Swing图形界面编程(这个也是基础,不过在Java基础里都是简单介绍,这里推荐你看看【Java+Swing图形界面开发与案例详解】,因为你已经有了基础,所以看这个你可以直接跟着源码就可以了)

如果你要编写网络版的,你就要细看看Java

Socket编程相关的知识,网上都会有简单的实例什么的。

建议还是开发网络版的吧,单机版的,如果是你自己编写,你就要写计算机AI了。

如何用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怎么编写象棋棋盘

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

}

}

java编程实现中国象棋中马的走位以及输出。

简化一下,假设马不走回头路,一直向右

public class ChessHorse

{

static final int X=8;

static final int Y=4;

public void gossip(int x,int y)

{

while((x=X)(y=Y))

{

System.out.println("("+x+","+y+")");

x+=2;

y++;

}

}

public static void main(String[] args)

{

ChessHorse horse=new ChessHorse();

System.out.println("马的走位:");

horse.gossip(0,0);

}

}

Java大神求帮忙,我用Java做的网络版中国象棋

很简单嘛,定义一个棋子类,设置棋子的身份属性,以0到15个数字表示;设置棋子的阵营属性,用0和1表示;设定棋子的位置属性,用x-y坐标上的点表示。每当一个棋子被移动后,都将棋子的身份、阵营和新的位置信息传到服务器,服务端就可以移动了。

关于java如何编写中国象棋和java编写一个象棋游戏的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。