1308010128史杨佳《象棋游戏》课程设计报告.docVIP

1308010128史杨佳《象棋游戏》课程设计报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学号 《》 课程设计报告 象棋游戏 专业: 计算机科学与技术 班级: 13级1班 姓名: 史杨佳 指导教师: 成绩: 计算机与信息工程系 2015年4月26日 目录 1设计内容 1 1.1设计要求 1 1.2 设计任务 1 2原理及分析 1 3 设计过程或程序代码 2 4 设计结果与分析 16 5 小结 17 致谢 17 参考文献 18 附录1:源程序核心代码 19 1设计内容 1.1设计要求 学习利用面向对象语言(java)对实际问题中国象棋游戏进行课程设计,利用软件工程中过程思想进行系统分析和设计。完成结构清晰、风格良好、数据结构适当的设计程序,提高解决综合性实际问题的能力。 提供棋盘和棋子; 设定棋子的走棋规则; 该哪方走棋时,旁边会有提示哪方走棋; (4)可以悔棋; (5)判断胜负; 1.2 设计任务 (1)用JAVA开发一个象棋游戏。让我们熟悉JAVA基本事件处理,学会java面向对象的设计以及java各种控件及图像用户的界面的设计使用,分别掌握基本工具继承抽象类 ,接口,输入输出,流程控制,开发环境,实现简单的功能设计,帮助熟练的掌握有关java的知识结构体系。 (2)通过实习掌握语言的语法结构,理解类和对象的概念,准确的使用各种数据类型,对面向对象中的继承和多态的概念要理解、会使用,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。 2原理及分析 (1)中国象棋是双方在有着9调竖线和10条横线的棋盘上对弈,竖线和横线的交叉称为棋点或对弈点。河界将棋盘分成两等份,每一边都有一块有9个点组成的九宫。 (2)规定各个棋子的走法规则,使每个棋子都是在棋点上行走,而不是在方格中行走,如棋子“将”,“帥”和“士”只能在九宫内移动,并且“将”和“帅”每一步只可以水平或垂直移动一个棋点;“士”只能在九宫内移动,并且它每一步只可以沿着对角线移动一个棋点;“象”必须一次沿着对角线方向走两个棋点,但它不能过河也不能跳过或穿越障碍,即“象”不能别眼,“马”没一步只可以水平或垂直移动两个棋点,但必须按对角线向左或向右移动。中国象棋的“马”不能跳过障碍,即马不能别腿。“车”可以水平或垂直方向移动人一个无障碍的点。“炮”移动起来和车类似,但它必须跳过一个棋子来吃掉对方的一个棋子,被跳过的那个棋子称为桥或者屏风。“兵”每步只能向前移动一个棋子过河以后,它便增加了向左右移动的能力,并不允许向后移动。 (3)当用户走错棋时,可以允许用户回到上一步走棋的状态,以实现悔棋的功能。 3 设计过程或程序代码 (1)添加棋子方法 public void drawChessMan(){ //流程控制 int i,k; //图标 Icon in; //黑色棋子 //车 in = new ImageIcon(image\\黑车.GIF); for (i=0,k=24;i2;i++,k+=456){ play[i] = new JLabel(in); play[i].setBounds(k,56,55,55); play[i].setName(车1); } //马 in = new ImageIcon(image\\黑马.GIF); for (i=4,k=81;i6;i++,k+=342){ play[i] = new JLabel(in); play[i].setBounds(k,56,55,55); play[i].setName(马1); } //相 in = new ImageIcon(image\\黑象.GIF); for (i=8,k=138;i10;i++,k+=228){ play[i] = new JLabel(in); play[i].setBounds(k,56,55,55); play[i].setName(象1); } //士 in = new ImageIcon(image\\黑士.GIF); for (i=12,k=195;i14;i++,k+=114){ play[i] = new JLabel(in); play[i].setBounds(k,56,55,55); play[i].setName(士1); } //卒 in = new ImageIcon(image\\黑卒.GIF); for (i=16,k=24;i21;i++,k+=114){ play[i] = new JLabel(in); play[i].set

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档