java课程设计题目及代码中国象棋(用java写一个国际象棋的棋盘,输出结果要是一张 国际象棋的棋盘)
本文目录
- 用java写一个国际象棋的棋盘,输出结果要是一张 国际象棋的棋盘
- 编写个中国象棋java程序注意的事项
- java编程实现中国象棋中马的走位以及输出
- java大神 求帮忙 我坐的中国象棋怎样移动棋子
- 中国象棋走法规则用Java怎么编程
- Java大神求帮忙,我用Java做的网络版中国象棋
- 用java怎么编写象棋棋盘
- 用JAVA写象棋代码,炮的规则和车的规则怎么写 这题没有钱的 我发错了
用java写一个国际象棋的棋盘,输出结果要是一张 国际象棋的棋盘
import java.awt.*;import javax.swing.*;public class Chessboard extends JApplet {int baseXPosition, baseYPosition;int currentXPosition, currentYPosition;public void init() {baseXPosition = 40; // 棋盘的开始x位置baseYPosition = 40; // 棋盘的开始y位置setBackground(Color.black); // 设置背景颜色黑色}public void paint(Graphics g) { // 绘制棋盘currentXPosition = baseXPosition; // currentXPosition当前的x位置currentYPosition = baseYPosition; // currentYPosition当前的y位置for (int row = 0; row 《 8; row++) {currentXPosition = baseXPosition + row * 40;for (int column = 0; column 《 8; column++) {if ((column + row) % 2 == 0)g.setColor(Color.white); // 设置棋盘格子的颜色elseg.setColor(Color.red); // 设置棋盘格子的颜色currentYPosition = baseXPosition + column * 40;g.drawRect(currentXPosition,currentYPosition,40,40);//;代码4 //在当前位置绘制棋盘的格子;每个格子的大小是40*40像g.fillRect(currentXPosition,currentYPosition,40,40);}}}}
编写个中国象棋java程序注意的事项
算法是最核心的
象棋算法非常复杂,建议到网上找一个,大致读一下,懂了之后作一个外壳套上去。何必在别人已经完成的事情上再下功夫呢?不合算啊
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大神 求帮忙 我坐的中国象棋怎样移动棋子
声明一个棋子父类,有共同的棋子移动方法,及记录棋子所在的位置xy(0~8),y(0~8),然后写帅将类,士类,象类,马类。。。等。
各子类的走棋移动规则不同,各自重写父类的判断是否能走到的方法。
界面上所有棋子放在一个二维数组里面,就是棋盘的数组,数组类型为棋子父类,根据坐标初始化所有的不同类型的棋子进这个数组(类似于现实中的摆象棋),棋子的坐标跟label的位置有一定关系,如棋盘宽90,第一个(0,0)车对应的label位置就是是(5,5)。
然后设置一个全局变量的父类对象,初始化为null。当有点击棋盘上的某个棋子时,就把那个棋子赋值给这个。
然后点击棋盘上的某一处,根据每个格子的宽度,计算出绝对的坐标(x=0,y=0,最大是x=8,y=8)。
然后调用选中棋子的走棋方法,判断规则是否能到这个坐标,能的话就走棋方法就移动label到这个坐标对应的宽度和高度,然后改变该棋子所在的位置坐标,就基本实现。
中国象棋走法规则用Java怎么编程
我并不懂编程,但是还是希望以下答案对你有帮助!棋盘自然是二维数组了 如果是象 那我说说吧以前我也考虑过做象棋的游戏首先象的行走为 对角线对角线的特点就是 横纵坐标的值操作相同 即加或者减 都为相同的数 比如 X+2 Y-2以XY坐标系来说象有4个方向可以走 假设当前的象处在 0点 也就是原点 那么四个方向 分别是1 . X+2 Y+22. X-2 y+23. X+2 Y-24. X-2 Y-2以此种方式可以知道 它所移动的方向是什么比如 当前为 0,0 如果 它要移动到坐标2,2 则说明想方向1去移动了判断移动方向后 判断是否有别腿现象 当然 就是不是+2的位置 而是+1的位置比如要移动到X+2 Y+2 则判断 X+1 y+1的位置是否有棋子
Java大神求帮忙,我用Java做的网络版中国象棋
很简单嘛,定义一个棋子类,设置棋子的身份属性,以0到15个数字表示;设置棋子的阵营属性,用0和1表示;设定棋子的位置属性,用x-y坐标上的点表示。每当一个棋子被移动后,都将棋子的身份、阵营和新的位置信息传到服务器,服务端就可以移动了。
用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;i《10;i++){g2d.drawLine(0, i*hGap, width, i*hGap);}for(int i=0;i《9;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写象棋代码,炮的规则和车的规则怎么写 这题没有钱的 我发错了
车的规则就是 目标点 不能超过前面的第一个人。炮的规则就是 目标点 必须超过前面的第一个 不超过前面的第二个人。
更多文章:
sql从excel导入数据(怎么把excel文件里的数据导入SQL数据库)
2024年7月18日 02:07
列表框的属性(要想不使用Shift或Ctrl键就能在列表框中同时选择多个项目,则应把该列表框的MultiSelect属性设置为())
2024年6月25日 12:27
swing节奏(像重金属、EDM、Hip-Hop、摇滚等劲爆音乐风格适合什么年龄段的人听)
2024年6月10日 09:10
distribution agreement(中文翻译成 英文,请英语高手帮忙,马上就要谢谢)
2024年9月5日 09:45
epic反垄断案(苹果再次上诉Epic,App Store允许第三方支付搁浅)
2024年7月5日 09:05
update failed是什么意思(海信 update failed 是什么意思)
2024年7月22日 12:38
fastreport教程(如何在fastreport中添加我的自定义函数)
2024年5月6日 10:17
switch的相关短语用法(switch语句怎么用啊 具体)
2024年7月2日 05:52
sql2000属于什么系统(什么是SQL server2000)
2024年6月29日 13:09
directions染发膏(凯维斯果染膏染发梳安全吗可以用吗)
2024年7月23日 18:44
string转char(那string 类型怎么转成char类型)
2024年7月13日 19:37