Java课程设计——象棋(201521123042 姚佳希)
1. 团队课程设计博客链接
2 个人负责模块或任务说明
- ChessBoard类创建棋盘及界面。
- ChessPoint类创建棋盘格点及界面。
- ChessPiece类创建棋子及界面。
- 和小伙伴一起设计的界面。
3自己的代码提交记录截图

4.自己负责模块或任务详细说明
- ChessPiece类创建棋子
(1)属性:该类中包含对象包括棋子类型(红方黑方),棋子名称,棋子颜色。
(2)功能:paint(Graphics g)方法画棋子(棋子大小颜色以及字体)。类中包含多种方法可获取棋子信息(大小,类别)等。- ChessBoard类创建棋盘
(1)关键属性:棋子、棋点、游戏规则、记录走棋
(2)包含方法:首先利用ChessBoard()方法构造棋盘,输入参数即可确定长和宽,以及棋格的长宽。其次利用设计棋子类似的方法画出棋盘布局。最后加入鼠标操作的方法(点击、移动、释放等),实现下棋过程中移动棋子的功能。
(3)总结功能:创建棋盘,玩家可以用鼠标控制象棋的移动。棋盘的游戏规则属性来限定不同类型棋子的移动位置(例如马走日象走田) ,违反规则棋子将返回原来的位置。- ChessPoint类创建棋格点
(1)属性:棋子坐标、判断是否有棋子的对象
(2)主要功能:ChessPoint()方法构造棋格点并将棋子放入棋盘中,isPiece()功能判断是否有棋子,reMovePiece()方法负责吃棋子的时候,被吃棋子的移除。
5课程设计感想
- 上面写的三个类的逻辑关系:Chess主类->Chessboard->ChessPoint、ChessPiece。每个类之间的关系要分清楚,否则会一团糟
- 棋盘是最难的部分,需要设置棋格点来判断该位置是否有棋子,从而完成走棋等步骤。
- 很多东西不懂都是上网百度和求助大佬的,还有很多功能缺陷待完善。
Java课程设计——象棋(201521123042 姚佳希)的更多相关文章
- Java课程设计—象棋
1. 团队名称.团队成员介绍 团队名称:WY 团队成员: 吴慧婷[组长] 201521123094 网络1514 姚佳希 201521123042 网络1512 2 项目git地址 Java课程设计 ...
- java(课程设计之记事本界面部分代码公布)
代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...
- java课程设计(计算器)
JAVA课程 设 计 报 告 1206401-18 瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...
- Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)
#课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...
- Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)
Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...
- java课程设计--We Talk(201521123061)
java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...
- Java 课程设计 "Give it up"小游戏(团队)
JAVA课程设计 "永不言弃"小游戏(From :Niverse) 通过Swing技术创建游戏的登陆注册界面,使用mySQL数据库技术完成用户的各项信息保存和游戏完成后的成绩保存. ...
- Java课程设计----仿Windows标准型计算器
JAVA课程设计 仿Windows标准型计算器(By Yanboooooooo) 一.团队介绍: 连燕波[组长]:网络1513学生. 张文博[组员]:网络1513学生. 二.项目git地址 码云项目地 ...
- Java课程设计——猜数游戏(201521123111 陈伟泽)
Java课程设计--猜数游戏(201521123111 陈伟泽) 1.团队课程设计博客链接 博客作业--猜数游戏 2.个人负责模块或任务说明 Answer:一些基础界面的构造,排行榜的构造,用文件录入 ...
随机推荐
- re模块的结果小练习题
1.匹配标签 import re ret = re.search('<(?P<tag_name>\w+)>\w+</(?P=tag_name)>','<h1& ...
- Qt实现九宫图类控件
<1>. 头文件(类声明) class CPreviewWidge : public QWidget { Q_OBJECT public: CPreviewWidge( ); ~CPrev ...
- 如何输入EOF
很多线上笔试的编程题要求能循环处理多个case,需使用while(scanf("%s",tmp)!=EOF)语句.EOF表示文件结束符,但是在本机的编译环境中,如何在控制台输入EO ...
- Linux学习总结(十)—— Java开发环境搭建:JDK+Maven
Java开发环境最基础的两个开源软件是JDK和Maven. JDK 到Oracle官网下载相对应的源码包,这里我选择的是:Linux x64系统的jdk-8u131-linux-x64.tar.gz. ...
- fs模块练习
1.fs+path练习01.判断 当前路径下的public是否存在,不存在则创建02.判断 public下的index.html文件是否存在,不存在则创建 <h1>index</h1 ...
- 在微信小程序中使用富文本转化插件wxParse
在微信小程序中我们往往需要展示一些丰富的页面内容,包括图片.文本等,基本上要求能够解析常规的HTML最好,由于微信的视图标签和HTML标签不一样,但是也有相对应的关系,因此有人把HTML转换做成了一个 ...
- Java中构造方法跟普通方法的区别?
构造方法与普通方法的调用时机不同. 首先在一个类中可以定义构造方法与普通方法两种类型的方法,但是这两种方法在调用时有明显的区别. 1.构造方法是在实例化新对象(new)的时候只调用一次 2.普通方法是 ...
- Thinkphp报错 -- “_STORAGE_WRITE_ERROR_”
磁盘满了 没有写入权限 解决方法: chmod -R 777 Runtime目录路径
- archlinux系统安装博通B43XX系列无线网卡驱动
我的无线网卡是博通的B43xx系列,大家都知道博通对于其Wifi卡在 GNU/Linux 上的支持不好可谓是臭名昭著. 用 lspci -vnn -d 14e4: 或者 lspci -vnn | gr ...
- Apache与Tomcat的关系和区别 -个人比较
我们经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料 ...
