面向对象程序设计.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《面向对象程序设计》 课程设计 课题: 五子棋游戏的设计与实现 姓名: 刘 芊 班级: 2011级应物班 学号: 20114052020 指导老师: 田孝文 目 录 第一章 概述 1 1.1设计目的 1 1.2需求分析 1 1.3 Java源文件及其功能 2 第二章 程序设计与实现 3 2.1 程序设计 3 2.2界面设计与实现 4 2.3使用说明 6 第三章 模块及程序代码介绍 7 3.1类FiveChessAppletDemo 7 3.2类ChessFrame 7 3.3类ChessModel 13 3.4类MainPanel 25 参考文献 29 第一章 概述 1.1设计目的 五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。 使用Java语言开发五子棋游戏的目的: 1. 通过本次设计,实现对本学期内容的回顾与综合运用,包括类的建立,用类创建对象,方法的调用,图形组件的使用方法,图形界面的布局形式,事件处理机制,文件对话框的使用,文件操作的基本方法,数据读写的基本用法等。 2. 对于给定的设计题目,如何进行分析,理清思路,并给出相应的模型。 掌握自顶而下的设计方法,将大问题进行模块化、对象化,领会面向对象程序设计的方法。 熟练掌握JAVA语言的基本语法,灵活运用各种预定义类、线程和事件处理。 为了开发出真正满足用户需求量的软件产品,首先必须知道用户的需求。软件需求中包括了多个方面来说明用户需求。在这一节中,主要从以下几方面来说明系统的需求。 功能要求 该款游戏主要由以下几个模块组成: 人机对弈模式:选择该模式可以实现人与电脑之间的对弈,电脑会智能的选择该在哪处下子,并会在每次下棋结束后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。 人人对弈模式:选择该模式可以实现人与人之间的对弈,玩家之间交替下棋,同样系统会在每次下完棋后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。 更换棋盘大小与背景:为了满足玩家的不同喜好,程序设置了三种棋盘模式,分别是20×15、30×20、40×30,并可以根据玩家的爱好更换棋盘的视图。 () 该款五子棋游戏功能虽然简单,但最主要的还是实现了人人对弈模式和人机对弈两种模式,所以从这个角度来说,该款游戏需要能很好的在两种模式间良好的转换。虽然系统不大,但要在满足玩家的基本要求的情况下,电脑有一定的智能,能给予新手一定的帮助。 1.3 Java源文件及其功能 表1-1 java源文件及其功能 序号 文件名 主要功能 1 FiveChessAppletDemo 本程序的主函数,用mainChessFrame类的一个实例对象。 2 ChessFrame 创建五子棋游戏主窗体和菜单。 3 ChessModel 五子棋程序算法的核心,包括构建棋盘、判断胜负等功能。 4 MainPanel 1、构建一个面板,在该面板上画上棋盘; 2、处理在该棋盘上的鼠标事件(如鼠标左键点击、鼠标右键点击、鼠标拖动等)。 注:对应源文件的源代码将在下文给出并说明。 第二章 程序设计与实现 2.1 程序设计 1、本程序要实现五子棋的游戏功能,必须先有一个棋盘,所以,通过继承JPanel,然后在JPanel上画出相应的棋盘,当然,JPanel必须放在JFrame中,所以,又通过继承JFrame得到一个实例。 2、对于下棋的操作,通过对JPanel增加鼠标事件监听器MouseListener,每次当用户点击鼠标时,先取得点击的坐标值,然后换算成对应棋盘上(即棋盘数组)的位置(数组的下标)。 3、判断此处是否已经有棋子,如果有则玩家不能下子,否则通过java里的画图函数在此处画上棋子,重新刷新输出棋盘。 4、判断该颜色棋子的上下左右是否满足连续五个,是的话提醒相应玩家获胜,不是的话,更换玩家下棋。 5、对于玩家的更换是程序自动的,每次用户点击鼠标后,若本局还未结束则会变换玩家,从而画出对应黑方白方的棋子,直到有一方获胜程序结束。 ( 1、本款游戏有“游戏”、“视图”和“关于”三个选项,其中“游戏”包括开局、模式、棋盘和退出四个选项。其中模式包括“人机对弈”和“人人对弈”,棋盘包括三种大小。视图则有三种视图选项,关于则设置了作者选项。 2、绘制棋盘,在直线交点处下棋子(实心黑白圆形)。 3、首

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档