文档库 最新最全的文档下载
当前位置:文档库 › Linux平台下基于JAVA小游戏_设计文档

Linux平台下基于JAVA小游戏_设计文档

Linux平台下基于JAVA小游戏_设计文档
Linux平台下基于JAVA小游戏_设计文档

Linux课程设计报告

课题名称:《Linux平台下基于java小游戏设计》

专业:2011级计算机科学与技术

组长:043佘清泉

组员:007陈威达008陈学仁026赖华标027兰荣辉指导老师:林晖

日期:2014年10月27日

目录

Linux课程设计报告 (1)

1 、引言 (2)

1.1 编写目的 (2)

2、作品概述 (2)

2.1 说明 (2)

2.2产品 (3)

2.3验收标准 (3)

3、可行性研究报告 (3)

3.1 技术可行性分析 (3)

3.2 时间和资源可行性分析 (3)

4、需求分析 (3)

5、详细设计 (4)

6、界面设计 (7)

7、总结 (10)

8、参考文献 (11)

§1 、引言

1.1 编写目的

扫雷是一款经典的单人计算机游戏。其规则简单,上手容易,不论男女老少皆可娱乐。游戏的用户界面由在量小方格组成的战场构成。当游戏开始时,计算机将固定的地雷数随机的放到战场的方格。此游戏还允许玩家指定战场中的地雷数以及战场大小。

§2、作品概述

2.1 说明

a.软件名称:winmine

b.项目开发者:计算机科学与技术专业——Knight-Team

c.用户:所有扫雷游戏爱好者

2.2产品

采用JAVA语言编写,是可运行在Linux系统平台上的应用程序。

2.3验收标准

完成了所有文档的书写,程序通过编译并可以运行,程序达到预期的运行效果。

§3、可行性研究报告

3.1 技术可行性分析

本程序是 java平台下的Linux应用程序,总体规模较小适合小团队完成。开发人员是计算机专业学生,有一定编程基础,有能力完成该程序的设计及开发工作。

3.2 时间和资源可行性分析

(1)预算中的人员每天进行至少2小时的开发工作

(2)9月28日——10月1日查找一些相关材料(赖华标,陈学仁,兰荣辉) 10月2日——10月5日 Linux系统安装,搭建开发环境(佘清泉)

10月6日——10月9日界面设计,初步实现扫雷功能(陈威达,佘清泉)

10月10日——10月16日菜单设计,添加游戏级别与自定义功能(陈威达,佘清泉) 10月17日——10月18日设计文档编写(待定)

10月19日——10月22日 PPT制作(待定)

§4、需求分析

4.1功能需求:

4.2运行环境需求:

运行平台:Linux系统

4.3硬件需求:

a.处理器型号:酷睿2代及同等型号以上处理器

b.及内存容量:512MB以上内存

c.外存容量:20G以上硬盘空间

d.联机或脱机:脱机

e.输入及输出设备的型号和数量:鼠标、彩色显示器

4.4软件需求:

Linux version 3.5.0-17-generic

JDK:1.8.0_20

开发工具:Eclipse—Version: Luna Release (4.4.0) 4.5控制需求:

使用全鼠标控制

4.6 文件输入输出需求:

程序使用.txt类型文件存储游戏信息。

§5、详细设计

5.1 设计思想:

我们可以把整个雷区看成一个二维数组.首先我们在雷区上随机地放上雷,这可以用random类来实现。当没有雷的地方被点击后就会显示一个数字表示它周围有几个雷,要实现这个功能,,如雷区a[i][j]:

a[1][1] a[1][2] a[1][3] a[1][4] a[1][5] a[1][6] a[1][7] a[1][8]

a[2][1] a[2][2] a[2][3] a[2][4] a[2][5] a[2][6] a[2][7] a[2][8]

a[3][1] a[3][2] a[3][3] a[3][4] a[3][5] a[3][6] a[3][7] a[3][8]

a[4][1] a[4][2] a[4][3] a[4][4] a[4][5] a[4][6] a[4][7] a[4][8]

a[5][1] a[5][2] a[5][3] a[5][4] a[5][5] a[5][6] a[5][7] a[5][8]

我们可以发现a[i][j]周围存在着如下关系:

a[i-1][j-1] a[i-1][j] a[i-1][j+1]

a[i][j-1] a[i][j] a[i][j+1]

a[i+1][j-1] a[i+1][j] a[i+1][j+1]

于是,可以从a[i][j]的左上角顺时针开始检测。当然,如果超出边界,要用约束条件再加以判断!

