《Java小程序之山寨版超级玛丽》.docVIP

  • 0
  • 0
  • 约4.08万字
  • 约 24页
  • 2019-11-17 发布于天津
  • 举报
Java小程序之山寨版超级玛丽 一、游戏基本功能 1、能够向左向右行走(键盘监听) 2、能够跳跃 3、能够发射子弹 4、能够检测和障碍物之间的碰撞 5、背景图片的移动 二、游戏运行界面 三、游戏大致实现思路: 1.窗体 2.自己角色的添加 3.背景图片的添加 4.背景图片的移动 5.人物的移动和跳跃 6.砖头、水管等等障碍物的添加 7.任务和障碍物的碰撞 难点分析: 1.人物的多键控制 1)给人物设定方向boolean变量:向左、向右、向上、向下 2)通过键盘监听来修改方向的变量值 按下某个键的时候,我们把相应方向改为true,释放的时候改false 2.地图配置 自定义文件读取方式实现:文件流的使用和字符串String类的方法调用 3.碰撞检测 封装一个Rectangle类的对象 4.子弹添加 1)先定义一个容器,这个用于封装所有的子弹对象 2)按下某个键的时候,创建一个子弹对象(以角色的坐标为基准初始化) 3)把子弹对象添加到容器当中 4)在paint方法中,遍历容器,取出子弹对象并进行绘制 5)检测子弹如果超出了窗体边界,则需要把当前子弹从容器当中移除掉 四、程序源代码: 代码结构图:分了三个包、敌人类包、游戏界面类包、游戏地图配置包 com.huaxin.mario包: [java] view plain copy print?在CODE上查看代码片派生到我的代码片 package com.huaxin.mario; import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.ArrayList; import javax.swing.ImageIcon; import javax.swing.JFrame; import com.huaxin.enery.Enery; import com.huaxin.enery.Pipe; import Util.Map; public class GameFrame extends JFrame{ public Mario mario; public Enery pipe,cion,brick; //背景图片 public BackgroundImage bg ; //容器装敌人 public ArrayListEnery eneryList = new ArrayListEnery(); //子弹容器 public ArrayListBoom boomList = new ArrayListBoom(); //子弹的速度 public int bspeed=0; //画地图,制定规则,是1画砖头,是2画金币,是3画水管 public int [][] map =null; //构造函数里面初始化背景图片和马里奥对象 public GameFrame() throws Exception { mario = new Mario(this); mario.start(); Map mp= new Map(); bg = new BackgroundImage(); //窗体重绘线程 new Thread(){ public void run(){ while(true){ //重绘窗体 repaint(); //检查子弹是否出界 checkBoom(); try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace();

文档评论(0)

1亿VIP精品文档

相关文档