Java课设小游戏———团队博客
一、项目简介
Java编写的坦克大战

TankClient.java 游戏的主窗口

Tank.java   坦克的数据和方法

各种Wall  墙的数据和方法

Blood.java 血块的数据和方法

需要设计一个人机坦克与玩

四、概要设计
1.模块说明

主体模块,子弹模块

实现子弹的各个功能,实现打坦克,实现子弹是否活着的功能。

坦克模块

创建坦克,打子弹,打多发子弹。处理坦克和墙相撞的问题。坦克不能相互穿越。加入主战坦克的生命值。击毙敌人坦克。让坦克更加智能。

各种墙模块

比如,添加两堵墙,处理坦克和墙相撞的问题,普通墙与子弹的碰撞问题

,血包模块等模块

添加必要的方法,让血块按照一定轨迹运动,并在一定时间消失

2.项目采用技术
图形界面、面向对象等

3.功能需求分析
程序设计的任务是实现坦克大战小游戏,

3.项目亮点 编程思路
1.游戏窗口的创建

2.坦克的子弹运动

3.事件监听

4.己方坦克血量判定

5.敌方坦克的自主运动

6.不同坦克以及子弹对不同模型的碰撞

7.游戏关卡设计

8.坦克爆炸是个动图

9.血包的刷新

子弹射击到对方(用户方对敌方)时,当敌方射击到用户方,用户方要减少生命值,没接受一枪,就执行 t.setLife(t.getLife() - 50); // 受一粒子弹寿命减少50,接受4枪就死,总生命值200,当然方法里面还要做其他很多的判断,如生命值是否小于0,如果是的话就执行t.setLive(false);从而结束游戏。

普通墙有以下几个属性:墙的固定长度和宽度,墙的位置坐标,墙体是由图片加入到图形用户界面来表示的。程序中用CommonWall类来描述普通墙,此类里有一个构造方法,用于传递参数,还有一个draw()方法,来画指定位置的墙,另外还有个getRect()方法来构造长方形实例。

金属墙的参数和普通墙完全类似,只不过金属墙不能被子弹穿破,但这个属性在接下来讨论的子弹的属性里面,由于上面已经给出里普通墙的属性,所以这里将不再赘述金属墙的属性了。

子弹的属性:子弹前进的X轴和Y轴的速度——初始速度都为10,子弹的长度和宽度——初始的长宽都为10,子弹的位置,子弹的方向,子弹是否live等。由于不同方向的子弹其实是图片,所以这里要考虑不同图片的选择用对应的方向来指定,所以要建立Map键值对,用String属性的方向来指定不同的图片。

坦克的方向和子弹发射以及游戏的重新开始都是由键盘来控制的,所以在Tank类里面必须要实现这些功能。

玩家Tank还可以吃红心来增加自己的生命值,得到一个红心,增加100生命值。所以在程序中坦克必须要有一个方法来判断当坦克接触到红心时,生命值增加的方法。程序中用eat()方法来实现“吃”红心并且增加生命值,当然,这其中要使得坦克的生命值不会超过自己生命的极限值200,所以判断的时候,当生命小于等于100时,直接加100生命值,但是当生命值大于100时,就只能使生命值加满到极限值200.

5.运行结果

6.展望

现在随机性游戏越来越多,希望未来可以实现血包以外的加强道具,实现随机刷新的地图

6.团队成员负责模块
团队成员    负责模块    具体内容
安玉坤      游戏中的碰撞,血条等动态信息
程浚哲           游戏框架,输赢判定,产品刷新等静态信息