扫雷程序还会自动展开已确定没有雷的雷区。如果a[3][4]周围雷数为1,a[2][3]已被标示为地雷,那么a[2][4],a[2][5],a[3][3],a[3][5],a[4][3],a[4][4],a[4][5]将被展开,一直波及到不可确定的雷区。这也是实现的关键!我们可以把数组的元素设定为一个类对象(类中定义:第几号方块,周围雷数,是否为雷,是否被点击,探雷标记,是否点击右键),它们所属的类设定这样的一个事件:在被展开时,检查周围的雷数是否与周围标示出来的雷数相等,如果相等则展开周围未标示的雷区。这样新的雷区展开又触发这个事件,就这样递归下去,一直蔓延到不可展开的雷区。

5.2 游戏流程:

5.3 类设计

在设计扫雷游戏时,编写了5个源文件:Button.java,Custom.java,Information.java,MainScreen.java,MyButton.java,除了这5个源文件外,还需要Java系统提供一些重要的类,如File,JButton和JLabel等类。

5.4 UML图

§6、界面设计初级

排行榜

§7、总结

1、我们遇到的问题及解决办法:

①有时会出现空指针错误,一些参数的传值不正确导致。通过debug调试

解决了问题。

②刚开始对线程比较陌生,没有处理好,导致有些按钮功能失效。后来网上

查找资料一些资料解决。

③由于粗心问题也照成不少小错误,不过在同学和组员的共同努力下最终完

成。

2、有何收获

我们课程设计选这个题目原因是对这款游戏的操作以及玩法度比较了解,所以做起来比较容易点,扫雷游戏是一款智力游戏,这款游戏将一定的地雷分布在小格子里,最终胜利是玩家将所有的地雷都找出。Java是我们这个学期新学的语言,通过这个课程设计,我们对以前学的知识有了更深一步的了解,这次设计的时间有限,所以我们做了一个自己比较喜欢的小游戏,刚开始做时,虽然知道主要思想但把它要表示出来真的很不容易,通过查资料,请教同学,上网,经过这段时间的努力,我们终于做出了这款游戏,虽然还有很多不足,但做出来后还是很开心的,测试这个游戏的功能时,感觉很不错,总的来说这次的设计还是很成功的!

§8、参考文献

[1]《Java程序设计教程》第二版主编:雍俊海清华大学出版社

[2]《软件工程导论》第五版主编:张海藩清华大学出版社

[3]《Java程序设计实验指导与案例习题解答》主编:刘宝林清华大学出版社

[4]《Java程序设计案例教程》主编:刘志都、赵建超武汉大学出版社

[5]《Java编程基础、实力与进阶》主编:王勇、代桂平、方娟、毛国君清华大学出版社

[6]《Java程序设计》主编:周晓媛、张晓燕西安科技大学

[7]《Java程序设计教程》第六版主编:John Lewis、William Loftus 电子工业出

Java课程设计小游戏

《高级语言程序设计》课程设计报告 1、程序设计说明书 【设计题目】 雷霆行动游戏程序 【问题描述】 雷霆行动是一款供大家休闲娱乐的小游戏,游戏通过鼠标控制我方飞机hero的移动,达到躲闪敌机的目的;利用鼠标键发射子弹和导弹,达到击毁敌机的目的,摧毁敌机有积分。此游戏为闯关积分类小游戏。 【软件功能】 1.按鼠标左键,游戏开始。 2.利用鼠标移动控制hero自由移动,闪躲敌方子弹。 3.利用鼠标左键发射子弹,实现打中敌方飞机的功能;利用鼠标右键释放导弹,实现摧毁大量敌 机的功能,击中一个敌方飞机积一分。 4.hero碰到对方子弹会消耗生命,消耗生命的多少,依据子弹的不同而不同。 5.一关之后会进入下一关。 6.游戏右上角红色的进度条表示hero的生命,当红色全部消失之后,游戏结束,显示死亡。 7.游戏结束后,可重新开始,同1。 【算法思想】 1.创建游戏主界面,确定窗口的坐标。 2.设计游戏开始界面显示信息及信息坐标。 3.设置游戏进行中的信息,hero的移动、释放子弹和导弹,达到击毁敌机的目的。 4.处理游戏进行中的子弹、大爆、爆炸、敌机消失和存在的条件。 5.设置进入下一关的条件。 6.设计游戏结束界面显示信息及信息坐标。 7.处理游戏重新开始满足的条件。 8.装载图像。 9.对游戏进行调试和改进,使这个游戏更加完善。 【类的设计】 本程序共有七个类: 1.MainPanel 属性:BBv为子弹数组,EEv为敌机数组,BOMBv为爆炸数组,EBv为敌机子弹数组,DBv 为大爆数组,E-num为敌机数量,E-max敌机最大数,E-vel为敌机速度,E-mov为敌机 横移几率,E-hit为敌机开火几率,Sum为击毁敌机数量,hero-hp为hero生命,back至 db-2均为图片,tracker为媒体跟踪器,y为背景滚动变量,seq为hero的动画变量,isfire 为hero开火,isblast为是否发爆,blastnum为大爆的数量,blastc为控制大爆,f、ff、s、 ss均为游戏界面上显示的信息; 方法:MainPanel(Game)构造方法,paint(Graphics)建立游戏开始界面如显示的文字,run()控制对象移动,BBmove(int,int)子弹的移动方法,DBmove(int,int)大爆的移动方法, mouseDragged(MouseEvent) 鼠标的拖拽用来保证hero不出界,mouseMoved(MouseEvent) 鼠标的移动用来控制hero移动,mousePressed(MouseEvent) 鼠标按键在组件上按下时调 用,重新开始游戏,mouseClicked(MouseEvent)鼠标按键在组件上单击(按下并释放) 时调用,释放子弹,mouseReleased(MouseEvent)鼠标按钮在组件上释放时调用, mouseEntered(MouseEvent)鼠标进入组件上调用,mouseExited(MouseEvent)鼠标离开组 件时调用;

