中国象棋对弈系统 java课程设计
发布时间:2024-11-02
发布时间:2024-11-02
中国象棋对弈系统 java课程设计
XXXX大学计算机系
课程设计说明书
课程名称 : Java课程代码 : 题 目 : 年级/专业/
班
:
程序设计与技术
学生姓名 : 学 号 : 指导老师 : 开题时间 : 完成时间 :
年 月 日 2009年 月 日
2009年 月 日
中国象棋对弈系统 java课程设计
Java课程设计任务书及成绩评定
课题名称: Java程序设计与技术 完成者:
1、设计的目的与要求:
根据所学的软件工程与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。
2、设计进度及完成情况
3、成绩评定:
设计成绩: (教师填写) 指导老师: (签字)
二00 年 月
中国象棋对弈系统 java课程设计
目 录
摘 要 .............................................................................................................................................................. I 1 引言 .......................................................................................................................................................... II 2 设计任务与目的 ...................................................................................................................................... II 3 需求分析 .................................................................................................................................................. II 4 设计思路 .................................................................................................................................................. II
4.1 功能说明 ...................................................................................................................................... III ①象棋4.2.1 相关类的包图 .................................................................................................. III :首先红方走棋,然后黑方走棋,直到一方获胜。 ....................................................................... III ②新游戏:任何时候可以重新开始一盘新的对奕。 ....................................................................... III ③悔棋:当走错棋的时候,可以悔棋。 ........................................................................................... III ④信息提示:提示当前信息状态。 ................................................................................................... III
4.2详细设计 ................................................................................................................................. III 4.2.1 相关类的包图 ................................................................................................................... III 4.2.2相关类的类图 ........................................................................................................................ 1
5 系统实现 ................................................................................................................................................... 2
5.1 运行效果 .................................................................................................................................. 2 5.2操作介绍 ................................................................................................................................... 4
6 结束语 ....................................................................................................................................................... 5 参考文献 ......................................................................................................................................................... 5 致谢 ................................................................................................................................................................. 5 附录A:系统源程序 ..................................................................................................................................... 6 附录B:编码规范 ..................................................................................................................................... 102
中国象棋对弈系统 java课程设计
摘 要
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。通过本课程设计使学生加深理解、巩固课堂理论知识和实验知识,使学生初步具备综合运用所学Java语言基础知识,面向对象程序设计的基本思想、方法与技术,网络通信编程技术和数据库编程技术等开发简单应用系统的基本能力,初步掌握软件开发中系统分析、系统设计、系统实现和系统测试等阶段的基本方法与技术,培养学生的创新意识,提高实践应用能力,为培养应用型人才服务。该程序是一个图形界面的java中国象棋对弈系统,程序实现了新游戏,悔棋,保存,打开,退出5大功能,并添加一个applet的背景音乐。
关键词:JAVA 象棋 对弈 游戏
Abstract
with science and technology unceasing enhancement, the computer science is mature day after day, its formidable function had known profoundly for the people, it entered the human society each domain and is playing more and more vital role。Causes the student through this curriculum project to deepen understanding, the consolidated classroom theoretical knowledge and the experiment knowledge, causes the student to have the synthesis utilization to study the Java language elementary knowledge initially, the object-oriented programming's basic philosophy, the method and the technology, network service development simple application system's and so on programming technology and database programming technology basic capabilities, grasp in the software development the system analysis, the system design, the system to realize initially with stage and so on system test essential methods and the technology, raises student's innovative ideology, sharpens the practice application ability, serves for the raise application talented person.The program is a graphical interface of java Chinese chess game systems, procedures for the realization of a new game, Hui Qi, preservation, open from 5 features, and an applet to add background music.
Key words: JAVA chess game game
中国象棋对弈系统 java课程设计
《Java
程序设计与技术》课程设计
——中国象棋对弈系统
1 引言
(本课题的来源、与该项目相关的知识的意义、作用,应用前景等)
中国象棋对弈系统主要要实现的是棋子的走法,中国象棋讲究车,马,象,仕,卒,炮,将;只有当将被对方棋子覆盖,则首先覆盖对方将的一方就是胜利的一方。中国象棋对弈系统实现了双人对弈这个功能,可用于多人一起游戏。而实现中国象棋对弈系统就为象棋在网络应用平台提供多人对弈。
2 设计任务与目的
通过本课程设计教学所要求达到的目的是:通过本程序实现中国象棋对弈并能实现一些基本功能,如:棋局的保存与棋局的调用。
3 需求分析
本程序实现了五个功能键,即新游戏:开始一局新的对弈;悔棋:将棋子返回刚才所处位置;打开:调用以前保存的棋局;保存:将当前棋局保存;退出:退出本程序。
4 设计思路
运用GUI,JAVA标准类库和监听器等知识,首先编写一个主类Chess,构造一个主
窗口,在中国象棋-Java版上添加一块可显示的棋盘,再在棋盘上添加32个棋子按钮,然后再在主窗口下面添加一块面板,用此面板来用来对“新游戏,悔棋,保存”等进行操作。
1.Java中国象棋对弈系统是:图形界面,线程,监听器与文件等技术的综合运用。 2.图形界面的实现:考虑到中国象棋的特点本程序使用GridLayout布局来实现由于使用鼠标操作本程序使用Jbutton组件。
3.对弈的实现:利用鼠标的监听来实现对象棋走法的操作。
中国象棋对弈系统 java课程设计
4.1 功能说明
①象棋4.2.1 相关类的包图
:首先红方走棋,然后黑方走棋,直到一方获胜。 ②新游戏:任何时候可以重新开始一盘新的对奕。 ③悔棋:当走错棋的时候,可以悔棋。 ④信息提示:提示当前信息状态。
4.2详细设计
4.2.1 相关类的包图
中国象棋对弈系统 java课程设计
4.2.2相关类的类图
中国象棋对弈系统 java课程设计
5 系统实现
5.1 运行效果
本中国象棋对弈系统操作界面如图,还包括有背景音乐(高山流水),以及按键音。 本象棋对弈系统操作是参照中国象棋走法制定的,当一方的“将”或“帅”被覆盖,则另一方或的胜利:
中国象棋对弈系统 java课程设计
免责声明:文档在线网中所有的文档资料均由文档在线网会员提供,该文档资料的版权属于提供者所有。文档在线网 会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性和正确性。
中国象棋对弈系统 java课程设计
5.2操作介绍
本系统包括以上五个操作键:
新游戏:开始一局新的对弈;
悔棋:将棋子返回刚才所处位置;
打开:调用以前保存的棋局; 保存:将当前棋局保存; 退出:退出本程序。
中国象棋对弈系统 java课程设计
6 结束语
(本次课程设计的体会、收获,存在问题及进一步改进思路)
本次课程设计加深了对课本只是的进一步学习和巩固,由于穿插在源程序代码的编写不断学系,是我对课本知识在实际当中的运用有了一定的了解。不足主要表现在有与本源代码是在12.28号之前实现的,所以我们只做了一个主类没有创建相关的驱动类。本对弈系统基本实现了中国象棋的对弈,但由于只能人人对弈而没实现人机对弈,所以稍有遗憾。
参考文献
[1] 张广彬,孟红蕊,张永宝.Java课程设计案例精编[M].北京:清华大学出版社,2007,1. [2] 黄晓东.Java课程设计案例精编[M].北京:中国水利水电出版社,2004,5. [3] 求是科技. Java信息管理系统开发实例导航[M].北京:人民邮电出版社,2005,4. [4] 求是科技.Java数据库系统开发实例导航[M].北京:人民邮电出版社,2004,9. [5]张海藩,软件工程导论(第4版).北京:清华大学出版社,2003 [6]李芝兴,Java 程序设计之网络编程. 清华大学出版社,2006
[7] 张海藩,牟永敏。面向对象程序设计实用教程。北京:清华大学出版社,2001 [8] [美]豪顿等。JAVA2编程指南 。电子工业出版社,2002 [9] 孙卫琴。Java网络编程精解。电子工业出版社,2007
致谢
(对你本次课程设计帮助过、指导过的老师及其他同学的谢语)
本课程设计曾有一下人热心的帮助了我们,如杨标格教我制作包图,刘林波教我们制作类图。不但使我们完成了任务,而且还学到了知识。还有感谢老师给我们提供了可靠而且详尽的资料,让我们完成里此次课程设计。
中国象棋对弈系统 java课程设计
附录A:系统源程序
/*
* To change this template, choose Tools | Templates * and open the template in the editor. */
package chinesechess; /*
*中国象棋Java版V3.0 *作者
*源文件:Chess.java *最后修改时间:2004-12-20 *添加功能:实现了当前棋局的保存 */
import java.io.*; import java.applet.Applet; import java.applet.AudioClip; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.io.*;
中国象棋对弈系统 java课程设计
//主类
//主框架类
public class ChineseChess {
public static void main(String args[])
{ } class
ChessMainFrame
extends
JFrame
implements
}
new ChessMainFrame("中国象棋");
ActionListener,MouseListener,Runnable
{
MusicDemo t = new MusicDemo();
//玩家
JLabel play[] = new JLabel[32]; //棋盘 JLabel image; //窗格 Container con; //工具栏 JToolBar jmain;
中国象棋对弈系统 java课程设计
JButton anew; //悔棋 JButton repent; //打开
JButton showOpen; //保存
JButton showSave; //退出 JButton exit;
//当前信息 JLabel text;
//保存当前操作 Vector FileVar; Vector Var;
//规则类对象(使于调用方法) ChessRule rule;
/*单击棋子**********************************/ /*chessManClick = true 闪烁棋子 并给线程响应*/
/*chessManClick = false 吃棋子 停止闪烁 并给线程响应*/ boolean chessManClick;
/*控制玩家走棋****************************/ /*chessPlayClick=1 黑棋走棋*/
/*chessPlayClick=2 红棋走棋 默认红棋*/
中国象棋对弈系统 java课程设计
int chessPlayClick=2;
//控制棋子闪烁的线程 Thread tmain;
//把第一次的单击棋子给线程响应 static int Man,i;
ChessMainFrame(){}
ChessMainFrame(String Title) {
//获行客格引用
con = this.getContentPane(); con.setLayout(null); //实例化规则类 rule = new ChessRule(); FileVar = new Vector(); Var = new Vector();
//创建工具栏
jmain = new JToolBar();
text = new JLabel(" 热烈欢迎"); text.setToolTipText("提示信息"); anew = new JButton(" 新 游 戏 "
);
anew.setToolTipText("重新开始新的一局"); exit = new JButton(" 退 出 "); exit.setToolTipText("退出本程序"); repent = new JButton(" 悔 棋 ");
中国象棋对弈系统 java课程设计
showOpen = new JButton("打开");
showOpen.setToolTipText("打开以前棋局"); showSave = new JButton("保存");
showSave.setToolTipText("保存当前棋局");
//把组件添加到工具栏
jmain.setLayout(new GridLayout(0,6)); jmain.add(anew); jmain.add(repent);
jmain.add(showOpen); jmain.add(showSave); jmain.add(exit); jmain.add(text);
jmain.setBounds(0,500,450,30); con.add(jmain);
//添加棋子标签 drawChessMan();
/*注册监听者*/
//注册按扭监听
anew.addActionListener(this); repent.addActionListener(this); exit.addActionListener(this);
showOpen.addActionListener(this); showSave.addActionListener(this);