




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 页 共 15 页 Java 实训报告实训报告 Green foot 游戏程序设计 班 级 微应 1211 成 员 胡文亚 吴 桐 安徽水利水电职业技术学院安徽水利水电职业技术学院 第 2 页 共 15 页 第一部分第一部分 1 1 设计目的 2 1 2 设计要求 2 1 3 实现功能 2 1 4 界面设计 3 第二部分第二部分 2 1 开发平台 3 2 2 环境搭配 4 第三部分第三部分 3 1 Space 代码 4 3 2 Obstacle 代码 6 3 3 SmoothMover 代码 7 3 4 Body 代码 11 第四部分第四部分 心得体会 第一部分第一部分 第 3 页 共 15 页 1 1 设计目的设计目的 Green foot 是针对那些想让自己熟悉如何使用 JAVA 的人而设计的 是一 个功能完整的开发环境 可以使用 Java 方便地编写游戏和进行模拟 我们设 计的是一款简单易操作的游戏 我们希望能通过自己的所学知识把它分析开 来 真正的了解它的本质 虽然我们的编程能力不是很强 但是我们组有信心 通过本学期对 JAVA 语言程序设计的学习 经过老师对 greenfoot 软件的介 绍及实际举例 耐心的讲解 我们可以试着用 greenfoot 来制作简单的小 游戏了 虽然不娴熟还有待提高 但是一些技术含量较低的小游戏还是很容 易让我们掌握的 此次游戏程序设计的目的 主要是通过greenfoot 来制作游戏来更好 的掌握 java 语言 通过 greenfoot 这个平台 熟习 greenfoot 在制作游戏 方面所需要的技巧 将自己的游戏尽可能多的运用所学到的技术 并且将在 平时 java 课程上面学到的知识付诸于实践 并从 实践和实际的项目中提高 自己的编程能力 找出自己的不足之处进行弥补 1 1 2 2 设设计计要要求求 这次实训任务的课程设计的要求是选择greenfoot 软件作为我们游戏 编程的平台 因为我们平时学习的就是java 语言 而 greenfoot 便是一个 以 Java 语言为基础的游戏开发平台 所以在编程的过程中能够提高效率 也让我对 java 语言和 greenfoot 之间衔接的关系有了更深了解 同样 也 让我更加熟习了这个游戏开发平台的环境 1 1 3 3 实实现现功功能能 此款 疯狂之音 游戏的设计思路就是解放双手的弹奏 通过向空白 处随意放入不同颜色 不同大小的球 当球下落和上升时触碰到黄色板块 会触发出不同的音调 当多个声音同时出现时 能够准确的分辨出来 就成 为了一首自己创作的优美神曲 并给大家带来娱乐 为听者增加不少乐趣 第 4 页 共 15 页 1 1 4 4 界界面面设设计计 第二部分第二部分 2 12 1 开发平台开发平台 greenfoot 是一个以 Java 语言为基础的游戏开发平台 编程 的过程中能够提高效率 而且对象的可视化和对象的交互性 比较 清晰 2 22 2 环境配置环境配置 第 5 页 共 15 页 1 计算机的环境变量需要设置 计算机需要安装 JDK 版本为 1 6 由于 greenfoot 需要绑定 JDK 2 greenfoot 的安装 需要到官网上下载正确的 greenfoot 版本 安装后需要测试时候可以使用 是否与 JDK 绑定 第三部分第三部分 3 3 1 1 S Sp pa ac ce e 代代码码 import greenfoot World Actor GreenfootImage Greenfoot and MouseInfo import java awt Color public class Space extends World private String soundFiles 2c 2d 2e 2f 2g 2a 2b 3c 3d 3e 3f 3g 3a 3b 十四个声 音档 对于类空间对象的构造函数 public Space super 960 620 1 createObstacles randomBodies 5 初始球的数量 创建一个排在我们的世界中的障碍 public void createObstacles 第 6 页 共 15 页 int i 0 while i 0 int size 20 Greenfoot getRandomNumber 30 从一组 数据中随机取出一定数量的随机数 double mass size 7 0 int direction Greenfoot getRandomNumber 360 方向 double speed Greenfoot getRandomNumber 150 100 0 速度 int x Greenfoot getRandomNumber getWidth 取宽度 int y Greenfoot getRandomNumber getHeight 取长度 int r Greenfoot getRandomNumber 255 int g Greenfoot getRandomNumber 255 int b Greenfoot getRandomNumber 255 addObject new Body size mass new Vector direction speed new Color r g b x y number 第 7 页 共 15 页 3 3 2 2 O Ob bs st ta ac cl le e 代代码码 import greenfoot World Actor GreenfootImage Greenfoot and MouseInfo public class Obstacle extends Actor private String sound private boolean touched false 创建一个具有相关的声音文件的一个障碍 public Obstacle String soundFile sound soundFile 声音档 每一次循环 检查是否被击中 如果我们发挥我们的声音 public void act Actor body getOneIntersectingObject Body class if touched setImage block png else if touched setImage block light png Greenfoot playSound sound 播放声音 第 8 页 共 15 页 public void playSound Greenfoot playSound sound 3 33 3 SmoothMoverSmoothMover 代码代码 import greenfoot World Actor GreenfootImage and Greenfoot 一个变化的一个Actor 保持精确的位置 使用双打的坐标而不是整数 它还保持 当 前的运动矢量的运动形式 public abstract class SmoothMover extends Actor private Vector movement private double exactX private double exactY public SmoothMover this new Vector 创造新事物以给定的速度初始化的 public SmoothMover Vector movement this movement movement 在当前的运动方向移动 第 9 页 共 15 页 public void move exactX exactX movement getX exactY exactY movement getY super setLocation int exactX int exactY 设置位置使用精确坐标 double public void setLocation double x double y exactX x exactY y super setLocation int x int y 设置的位置 重新定义标准的 Greenfoot 方法来确定 确切的坐标更新同步 public void setLocation int x int y exactX x exactY y super setLocation x y 返回确切的 x public double getExactX return exactX 第 10 页 共 15 页 Return the exact y co ordinate as a double 返回确切的 y public double getExactY return exactY 修改当前的运动通过添加一个新的向量到现有的运动 public void addForce Vector force movement add force 加速这种原动力的速度给定的因素 因子小于 1 减速 方向保持不变 public void accelerate double factor movement scale factor if movement getLength 0 15 movement setNeutral 返回这个球的速度 public double getSpeed return movement getLength 第 11 页 共 15 页 返回该对象的当前运动 public Vector getMovement return movement 3 3 3 3 B Bo od dy y 代代码码 import greenfoot World Actor GreenfootImage Greenfoot and MouseInfo import java awt Color import java util List Body 是任何类型的对象在空间 有一个大的 或其他任何漂浮在周围空间 public class Body extends SmoothMover private static final double GRAVITY 7 8 private static final Color defaultColor new Color 255 216 0 黄色的球 private double mass 构造一个球是默认大小 方向 运动 和颜色 public Body this 20 300 new Vector 0 0 0 defaultColor 构造一个球是默认大小 方向 运动 和颜色 第 12 页 共 15 页 public Body int size double mass Vector movement Color color this mass mass addForce movement GreenfootImage image new GreenfootImage size size image setColor color image fillOval 0 0 size 1 size 1 setImage image 行为 那就是将引力部份从所有其他体的周围 然后移动 public void act applyForces move bounceAtEdge 检查是否到达背景的边缘 如果是就反弹 private void bounceAtEdge if getX 0 getX getWorld getWidth 1 setLocation double getX double getY getMovement revertHorizontal accelerate 0 9 else if getY 0 getY getWorld getHeight 1 setLocation double getX double getY 第 13 页 共 15 页 getMovement revertVertical accelerate 0 9 应用重力的力量从这个宇宙中其他天体 private void applyForces List bodies List getWorld getObjects Body class for Body body bodies if body this applyGravity body 确保不会太快 如果当前速度非常快 减速 if getSpeed 7 accelerate 0 9 加速因子 1 实际上减慢 适用于一个给定的球的重力 private void applyGravity Body other double dx other getExactX this getExactX double dy other getExactY this getExactY Vector force new Vector dx dy double distance Math sqrt dx dx dy dy double strength GRAVITY this mass other mass 第 14 页 共 15 页 distance distance double acceleration stren
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 静脉采血操作课件
- 河道砂石分离方案范本
- 桥梁墩柱修复施工方案
- 电焊专项安全培训
- 廊坊燕京职业技术学院《数字技术综合应用》2023-2024学年第一学期期末试卷
- 重庆幼儿师范高等专科学校《现代食品营养与安全自科类》2023-2024学年第一学期期末试卷
- 西藏大学《课件设计含几何画板》2023-2024学年第二学期期末试卷
- 医院收费监管方案范本
- 长春职业技术学院《油藏工程》2023-2024学年第二学期期末试卷
- 牡丹江医学院《计算机组成原理与系统结构》2023-2024学年第二学期期末试卷
- 考古调查勘探辅助工程方案投标文件(技术方案)
- 2025年法学本科毕业论文评审标准分析
- 电位滴定法课件
- 历年计算机二级MS-Office考试真题题库大全-下(500题)
- 2025年中国防爆型插入式超声波流量计市场调查研究报告
- 污水处理厂运营委托合同
- 鹦鹉可行性研究报告
- 泌尿外科护理新进展
- 环卫保洁服务应急预案
- 2025年广东佛山市高三一模高考政治试卷试题(含答案详解)
- 2024年中国藏语系高级佛学院招聘考试真题
评论
0/150
提交评论