Java课程设计 点小游戏

2016—2017学年第二学期 《面向对象程序设计》课程设计报告 题目:21点小游戏 专业: 班级: 姓名: 指导教师: 成绩: 计算机学院 2017年5月16日

1.设计目的 面向对象程序设计是一门实践性很强的专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。通过这次设计,掌握了以下内容:面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用类、包、接口的定义与使用。常用工具类与算法的实现(数组、向量、字符串、链表),、中常用标准GUI组件及相应的事件处理,Java的异常处理机制,Java的数据库连接技术,Java的多线程技术与动画制作以及Java的网络编程。 游戏规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。2.设计思路 本游戏选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。 在要牌的过程中,如果所有的牌加起来超过21点,玩家就输了——叫爆掉(Bust),游戏也就结束了。假如玩家没爆掉,而庄家的总点数加起来大于21点后,那庄家就输了。假如庄家没爆掉,而玩家也没有爆掉,那么玩家就与庄家比点数大小,大为赢。一样的点数则庄家赢。

图 1 结构 3.设计结果与分析 当打开该小游戏时,打开游戏菜单里面的开始游戏,软件运行界面如下图所示 图2 主界面 图3 玩家点数大于21点 图4 玩家点数大于庄家点数 图5 庄家点数大于玩家点数 图6 继续要牌 图7 玩家点数等于庄家点数

JAVA火柴小游戏课程设计报告

课程设计报告书 所属课程名称Java综合实践题目取火柴小游戏 院(系)信息工程学院 班级软件工程(2)班学号 学生 指导教师 2016年12 月26 日

课程设计(论文)任务书 学院信息工程学院专业15软件工程班级 1 一、课程设计(论文)题目取火柴小游戏 二、课程设计(论文)工作:自2016年12月20 日起至2016年12 月 31 日止。 三、课程设计(论文)的容要求: 1.本课程设计的目的 (1)掌握Java语言的程序设计方法; (2)理论联系实际,进一步提高学生的软件开发技术; (3)培养学生分析、解决问题的能力; (4)提高学生实践论文撰写能力。 2.课程设计的任务及要求 1)基本要求: (1)熟悉JAVA开发环境,掌握JAVA程序的编译和运行; (2)掌握JAVA基本编程技术和方法; (3)掌握GUI图形界面编程技术; (4)了解异常处理机制。 2)课程设计论文编写要求 (1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订。 (2)课程设计报告(论文)包括目录、设计目的、实现思路、实现步骤、设计心得参考文献、附录等; 3)课程设计评分标准: (1)学习态度:10分;

(2)系统设计:20分; (3)编程调试:20分; (4)回答问题:20分; (5)论文撰写:30分。 4)参考文献: (1)丁振凡主编. Java语言实用教程[M]. 邮电大学. 2004.12 (2)丁振凡主编. Java语言实用教程实验指导[M]. 邮电大学. 2004.12 (3)https://www.wendangku.net/doc/f74611616.html, 5)课程设计进度安排 1.准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料2.程序模块设计分析阶段(8学时):程序总体设计、详细设计 3.代码编写调试阶段(8学时):程序模块代码编写、调试、测试 4.撰写论文阶段(4学时):总结课程设计任务和设计容,撰写课程设计论文 6)课程设计题目具体要求: 编写一个程序使计算机随机产生20—50根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。使用图形界面编写,要求界面布局合理,并且能够顺利关闭界面,退出程序。 学生签名: 2016年12 月25日

java小游戏设计.docx