小游戏————坦克大战相关推荐

  1. HTML源码小游戏——坦克大战、飞机大战、捕鱼达人

    捕鱼达人小游戏 飞机大战小游戏 坦克大战小游戏        关注公众号"程序员秋田君",回复 坦克大战.飞机大战.捕鱼达人等信息即可获取源码文件.                 ...

  2. Python小游戏-坦克大战(tank war)

    Python小游戏-坦克大战(tank war) 前言 这款游戏一直都是我很喜欢的游戏,很童年,太经典啦!也很好玩,所以我来做一做这款游戏. 开发工具 python版本:3.7.3 相关模块:pyga ...

  3. c语言编程简单小游戏坦克大战,坦克大战1990(c语言文件版)游戏

    坦克大战1990(c语言文件版)是一款很炫的坦克战争类游戏.游戏设计感很强.敌人千变万化,但是你可别被迷惑哦,将他们通通歼灭吧! 作者的话 经过四五天的奋斗,第一次编的游戏终于完成了,好激动. 首先得 ...

  4. C++小游戏---坦克大战(一)

    刚开始写的时候想想这个应该是非常好写的,但是写到后面,尤其是遇到很多莫名其妙的bug之后,发现似乎没那么简单.以下是开发过程中的一些想法,在这里做个笔记. 目录 游戏介绍 素材引入 初始化 全局初始化 ...

  5. 火箭工作室c++小游戏——坦克大战(初始版)

    今天第四次写博客,给大家发一个坦克大战的初始版,可以开外挂,要自己去探索 #include<windows.h> #include<conio.h> #include<i ...

  6. 射击类小游戏——坦克大战(java实现)

    项目名称:坦克大战 项目背景:坦克大战是一款非常经典的游戏,也是学习面向对象编程的理想实例.现在面向对象的计算机编程语言很多,很多想法都可以通过编程来实现.本文的坦克大战有完整的界面,能够实现人机大战 ...

  7. 【flash】 小游戏 坦克大战下载 多个敌人

    下载地址: 链接:https://pan.baidu.com/s/120Zu9F2qTnFlScE6YAXllg 提取码:0hrv 3种敌人 一种向前攻击 一种 向前 攻击3个子弹 红色坦克会 向你的 ...

  8. 用JAVA制作小游戏——飞机大战(三)

    本篇博客是对飞机大战游戏项目完整代码的展示 详细代码讲解: 用JAVA制作小游戏--飞机大战(一) 用JAVA制作小游戏--飞机大战(二) 最下方附整个程序的文件下载链接 代码展示 主界面 impor ...

  9. 用JAVA制作小游戏——飞机大战(二)

    本篇博客是对飞机大战游戏使用代码的展示 重难点: 首先需要鼠标能够控制战机,使鼠标在窗口内时始终能够使战机的位置与鼠标相同,实现鼠标控制战斗机移动. 其次需要能够以一定的速度产生子弹和敌机,并且以一定 ...

  10. java小游戏-java小游戏-飞机大战

    java小游戏-java小游戏-飞机大战 1 窗口创建 2 背景图片添加 3 启动页面制作 4 启动页面点击事件 5 游戏物体父类的编写 6 背景的移动 7 双缓存的添加 8 背景图片的循环出现 9 ...

最新文章

  1. .net core 17
  2. NCEPU:线下组队学习周报(009)
  3. WSGI 是什么?和nginx有什么关系?
  4. ES JVM使用如果超过75%就会GC较多,导致ES索引性能下降
  5. python使用教程cmd啥意思-Python 中的cmd模块学习
  6. linux下的nginx+php+mysql
  7. 是单片机高手还是菜鸟?看看你的程序框架就知道了
  8. mysql查询表字段是否存在_Mysql判断表字段或索引是否存在
  9. redis 学习笔记(1)-编译、启动、停止
  10. 信息学奥赛一本通(1194:移动路线)
  11. 05 | 前馈网络与反向传播:模型的自我学习(下)
  12. ffmpeg下载rtmp flv
  13. mac/linux下java项目使用本机自带ssh和scp命令,自动复制上传并部署的脚本
  14. ssh连接本地虚拟机
  15. 基于PostgreSQL进行Java应用开发
  16. 图解机器学习算法(14) | PCA降维算法详解(机器学习通关指南·完结)
  17. 163个人域名邮箱申请,163个人邮箱怎么注册创建
  18. 双11购书大优惠!独家优惠券,折后再减,赶紧来抢啊!
  19. p2p网贷系统的架构设计
  20. Python 3 print() 输出自动换行

热门文章

  1. Kiwi for Gmail Mac(mac gmail邮箱客户端)
  2. 事后诸葛亮项目总结会议
  3. Servlert项目部署到服务器,web初学之serverlet开发综述(一)
  4. 前沿科技分论坛精彩回顾 | 第二届始祖数字化可持续发展峰会
  5. 系统封装到底有个什么用
  6. 【英语学习工具】程序员学习英语硬背硬记太难了, 在这里推荐 LeHoCat 提供免费的,看视频学英语的工具,制作英语教学课件的工具,帮助自学英语
  7. pth(pass the hash)哈希传递攻击
  8. 理科女生计算机与会计学选择,我是一理科女生、在报考学校时候、选择会计还是会计电算化比较好呢?还有会计与审计、会计于统计核算....
  9. 服务器怎么用ftp传文件夹吗,ftp服务器怎么传文件夹吗
  10. js仿百度文库文档上传页面的分类选择器_第二版