JAVA小游戏——阴阳师版三国战纪

  • 阴阳战纪
    • 具体的实现方法
    • 程序
    • 效果

阴阳战纪

由于疫情原因,我们班的生产实习被告知要在线上举行,然后老师给我们上了三天的网课,教我们用JAVA来制作一个小游戏,因为只有三天,然后第四天一早就要答辩,所以当时时间来不及编写太多的功能,不过有一些基础的游戏功能,比如说主角的血条蓝条,杀敌加蓝条,怒气值满了之后就可以放技能,敌人血条的实际显示,切换地图,播放背景音乐,攻击音效,天上掉道具等等

具体的实现方法

文件链接: 点击此处下载文件:Onmyoji.

一共创建了11个JavaClass:

程序

先列举几个短一点的JavaClass
主程序 Main.


package com.softeem.sanguo;
/*** 游戏主入口*/
public class Main {public static void main(String[] args) {//创建对象GameFrame gf = new GameFrame();//显示窗口gf.setVisible(true);}
}

窗口程序 设置窗口的参数GameFrame


package com.softeem.sanguo;
import javax.swing.*;
public class GameFrame extends JFrame {/*** 构造器,构造方法,构造函数*/public GameFrame(){//1.设置游戏标题setTitle(Config.TITLE);//2.设置窗口大小1366*768   1920*1080setSize(Config.SCREEN_WIDTH,Config.SCREEN_HEIGHT);//3.关闭窗口时退出JVM(java虚拟机)setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//4.将游戏的主面板加入窗体中(多态)add(new GamePanel());}
}

配置程序 设置一些常用(用的频率高)的变量Config


package com.softeem.sanguo;
import java.awt.*;
import java.util.Random;
/*** 游戏的配置类*/
public class Config {/*** 常量*/public static final String TITLE = "阴阳战纪";/** 屏幕宽度 */public static final int SCREEN_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;/** 屏幕高度 */public static final int SCREEN_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;/*** 敌人的最大血量*/public static final double ENEMY_MAX_HP = 100;/*** 玩家的最大血量*/public static final double HERO_MAX_HP = 1000;/*** 玩家最大的怒气值*/public static final double HERO_MAX_POWER = 100;/*** 随机一个数值范围的方法*/public static int randomNum(int min,int max){Random r = new Random();return r.nextInt(max - min + 1) + min;}public static boolean isHit(int x1,int y1,int w1,int h1,int x2,int y2,int w2,int h2){Rectangle r1 = new Rectangle(x1,y1,w1,h1);Rectangle r2 = new Rectangle(x2,y2,w2,h2);return r1.intersects(r2);}}

图片处理程序 ImgUtils

package com.softeem.sanguo;
//导包
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
/*** 图片加载工具,用于读取资源目录中的指定图片文件*/
public class ImgUtils {/*** 读取指定名称的图片并加载为一个BufferedImage对象*/public static BufferedImage load(String imgName){try {//读取资源文件为一个URL对象URL url = ImgUtils.class.getResource("/img/"+imgName);//读取URL对象所表示的资源为为一个Image对象return ImageIO.read(url);} catch (IOException e) {//            e.printStackTrace();}return null;}
}

剩下的JavaClass的代码实在是太多了,都是两三百行,就不一个一个的列举了,我都放到链接里了。

效果

这是游戏界面

这是答辩时用的PPT

剩下的代码,素材,音频,图片等均放到了链接中,有需要的话,自行下载
文件链接: 点击此处下载文件:Onmyoji.

JAVA小游戏有源代码,非常详细的注释,以及自己做的答辩PPT相关推荐

  1. 【Java】Java基础飞机大战小游戏完整代码

    Java基础飞机大战小游戏完整代码 先来展示一下代码实现结果图 主函数ShootGame 初始化游戏原始背景图片,游戏人物图片,游戏开始结束图片:构建产生敌人算法:产生英雄机算法:发射子弹算法:判断是 ...

  2. java代码实现打气球游戏_javascript+css3开发打气球小游戏完整代码