文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持.华北科技学院计算机学院综合性实验 实验报告 课程名称JAVA程序设计 实验学期2014至2015学年第1学期 学生所在院部计算机学院 年级专业班级 学生姓名学号 任课教师 实验成绩 计算机学院制

《 Java 程序设计》课程综合性实验报告 开课实验室:基础四2016年 11 月 28日 实验题目基于 java 的拼图游戏 一、实验目的 程序使用Eclipse 集成开发环境完成,熟悉并掌握在Eclipse 开发环境下编写Java 程序。 二、设备与环境 硬件:多媒体计算机 软件: Windows 系列操作系统、JDK 开发包、 Eclipse 开发环境 三、实验内容及要求 1.实验要求 使用 Java swing 编程实现拼图游戏。游戏功能是将一幅图片分割成5*5 的规则小图片,游戏开始时将25 个小图片随机摆放,玩家能够参考原图拼接出正确的图片。 游戏规则:在 25 个小图片中有一个为空白图片,玩家可以单击和空白小图片相邻的任一个 小图片(上、下、左、右均可),即可将单击的小图片与空白小图片交换位置。通过有限次的移动,即可将随机分布的小图片恢复成原图的样式。 2.实验内容 ( 1) java 源代码及其功能 及主 员函 序号类名主要功能 功1GreedSnake该类为程序入口,含有main 方法。 ( 2)2SnakeControl 实现控制运行等总体要求,实现方向键控制蛇的方 向,空格键控制游戏暂停或继续,还有分数等。代码 该类实现蛇的结构和具体运动,如判断食物是否和 3SnakeModel 现如 怎样被吃掉及判断后的动作。 ① 程4Node该类实现组成蛇身的单位- 食物。 口主5SnakeView该类实现画板功能,用黑色画蛇身,红色画食物。法: //第一部分 public class GreedSnake {//建立主类GreeSnake public static void main(String[] args) { SnakeModel model =new SnakeModel(20,30);//初始化蛇出现的位置SnakeControl control =new SnakeControl(model); SnakeView view =new SnakeView(model,control); //添加一个观察者,让 view 成为 model 的观察者 model.addObserver(view); (new Thread(model)).start(); }各类要成数的能:具体及实下:序入方

超级玛丽JAVA小游戏详细设计文档

目录 1.导言 (2) 1.1编写目的 (2) 1.2项目范围 (2) 1.3参考资料 (2) 1.4缩写说明 (2) 1.5术语定义 (2) 2.功能需求 (3) 2.1界面设计技术 (3) 2.2游戏功能划分 (3) 2.3功能划分的架构图 (3) 2.4具体的功能模块 (4) 2.5功能描述 (4) 2.6程序的总体架构 (4) 2.7程序的三层结构图 (4) 3.面向对象设计 (5) 3.1主要类图 (5) 3.2各个模块的方法或类名类表示 (6) 3.3地图绘制中的坐标说明 (6) 4.程序的详细设计 (7) 4.1主要人物玛丽的实现 (7) 4.2核心类 (7)

1.导言 1.1编写目的 该文档的目的是说明超级玛丽游戏的功能和设计方向、目标等描述游戏项目的整体框架的实现。其主要内容包括:游戏项目的功能简介,接口设计,模块设计,界面设计。本文档预期读者包括:项目管理人员,编程人员,数据库设计人员,美工,测试人员。 1.2项目范围 该文档定义了游戏的模块,结构单元,但未确定单元的实现方法,这部分内容将在具体的代码设计中实现。 1.3参考资料 《软件工程案例教程》机械工业出版社韩万江编著 《J2ME手机游戏开发技术详解》清华大学出版社李振鹏龚剑编著 1.4缩写说明 UML:Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。 1.5术语定义 MIDP 2.0 定义:MIDP 2.0 也叫MIDP_NG,它的编号是JSR 118。MIDP2.0 与1.0相比有很大提高,增加的特性包括:提供域安全模型,以允许对应用程序进行签名和论证;提供TCP、UDP网络接口;内置OTA;更好的用户界面;基本的声音API。

(完整word版)基于Java的猜拳小游戏设计

