1、课程实训报告 信息工程学院课程实训报告姓 名: 谢成林 学 号: 2014110645 实训名称: C/C+项目实训 所在班级: 14级软件工程2班 实训时间: 2015年6月8日-2015年6月18日 实训地点: 工B201 实训教师: 实训企业: 上海杰普软件科技有限公司 实训成绩: 宿州学院信息工程学院实习实训中心制一、实训基本信息实训项目名称扫雷游戏实 训 环 境Eclipse+JDK二、实训项目简介(包括项目的选题依据、功能体系、项目开发的技术与方法等)计算机行业发展至今,编程语言种类繁多,但Java语言在计算机业中的地位还是不可动摇,长期占据在编程语言使用排行榜前两位,在操作系统,
2、网络协议,嵌入式等众多方面占据绝对的地位,所以计算机专业的学生应该熟悉java语言,擅长使用java语言。本次实训采用模块化开发思想,将项目按功能分成各个模块,在模块的基础上将各个小功能分别变成小函数,实现更高的代码重用。本次实训是使用java语言开发扫雷游戏,将人们最熟知的一款游戏采用java语言编程进行实现,最终能为客户提供一个跨平台的、具有很强趣味性的游戏扫雷是一款简单的游戏,扫雷游戏是以娱乐休闲为主的小型游戏,不仅可以使玩家休闲放松,消磨时间还可以拓展玩家的观察力和思维能力,适用于学生,白领,公务员等人群,这个游戏玩一局时间很短,最多只需几分钟,操作简单,因此受到广泛欢迎。三、项目开发
3、过程(1写明项目开发需要用到的C/C+知识点,并给出相关重要代码,并在代码后做出注释。2 写出在项目开发环境下的开发步骤,尽可能详细。可续页。)1、相应的知识点 1、导包:如果需要用到其他包中的类就需要导包 本次实训主要使用的包 java.util 工具包 java.awt 布局画界面 javax.swing 布局画界面部分2数组 数组有基本数据类型和引用型数据类型,有一维和二维,二维是存放一维的数组,二维数组一般确定一个有X,Y轴坐标的位置。而且数组的初始化也有静态的和动态,不得混用。以下是利用数组添加图片,添加鼠标的事件监听等。3产生随机数利用随机数产生1到81的随机数4鼠标点击事件BUT
4、TON1左击,BUTTON2中击,BUTTON3右击。 5、结构体语(1)if条件语句有些代码只能在满足条件之后可以执行的。if(条件) /单支语句if(条件)else /双支语句if(条件)else if(条件).else 多支语句本次实训不仅利用if语句判断是否右击,解决了雷数的加减问题,还解决了所点击是否为雷,随后找出所雷并标出的问题等。(2)循环语句有些代码重复执行循环语句可以很好的执行重复执行的代码,就如以下,利用for循环很好的解决了初级,中级,高级布雷任务等。6界面和菜单(1)界面从图中的可以看出总的桌布是JFrame布局方式是BolderLayout然后添加Jpanel桌布添加
5、相应的组件和文本框放置在桌布JFrame的北方,以同样方式然后设置网格布局放置在JFrame中间这就是以下界面的生成。桌布 JFrame:可独立的存在,自动调节大小,有最小化最大化和关闭。Jpanel:不可独立的存在,必须借助JFrame才可以显示出来。布局FlowLayot:流式布局,可大可小BolderLayout:有东南西北中区域,可按布局按位置存放GridLayout:网格布局将容器分割成许多行和列,形似网格(2)菜单设置 文本框:JLabel不可编辑直接显示已编入内容编辑框:JTextField:单行编辑框JTextArea:多行编辑框JMenuBar 菜单条JMenu 菜单JMen
6、uItem 菜单项7给组件添加事件监听MineGame执行监听编写了一个中级难度扫雷的方法,并给seniorMenuItem添加事件监听,进而执行。 集中式的事件处理 a)当前类 implements ActionListion b)重写ActionListion中一个方法 c)给组件添加事件监听 组件:addActionListion(this) d)根据点击不同的组件完成不同的 业务逻辑处理 8方法的定义与调用 2、开发步骤 1、自定义槽:创建java project: MineGame package: com.briup.game class: MineGame class:MyBut
7、ton 2该游戏组成可以说有四个部分,第一是GUI界面的生成,第二是菜单栏,然后是菜单栏下计数雷的和开始操作按钮,接下来就是界面中心的网格布局和雷的布局和算法,3、编写代码第一步:在MineGame类搭建JFrame框架,构造器, initGUI方法,go方法,main方法。第二步:构建JButton的子类MyButton。 提供按钮的一些属性:是否是雷。 是否被点击。 是否被右击。第三步:搭建里面的控件 1)完成菜单 游戏菜单-初级,中级,高级 帮助菜单-游戏说明,关于扫雷 2)完成开始按钮,显示雷数,显示时间。 放在JPanel中。采用流式布局 3)完成初级的雷区的按钮排布 放在JPane
8、l中,采用网格布局(9,9) 4)完成点击游戏说明,关于扫雷菜单 的事件 5)完成点击初级,高级,中级菜单 雷区按钮的不同排布。第四步:处理事件 1)完成点击不同等级菜单时显示不同的 雷数: 初级:剩余雷数10 中级:剩余雷数40 高级:剩余雷数99 2)完成所有雷按钮的鼠标右击事件 如果雷按钮没有被右击,该按钮显示 带有红旗的图片,并且剩余雷数- 如果雷按钮已经被右击,该按钮显示 之前的的图片,并且剩余雷数+ 5)完成点击开始按钮时所有的雷按钮时 可点击,默认是不能点击的。 3)完成点击帮助菜单中的事件 4)完成点击开始按钮时定时器运行 6)完成点击开始时,布雷的算法。 不同的等级产生不同的
9、雷数。 随机产生一个行和一个列。 该行该列的按钮就是雷。设置该 按钮的isBomb为true。并且显示 该按钮的图片为雷的图片。 7)完成点击雷区按钮。 判断如果点击的按钮是雷,找出所有 的雷按钮,并结束本次游戏(停止计时器) 判断如果点击的按钮不是雷,则判断 该按钮的周围8个按钮有多少个雷, 然后设置该按钮显示相应雷数的图片。 最后如果翻开的格子数+总雷数等于 总格数,则为游戏成功(停止计时器) 四、项目运行与测试(注:粘贴系统运行的几个关键截图,并加以文字说明测试的步骤及对应的运行状态。可续页。)1、窗口界面的生成2判断是雷3.完成菜单初级中级高级4帮助菜单事件 5完成点击开始时,布雷的算
10、法6所有雷按钮的鼠标右击事件7游戏的成功与失败 8、程序编译运行调试正常 9、相应文档,PPT的制作 10、完成项目信息工程学院课程实训小结学 号2014110645姓 名谢成林班 级14软工2实训主要内容及个人感受1、实训时遇到的问题及解决方法问题1这次实训遇到许多小问题,有花括号,分号增添减少;2如何记录游戏时间,3如何布雷4如何扫雷5如何让没有雷的地方自动翻面解决:重新观看视频和文档,请教同学和老师。2、课程设计总结与体会我在每天实训中都能够学习到很多东西,有些和C语言和C+差不多,列如一维,二维数组,for循环,if判断语句,在以前学习的时候不够深刻,在这次实训中我深入了解到了这些知识
11、,但也有一些Java特有知识,导包,产生随机数,方法的定义与调用,GUI界面的生成,两种桌布JFrame和Jpanel,三种布局FlowLayot流式布局,BolderLayout,GridLayout网格布局,菜单的三种类型JMenuBar 菜单条,JMenu 菜单,JMenuItem 菜单项,以及文本框:JLabel不可编辑直接显示已编入内容编辑框:JTextField单行编辑框JTextArea:多行编辑框,给组件添加事件监听,这些内容巧妙的结合,形成了一个扫雷的游戏,真的不可思议,但我也有一些内容不怎么了解,就如给鼠标添加事件监听,以及将一些按钮放在一个类中。在学校老师教我们C语言和C+,但大多数属于理论知识,能敲代码的机会是很少的,也没有团队做项目的,所以,这一切都过于抽象,以至于我们学习的兴趣不高,学习内容深度也不够,但就这次实训,可以说让我感觉到了快乐,以后多动手解决问题。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1