    效果知识点: css3画气球, 自定义属性运用,随机阵列, DOM元素操作,高级回调函数与参数复传,动态布局,鼠标事件,定时器运用,CSS3新增样式等. css代码如下: {margin:0;padd ...

  3. java小游戏——飞翔的小鸟(java初学作品)

    注:学习了java基础后,做出来的一个小作品,可以用来巩固学习 概述: 飞翔的小鸟能够作为Java基础的收官之作,包涵了Java很多的基础知识,在学习完Java基础后,尝试编写一些东西,能够起到很好的 ...

  4. python 贴吧盖楼_ es6 + canvas 开源 盖楼小游戏 完整代码注释 从零教你做游戏(一)...

    盖楼游戏 一个基于 Canvas 的盖楼游戏 Demo 预览 手机设备可以扫描下方二维码 github Game Rule 游戏规则 以下为默认游戏规则,也可参照下节自定义游戏参数 每局游戏生命值为3 ...

  5. [新手必备]Unity推箱子小游戏C#代码详解(第一篇-代码部分)

    完整项目请参考博客:https://blog.csdn.net/qq_41676090/article/details/96300302 本文为推箱子小游戏C#代码详解第一篇的代码部分,主要讲解 Sy ...

  6. 各种经典java小游戏_Java是这个世界上最好的语言!

    为什么? 请看TIOBE最新发布的编程语言排行榜: TIOBE开发语言排行榜每月更新一次,其结果可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的. ...

  7. 《Java小游戏实现》:坦克大战

    <Java小游戏实现>:坦克大战 前面写了一个简单的聊天小程序,今天开始就写一个坦克大战的游戏,算是对Java相关小知识点的一个应用. 这个游戏的完成,我们也是分步完成,逐步累加,一个一个 ...

  8. java小游戏之捕鱼达人,学了java,妈妈不再担心我去网吧游戏厅了!

    Java小项目捕鱼达人 跪求关注,祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早上贵子,从不掉发! 捕鱼达人这款游戏,相信和我年纪相仿的朋友,肯定很熟悉.在当时半智能手机和智能手机刚刚出现 ...

  9. java小游戏------Flappy Bird(飞翔的小鸟含源码)

    前言:本小游戏可作为java入门阶段收尾创作. 需:掌握面向对象的使用,了解多线程和异常处理等知识. 如上图所示:我们需要绘制背景,小鸟,障碍物,当然也包括游戏开始界面以及死亡界面. 一:思路解析: ...

最新文章

  1. 数据库设计中的9大常见错误
  2. 2020 我的C++学习之路 C++PrimerPlus第四章课后习题
  3. Mac 使用 docker 搭建 kafka 集群 + Zookeeper + kafka-manager
  4. 花信年华--You're gonna love who you turn out to be
  5. sqlite中常见的问题总结
  6. 融合、协同系统的边缘云原生架构演进和实践
  7. python selenium 处理弹窗_python+selenium 抓取弹出对话框信息
  8. ABAP--使用SLIN事务码进行ABAP程序扩展语法检查,提高程序开发的质量
  9. maven 公共模块依赖_idea 创建多模块依赖Maven项目
  10. 数据结构实验之查找二:平衡二叉树
  11. 人工智能让边缘计算更有价值!
  12. 13. OD-内嵌补丁,过期的软件DVD Menu Studio破解,switch函数,break等于KillTimer
  13. ReentrantLock类源码解析
  14. oracle 使用imp,Oracle中的Imp和Expt用法
  15. 序列(【CCF】NOI Online能力测试 提高组第一题)
  16. 当前串口号不可以或被占用_原来团建是可以不占用私人时间当然,还可以拿加班费|不一样的团建...
  17. 水经注地图发布服务中间件下载安装图文教程
  18. KNN算法实现knn完成iris数据集分类
  19. 【Linux】Cachecloud安装部署图文并茂
  20. MATLAB强化学习实战(一) 强化学习智能体训练总览

热门文章

  1. 9.3.2 自然连接(NATURAL JOIN)
  2. Linux基础命令之tar解压缩详解
  3. 微软TTS服务器,微软TTS,Neospeech TTS 简单使用
  4. 推薦 CSDN 最讓人佩服的專家,袁萌。
  5. Java_登录界面设计
  6. 中医针灸学综合练习题库【5】
  7. js接收java数组对象_js接收并转化Java中的数组对象的方法
  8. 判断Stack为空的方法之empty()与isEmpty()
  9. 禅道怎么启动mysql_禅道启动mysql报错connectByPDO
  10. 谈谈HashMap为什么是线程不安全的?