目录 绪论............................................... 错误!未定义书签。 一、背景与意义..................................... 错误!未定义书签。 二、设计原理与方案................................. 错误!未定义书签。 一)方案....................................... 错误!未定义书签。 二)设计思路................................... 错误!未定义书签。 三)系统分析................................... 错误!未定义书签。 四)程序概要设计............................... 错误!未定义书签。 五)工作流程图................................ 错误!未定义书签。 六)程序框图.................................. 错误!未定义书签。 七)程序中所用类说明.......................... 错误!未定义书签。 八)程序运行效果及存在的问题................... 错误!未定义书签。 三、项目实现....................................... 错误!未定义书签。 一)程序用到的类库简介......................... 错误!未定义书签。 二)游戏主程序设计............................. 错误!未定义书签。 三)主界面PigPanel类......................... 错误!未定义书签。 四)具体实现.................................. 错误!未定义书签。 四、运行结果....................................... 错误!未定义书签。 一)结果截图................................... 错误!未定义书签。 二)系统在调度中经常出现的问题................. 错误!未定义书签。 五、心得........................................... 错误!未定义书签。 六、总结语......................................... 错误!未定义书签。 七、参考文献 (19)

JAVA小游戏“华容道”软件设计报告讲解

命题方式:单独命题 佛山科学技术学院2013—2014学年第二学期 《可视化编程技术》课程期末考试试题A 专业、班级:12教技2班姓名:何颖康学号:2012914209 成绩: 根据《可视化编程技术》这门课程的内容,结合自己熟悉的课题及自己的实际情况来自选设计题目,也可以选择老师提供的参考题目设计。 1.参考设计题目 1)电子钟;2)简单计算器;3)五子棋;4)微波炉倒计时部件 2.上交文本格式(参考设计报告模板) (1)标题; (2)班级、姓名、学号; (3)摘要 (4)关键词; (5),正文; (6)参考文献; (7)设计总结(自己所做的主要工作与体会) 3.作品必须有一个自己独立完成的模块,按照功能多少及强度评分。 4.上交作品两项 (1) 课程设计报告电子完整版(含程序),统一放入班级光盘中; (2) 考试作品(从设计报告中整理5-6页+本封面)用A4白纸打印。

佛山科学技术学院 《可视化编程技术》课程设计报告JA V A小游戏“华容道”设计 学生姓名:何颖康 学号:2012914209 年级专业:12级教育技术学2班 指导老师:容汝佳 学院:教育科学学院 广东★佛山 提交日期:2014年6月

摘要: 本程序根据手机游戏“智力大爆炸”为原版,加入历史元素,将娱乐、学习和思考集于一体。程序执行后,点击相应的人物,然后按上下左右键可以移动。点击重新开始按钮,可以将各个人物的位置重置。如果目的地的面积能够容得下当前要移动的人物,则认为可以移动。当曹操移动到“曹操到达该位置”的位置的时候,认为程序结束。 关键字:java小游戏,华容道,益智,历史元素,曹操移动 前言 随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,我决定使用Java语言编写一个简单的计算器,可以实现简单的运算功能,满足日常基本的工作学习和娱乐需要。 Java是由Sun公司开发的新一代纯面向对象的网络编程语言。其目标是建立一种在任意种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行”的目标。正因为如此,Java已成为当今Internet上最流行、最受欢迎的一种程序开发语言。 Java开发小组把Java按特性分为基本版、移动版、企业版,每个版本有一个软件开发包。Java基本版本叫Java 2标准版(Java 2 Standard Edition,J2SE),它包含建立Java应用程序或者是Applet所需的应用程序编程接口(API)。Java 2移动版(The Java 2 Mobile Edition,J2ME)包含创建无线Java应用程序的API。还有Java 2企业版(The Java 2 Enterprise,J2EE)是J2SE的增强版本,包含建立多层架构应用程序API。 Java语言是由C++语言发展起而来的,是一种彻底的面向对象的程序设计语言。作为一种纯面向对象的程序设计语言,它非常适合大型软件的开发。Java 语言去掉了C++语言的一些容易引起错误的特性。Java语言的特点有:面向对象、跨平台、安全性、多线程和图形功能强。

java课程设计贪吃蛇游戏设计asd

前言 Java最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景。于是改造了Oak,以“Java”的名称正式发布。 Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

Java猜拳小游戏程序设计实验报告

