面向对象程序设计_第1页
面向对象程序设计_第2页
面向对象程序设计_第3页
面向对象程序设计_第4页
面向对象程序设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《面向对象程序设计》课程设计课题: 五子棋游戏的设计与实现姓名:刘芊班级:2011级应物班学号:20114052020指导老师:田孝文目录第一章概述11.1设计目的11.2需求分析11.3Java源文件及其功能2第二章程序设计与实现32.1程序设计32.2界面设计与实现42.3使用说明6第三章 模块及程序代码介绍 73.1类FiveChessAppletDemo73.2类ChessFrame73.3类ChessModel133.4类MainPanel25参考文献 29第一章 概述1.1设计目的五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。使用Java语言开发五子棋游戏的目的:通过本次设计,实现对本学期内容的回顾与综合运用,包括类的建立,用类创建对象,方法的调用,图形组件的使用方法,图形界面的布局形式,事件处理机制,文件对话框的使用,文件操作的基本方法,数据读写的基本用法等。对于给定的设计题目,如何进行分析,理清思路,并给出相应的模型。掌握自顶而下的设计方法,将大问题进行模块化、对象化,领会面向对象程序设计的方法。熟练掌握JAVA语言的基本语法,灵活运用各种预定义类、线程和事件处理。1.2需求分析为了开发出真正满足用户需求量的软件产品,首先必须知道用户的需求。软件需求中包括了多个方面来说明用户需求。在这一节中,主要从以下几方面来说明系统的需求。1)功能要求该款游戏主要由以下几个模块组成:人机对弈模式:选择该模式可以实现人与电脑之间的对弈,电脑会智能的选择该在哪处下子,并会在每次下棋结束后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。人人对弈模式:选择该模式可以实现人与人之间的对弈,玩家之间交替下棋,同样系统会在每次下完棋后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。更换棋盘大小与背景:为了满足玩家的不同喜好,程序设置了三种棋盘模式,分别是20×15、30×20、40×30,并可以根据玩家的爱好更换棋盘的视图。(2)性能需求该款五子棋游戏功能虽然简单,但最主要的还是实现了人人对弈模式和人机对弈两种模式,所以从这个角度来说,该款游戏需要能很好的在两种模式间良好的转换。虽然系统不大,但要在满足玩家的基本要求的情况下,电脑有一定的智能,能给予新手一定的帮助。1.3Java 源文件及其功能表1-1java源文件及其功能序文件名主要功能号1FiveChessAppletDemo本程序的主函数,用main方法创建了ChessFrame类的一个实例对象。2ChessFrame创建五子棋游戏主窗体和菜单。3ChessModel五子棋程序算法的核心,包括构建棋盘、判断胜负等功能。1、构建一个面板,在该面板上画上棋盘;4MainPanel2、处理在该棋盘上的鼠标事件(如鼠标左键点击、鼠标右键点击、鼠标拖动等)。注:对应源文件的源代码将在下文给出并说明。第二章 程序设计与实现2.1 程序设计(1)设计思路1、本程序要实现五子棋的游戏功能,必须先有一个棋盘,所以,通过继承JPanel,然后在JPanel上画出相应的棋盘,当然,JPanel必须放在JFrame中,所以,又通过继承JFrame得到一个实例。2、对于下棋的操作,通过对 JPanel增加鼠标事件监听器 MouseListener,每次当用户点击鼠标时,先取得点击的坐标值,然后换算成对应棋盘上(即棋盘数组)的位置(数组的下标)。3、判断此处是否已经有棋子 ,如果有则玩家不能下子,否则通过 java里的画图函数在此处画上棋子,重新刷新输出棋盘。4、判断该颜色棋子的上下左右是否满足连续五个,是的话提醒相应玩家获胜,不是的话,更换玩家下棋。5、对于玩家的更换是程序自动的,每次用户点击鼠标后,若本局还未结束则会变换玩家,从而画出对应黑方白方的棋子,直到有一方获胜程序结束。(2)程序分析1、本款游戏有“游戏”、“视图”和“关于”三个选项,其中“游戏”包括开局、模式、棋盘和退出四个选项。其中模式包括“人机对弈”和“人人对弈”,棋盘包括三种大小。视图则有三种视图选项,关于则设置了作者选项。2、绘制棋盘,在直线交点处下棋子(实心黑白圆形)。3、首先程序会判断对弈模式是人机对弈还是人人对弈模式,若是人机对弈则是玩家先下,玩家是黑方,电脑是白方。若是人人对弈,则是黑方先下,黑白交替下子。、棋盘处于鼠标监听状态,当鼠标在棋盘上有点击操作的时候,程序会获得鼠标点击的坐标然后换算成对应的棋盘的位置,再判断此处是否有棋子,假如没有,那么在此处画出对应颜色的实心棋子,假如已经有棋子了,则无法落子。5、当选择的是人机对弈模式的时候,轮到电脑下子时,电脑会通过算法计算每个没有棋子的位置的重要性来选择最重要的位置下子。2.2界面设计与实现(1)五子棋游戏的主界面,如图 2所示。图2 程序主界面五子棋游戏的结束界面,如图3、4所示。图3 人机对弈结果 图4 人人对弈结果(3)游戏菜单中的各个选项,如图 5、6所示。图5 游戏菜单选项-棋盘 图6 游戏菜单选项-模式(4)视图菜单中的各个选项,如图 6所示。图6 视图菜单选项关于菜单中的选项,如图6、7所示。图7 关于菜单中的选项 图8 选项弹出内容2.3使用说明本程序采用的编程语言为Java,开发工具为eclipse。适用的操作系统为32位的配置有JDK的windows系统,通过双击setup.exe文件安装至系统,运行时通过鼠标操作,进行菜单选择或游戏,游戏默认的模式为人机对弈。人机对弈模式中,玩家为黑方,计算机为白方,人人对弈时两位玩家可自由选择。第一局游戏时,程序默认先手为黑方。由于本程序定位为休闲小游戏,并未设置五子棋中的禁手规则,因此先手必然占优。为公平起见,同时也为了使玩家能够体验先手和后手两种情况,在每局游戏结束后,如选择继续,则无论人机对弈还是人人对弈,先手将更换为上一局中的输方。即黑方赢则下局先手为白方,反之亦然。若选择退出,则程序将自动关闭。同时,玩家可以通过选择游戏菜单下的开局选项,使程序重新开始,游戏恢复默认黑方为先手的设置。在程序安装完成后,可在开始菜单下的五子棋文件夹中找到程序,用户可根据自己喜好和需求将其添加快捷方式至桌面或任务栏。同时文件夹中还有卸载选项和五子棋网站链接。单击五子棋网站将打开默认浏览器并转至程序作者博客。总而言之,本款五子棋游戏简单易用,能够满足用户的基本需求。第三章 模块及程序代码介绍3.1类FiveChessAppletDemo源代码:importjavax.swing.JFrame;/**main方法创建了ChessFrame类的一个实例对象,并启动屏幕显示显示该实例对象。**/publicclassFiveChessAppletDemo{publicstaticvoidmain(String[]args){ChessFrameCFrame=newChessFrame();CFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);CFrame.setVisible(true);}}3.2类ChessFrame源代码:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classChessFrameextendsJFrameimplementsActionListener{/****/privatestaticfinallongserialVersionUID=1L;privateString[]strsize={"20x15","30x20","40x30"};privateString[]strmode={" 人机对弈","人人对弈"};publicstaticbooleaniscomputer=true,checkcomputer=true;privateintwidth,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论