「java如何编写中国象棋」java编写一个象棋游戏
本篇文章给大家谈谈java如何编写中国象棋,以及java编写一个象棋游戏对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、我想做一个java的象棋游戏,不知道看些什么书好,求大神推荐
- 2、如何用java swing 实现中国象棋的棋盘。棋盘就好。。。
- 3、用JAVA写象棋代码,炮的规则和车的规则怎么写 这题没有钱的 我发错了
- 4、用java怎么编写象棋棋盘
- 5、java编程实现中国象棋中马的走位以及输出。
- 6、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编写一个象棋游戏的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。