Java程序设计实验报告 班级:学号:姓名: 实验题目:猜拳小游戏 实验要求: 用java编写一个人机对战的猜拳小游戏。人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。有简单的操作界面。 实验内容: 1、问题分析过程: (1)首先分析猜拳游戏本身的玩法: 人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。 (2)用面向对象的思想来分析: 在游戏过程中有几个对象组成 人 电脑 游戏规则 抽象出3个类:Person、Computer、Game Person类有哪些属性和行为呢? 属性:名字name,输赢次数(比分)score 行为:出拳ShowFirst()选择性 Computer类有哪些属性和行为呢? 属性:名字name,输赢次数(比分)score 行为:出拳showFist()随机 Game类有哪些属性和行为呢? 属性:游戏的双方(person、computer)、对战局数count 行为:产生角色initial()、游戏规则startGame()、显示比赛结果showResult()、统计比赛结果calcResul() 2、主要实现代码: import java.util.*; public class StartGame { public static void main(String[]args){ Game start = new Game();//实例化游戏类 start.initial(); //调用初始化方法 start.startGame(); //调用游戏开始方法 start.showResult(); //调用游戏结果显示方法 } }

import java.util.*; public class Person { String name;//名字属性 int score;//积分属性 //出拳方法 public int showFist(){ System.out.print("\n请出拳:1.剪刀2.石头3.布(输入相应数字):"); Scanner input = new Scanner(System.in); int num = input.nextInt(); String fist = "";//保存出拳 switch(num){ case 1: fist = "剪刀"; break; case 2: fist = "石头"; break; case 3: fist = "布"; break; } System.out.println(name + "出拳:" + fist); return num; } } import java.util.*; public class Game { //Person person; //甲方 //Computer computer; //乙方 int count; //对战次数 Person person = new Person(); //实例化用户类 Computer computer = new Computer(); //实例化计算机类 //初始化方法 public int initial(){ count = 0; return count; } //游戏开始方法 public void startGame(){ //显示游戏开始界面 System.out.println(" ---------------欢迎进入游戏世界--------------\n"); System.out.println("\t\t******************************"); System.out.println("\t\t** ^_^ 猜拳,Start ^_^ **"); System.out.println("\t\t*****************************");

JAVA课程设计报告(小游戏)

第一章总体设计 1.1本系统的主要功能 记忆测试游戏 1.2系统包含的类及类之间的关系 本系统共包括7个java源文件。 如图1-1所示。 图1-1 类之间的关系 2.2 java源文件及其功能 1.MemoryGame.java 该文件负责创建记忆测试系统的主窗口,该类含有main方法,记忆测试系统从该类开始运行;

2.MemoryTestArea.java 该文件所包含的MemoryTestArea类是主类MemoryGame窗口的一个JPanel容器,所创建的对象成为测试区,这个测试区被添加到MemoryGame窗口的中心; 3.Block.java 该文件所包含的Block类是JButton的子类,负责为MemoryTestArea 类中的ArrayList数组表提供Block对象; 4.Record.java 该文件所包含的Record类是javax.swing包中JDialog对话框的子类,当用户成功单击出相应级别所要求的图标相同的方块后,Record创建的对象负责保存用户的名字和成绩到相应的级别文件中; 5.ShowRecordDialog.java 该文件所包含的ShowRecordDialog类是javax.swing包中JDialog 对话框的子类,当用户单击查看排行榜时,ShowRecordDialog创建的对象负责显示用户的成绩; 6.People.java 该文件所包含的People对象封装用户的名字和成绩,以便ShowRecordDialog对象可以按成绩的高低排列用户。

第二章详细设计 2.1主类MemoryGame.java (1)成员变量见表2-1 表2-1 主要成员变量(属性) 成员变量描述变量类型名称菜单条JMenuBar bar 字符串数组Sring imagename 测试区对象MemoryArea memoryarea 菜单JMenu menuGrade (2)方法见表2-2 表2-2 主要方法 成员变量描述功能备注 MemoryGame() 完成窗口初始化构造函数actionPerformed( 实现接口中的方法 ActionEvent) Main(String[]) 软件运行的入口 (3)源代码见文件×××.java 2.2类××××× (1)成员变量见表2-3 表2-3 主要成员变量 成员变量描述变量类型名称 测试区的行列数int Row,col 用户的用时int usedtime 提供存储成绩的界面Record record (2)方法见表2-4 表2-4 主要方法

Java简易猜拳小游戏设计

吉林工程技术师范学院 C程序设计 课程设计报告书 设计题目:Java简易猜拳小游戏专业:信息管理与信息系统 班级: X0841 学生姓名:刘忠宇 学号: 0801094133 指导教师:孟宇桥 信息工程学院 2009年12月

目录 摘要: (03) 第一章绪论 (05) 第二章系统分析 (07) 第三章总体设计 (09) 第四章编码实现 (11) 第五章调试与测试 (14) 总结: (15) 附录: 1源代码 (20) 2参考资料 (30)

摘要 面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,它吸取了结构化程序设计的精华,以更接近人们通常思维的方式来处理问题,是一种全新的软件开发技术。 作为一种新的的编程语言,Java很大程度推广了面向对象的思想。随着计算机技术的发展,Java 的强大展现出它不可替代的作用。Java的功能不仅体现在它网络方面的应用,对于应用程序设计、游戏设计等Java都能满足需求。 本文针对Java 的具体应用,设计了一个小游戏。根据游戏的规则,用户将可以和计算机进行简单对战。程序实现了友好的用户交互界面,让用户能很好地对游戏进行操作。 关键字:JAVA GUI 游戏

ABSTRACT The Object-Oriented Method is a method which apllies the Object-Oriented Design to the process of the software exploiture and directs the ploy of development. It extracts the prime of the Structured Design for Computer Programmers, deals matters with a folksy fashion, which is considered to be a grand new software-develop technique. As a new programming language, Java spread the Object-Oriented Design in a certain degree. With the development of the technique of computer, the insurmountable function of JAVA is exhibited for its’ mightiness. Not only applies in network, JAVA also can fulfill the requirement of the Application-Design and Game-Design. In this paper, to use the idiographic application of JAVA , I design a game called . Following the regular of the game, user can play a simple revalry with computer. This programme actualizes a folksy GUI mode, which will make user master game easily. Keywords: JAVA GUI Game

小游戏Java课程设计报告书

《JAVA 语言程序设计》 课程设计报告 2048智力小游戏设计 专业班级:计算机科学与技术嵌入13-1 学生姓名:卓海有 学生学号: 小组成员:单建飞堵文斐李栋承梅孔伟 指导教师姓名:宋强

目录 4 4 4 5 8 10 10 10

一、前言 最近以来,移动手游越来越成为当下游戏产业中重要的一环,市场也在加大对这一产业的投入,涌现出了愤怒的小鸟,水果忍者,flappybird,2048等诸多优秀的手游,然而任何一款手游能够风靡,主要还是依靠其简单的操作性,因此本次java课设我选择其中的典型2048PC版作为本次课设的课题。 2048游戏规则很简单,玩家每次可以选择上下左右其中一个方向去移动,每移动一次,所有的数字方块都会往移动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。 二、游戏需求分析 需求分析 现代社会对休闲小游戏的需求是:提高游戏的操作可行性,降低游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加贴合使用。 (1)界面 一款的好的游戏其界面必须友好,简洁已经成为当今UI设计的主流,简单易上手才能得到玩家的青睐。 (2)功能需求 能够显示游戏的当前得得分,并记录游戏的最高分并显示,当在次打开游戏时,能够显示最高分;在游戏进行的过程中循环播放音乐,并能够关闭音乐或者打开音乐;游戏的主界面上,相同的数字要显示相同的颜色。游戏结束要有相应的提示。游戏的主要目的是通过上下左右移动来将相邻相同的数字相加,通过不断地累加最终加到2048。 (3)操作性需求 游戏的体验是衡量一款游戏的关键,本游戏可通过键盘w,s,a,d以及方向键来控制方块的移动,还可以通过在游戏的主面板中向上下左右拖动鼠标

Java课程设计点小游戏

J a v a课程设计点小游戏 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

2016—2017学年第二学期 《面向对象程序设计》 课程设计报告 题目:21点小游戏 专业: 班级: 姓名: 指导教师: 成绩: 计算机学院 2017年5月16日

1.设计目的 面向对象程序设计是一门实践性很强的专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。通过这次设计,掌握了以下内容:面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用类、包、接口的定义与使用。常用工具类与算法的实现(数组、向量、字符串、链表),java.awt、javax.swing中常用标准GUI组件及相应的事件处理,Java的异常处理机制,Java的数据库连接技术,Java的多线程技术与动画制作以及Java的网络编程。 游戏规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。 2.设计思路 本游戏选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。 在要牌的过程中,如果所有的牌加起来超过21点,玩家就输了——叫爆掉(Bust),游戏也就结束了。假如玩家没爆掉,而庄家的总点数加起来大于21点后,那庄家就输了。假如庄家没爆掉,而玩家也没有爆掉,那么玩家就与庄家比点数大小,大为赢。一样的点数则庄家赢。

2048小游戏设计

2048小游戏 (一)程序介绍 2048是一款益智小游戏,玩家需要在l6个格子中通过数字叠加的方法将最初的数字2凑成数字2048。有16个格子,初始时会有两个格子上安放了两个数字2, 每次可以选择上下左右其中一个方向去滑动, 每滑动一次, 所有的数宇方块都会往滑动的方向靠拢外, 系统也会在空自的地方随即出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。 2o48是比较流行的一款数字游成a本课程设计通过设计与开发 JvM平台上的2048游戏,进一步掌握所学Java课程的知识, 体验 Java的跨平台性, 同时将 Java设计方面的知识拓展应用 (二) 功能需求描述 l、图形用户界面: 2048的最大特点就是玩家对图形界面里的数字进行操作, 也就是是玩家与游戏的互动 2、当前分数 scoRE 与最高分数的显示:在我们设计的2048游戏中当前分数取了页面i内所有数字相加的值为分数, 对玩家玩游戏的进展有直接性、客观性的展现, 同时, 最高分数取了以往玩家退出游戏时所保存分数的最高分 3、数字颜色‘游戏中数宇的颜色以2为首項的等比数列变化,即2、 4、8、l6、32、“、128、256、5l2、l024、2048__.对应的数字卡片变色 4、游戏的退出:游戏退出时,我们采用弹出对话框的确认玩家是否真的要退出游戏, 当然这样做更符合游戏人性化设计的观念。 (三)玩法技巧: 1、最大数尽可能放在角落

2、数字按顺序紧邻排列 3、首先満足最大数和次大数在的那一列/行是满的 4、时刻注意活动较大数旁边要有相近的数 5、以大数所在的一行为主要移动方向 6、不要急于“清理桌面” (四)程序说明 一个类 Copy2048继承JFrame, 类中包括, 一个构造方法 Copy2048,构造方法中设定游戏界面的大小,背景颜色,边框,字体,标签,布局,位置,记录剩 余空方块数目,记录分数,用于判断游成是否失败,用于判断游戏是否失败,设置字体类型和大小, 为最高分标签添加接键监听器, 一个 KeyEvent按键事件,

Linux平台下基于JAVA小游戏_设计文档

Linux课程设计报告 课题名称:《Linux平台下基于java小游戏设计》 专业:2011级计算机科学与技术 组长:043佘清泉 组员:007陈威达008陈学仁026赖华标027兰荣辉指导老师:林晖 日期:2014年10月27日

目录 Linux课程设计报告 (1) 1 、引言 (2) 1.1 编写目的 (2) 2、作品概述 (2) 2.1 说明 (2) 2.2产品 (3) 2.3验收标准 (3) 3、可行性研究报告 (3) 3.1 技术可行性分析 (3) 3.2 时间和资源可行性分析 (3) 4、需求分析 (3) 5、详细设计 (4) 6、界面设计 (7) 7、总结 (10) 8、参考文献 (11) §1 、引言 1.1 编写目的 扫雷是一款经典的单人计算机游戏。其规则简单,上手容易,不论男女老少皆可娱乐。游戏的用户界面由在量小方格组成的战场构成。当游戏开始时,计算机将固定的地雷数随机的放到战场的方格。此游戏还允许玩家指定战场中的地雷数以及战场大小。 §2、作品概述 2.1 说明 a.软件名称:winmine b.项目开发者:计算机科学与技术专业——Knight-Team c.用户:所有扫雷游戏爱好者

2.2产品 采用JAVA语言编写,是可运行在Linux系统平台上的应用程序。 2.3验收标准 完成了所有文档的书写,程序通过编译并可以运行,程序达到预期的运行效果。 §3、可行性研究报告 3.1 技术可行性分析 本程序是 java平台下的Linux应用程序,总体规模较小适合小团队完成。开发人员是计算机专业学生,有一定编程基础,有能力完成该程序的设计及开发工作。 3.2 时间和资源可行性分析 (1)预算中的人员每天进行至少2小时的开发工作 (2)9月28日——10月1日查找一些相关材料(赖华标,陈学仁,兰荣辉) 10月2日——10月5日 Linux系统安装,搭建开发环境(佘清泉) 10月6日——10月9日界面设计,初步实现扫雷功能(陈威达,佘清泉) 10月10日——10月16日菜单设计,添加游戏级别与自定义功能(陈威达,佘清泉) 10月17日——10月18日设计文档编写(待定) 10月19日——10月22日 PPT制作(待定) §4、需求分析

Java课程设计-21点小游戏

2016—2017学年第二学期《面向对象程序设计》 课程设计报告 题目:21点小游戏 专业: 班级: 姓名: 指导教师: 成绩: 计算机学院 2017年5月16日

1.课程设计的目的 (1) 2.设计思路 (1) 3.设计结果与分析 (2) 4.设计体会 (6) 5.参考文献 (6) 6.附录 (7)

1.设计目的 面向对象程序设计是一门实践性很强的专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。通过这次设计,掌握了以下内容:面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用类、包、接口的定义与使用。常用工具类与算法的实现(数组、向量、字符串、链表),java.awt、javax.swing 中常用标准GUI组件及相应的事件处理,Java的异常处理机制,Java的数据库连接技术,Java的多线程技术与动画制作以及Java的网络编程。 游戏规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。2.设计思路 本游戏选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。 在要牌的过程中,如果所有的牌加起来超过21点,玩家就输了——叫爆掉(Bust),游戏也就结束了。假如玩家没爆掉,而庄家的总点数加起来大于21点后,那庄家就输了。假如庄家没爆掉,而玩家也没有爆掉,那么玩家就与庄家比点数大小,大为赢。一样的点数则庄家赢。

相关文档