一、工作积累总结

1.1 简介

该项目是一个回合制RPG游戏,讲述了动物主角对抗人类,自逃出动物园开始,一路与人类对抗,提升能力,并寻找新队友组成团体,逼得人类不得不与之谈判,最终与人类达成了和平协议的故事。玩家可以通过全鼠标点击操控来体验游戏。

1.2 项目特色该项目使用Java语言编写,可以在多个不同平台上运行。

界面设计简洁明了,操作简单易懂。

拥有丰富的关卡,并且可反复挑战,提升能力,使后续关卡变得容易。

拥有丰富的随机装备系统,装备种类多,且拥有自“破烂的”到“传说的”等共七种属性前缀,出现的几率逐级降低。装备可以在商店购买,可刷新当前商店货物,或者在挑战地图时随机掉落。

拥有丰富的队伍系统,在挑战地图Area 2每个地区的第一关会固定有一个新成员请求加入,之后的关卡此事件随机出现,可以在基地界面通过上阵及休息指令来安排队伍组成。

拥有等级系统,通过反复挑战地图来提升等级,提升能力。

拥有完整的剧情,故事情节通过地图上每一个关卡名来揭示,按照Area的顺序进行游戏,即可获得全部故事体验。

支持存读档功能,可以分多次完成游戏。

1.3 项目创新

全新的RPG回合制游戏,吸取了经典RPG游戏的基本元素:升级打怪打装备,同时配以 角色养成、队伍搭配等玩法,还有丰富完整的剧情体验,非常新颖。

二、总体需求分析

2.1 角色

作为一个RPG游戏,首先的需求便是玩家操控的角色,在此游戏中为各种动物,可随着地图探索的推进而逐渐加入。应该使玩家可以选择上阵队形。

2.2 敌人

其次需要与主角作战的敌人,在此游戏中为世界各地的人类,多为伤害动物者。

2.3 装备

为了增加游戏性,还需要装备系统,应分为不同品质,使玩家乐意花时间去刷装备,增加他们的游戏时间。

2.4 商店

对于不愿意靠运气的玩家,准备商店系统,可直接刷新、购买高品质装备。

2.5 存读档

游戏不可能一口气通关,应提供存读档功能。

三、系统设计

3.1 开始界面开始:创建新游戏

载入:读取先前的存档进度

帮助:各种按钮操作说明

退出:离开游戏

3.2 战斗地图界面Area 1 三关新手 难度横向增加

Area 2 分三个地区每个地区五关 横向难度相同竖向逐渐增加 在每个地区的第一关会固定有一个新成员请求加入,之后的关卡此事件随机出现

Area 3 终章难度横向增加

已被征服的关卡名字变为蓝色,可反复挑战

3.3 战斗界面左上为敌人血量左中为敌人图像 左下为战斗进程描述

右上为玩家角色血量右中为当前等待进行操作的角色图像 右下为可执行操作

攻击:当前显示图像角色进行攻击,对象为与其顺序相应的敌人,此人倒下后,选择敌人组中第一个不为空血的进行攻击

治疗:如果在基地购买了急救包,此时可以使用,为当前角色回复部分生命值,但同时敌人会继续攻击使之掉血

逃跑:迅速离开战斗,回到地图界面,但会被敌人攻击一次

3.4 当前出战界面

显示当前上阵的角色数据最多三个

3.5 背包界面左侧为背包内存放的装备等物品,点击右键可以进行装备、出售、丢弃等操作

左下为背包现存物品数及最大容量

右为队伍成员数据信息

3.6 商店界面左侧每次新游戏随机显示不同品质装备

购买:花费金钱将当前选中物品添加至背包

刷新当前商品:随机刷新商店物品。

右侧为队伍成员数据信息

为它购买:直接为购买选中物品并给当前角色装备

修理装备:统一增加当前角色所有装备耐久度

全部卸下:将当前角色所有装备放入背包

3.7 基地界面左侧为成员信息

上阵:若当前战斗队伍有空位,则该成员加入队伍,出现在战斗中最多三个

休息:该成员离开战斗队伍,留在基地

右侧为医疗室

治疗:全体成员生命值回复满,消耗金钱

购买急救包:急救包数量加一,可在战斗中使用

3.8 选项界面继续游戏:关闭选项卡,回到游戏

保存游戏:将当前游戏数据保存至Save文件夹

读取存档:读取上一次游戏保存的数据

四、系统实现

4.1 程序系统的结构

4.2 run类创建begin,map,data,bag,shop,base 等静态类对象作为各界面容器,便于跳转

Screen centre方法:使游戏界面位于正中央

Main方法:完善各框架设置,启动游戏进程

4.3 Beginning 类开始界面的各种按钮:开始、载入、帮助、退出

BeginLis监听器类:触发以上按钮点击事件,进行界面跳转

4.4 Map 类各种地图按钮:跳转至相应战斗

CreArray方法:根据输入参数创建相应战斗力的敌人组

MapLis 监听器类:触发以上按钮点击事件,进行界面跳转

4.5 Fighting 类PrintHP方法:在界面上显示敌我双方的血量、等级等信息

CheckAlive 方法:开始战斗时计算我方血量不为零的角色数量

MyAttack 方法:我方攻击

EnAttack 方法:敌方攻击

Drop 方法:通过随机数决定本关是否掉落装备及装备品质

oPanel 方法:返回一个含战斗操作按钮的JPanel

attackLis 监听器:监听战斗操作,攻击、治疗、逃跑等

4.6 Data 类Wargroup 数组:含当前上阵的角色

Money 静态变量:当前持有的金钱

线程Description:随时刷新当前角色等级属性、装备数据等

CreateDes类:创建一个JPanel 能显示角色各种数据

4.7 Bag 类dataBag类:创建背包界面

equipAdd方法:向背包中添加装备

Popup方法:返回一个PopupMenu,支持右键装备、出售、丢弃功能

dataDes 类:创建角色数据界面

CreateTab方法:以JTabbedPane的标签方式创建角色数据界面

线程Description:随时刷新当前角色等级属性、装备数据等

4.8 Shop类Store类:创建商店界面

buy方法:购买、刷新 使用按钮监听器

rollE方法:随机刷新装备品质

getEquip:得到按钮复选框中选中的装

Character类:创建角色面板

createTab方法:创建角色标签

线程Description:随时刷新当前角色等级属性、装备数据等

BuyLis、FixLis监听器:进行购买及修理装备

4.9 Base类createCharacter方法:创建角色面板

Go监听器:控制上下阵

AddMember方法:向队伍中加入新成员

线程Description:随时刷新当前角色等级属性、装备数据等

cureKit类:急救包

isFullHealth方法:治疗前检测是否为满血

cure、buyKit监听器:治疗及购买急救包

4.10 属性设定类

4.10.1 Animals类changeEquip方法:改变对象装备,将换下的放入背包

enduranceDown方法:根据攻击次数降低装备耐久

attack方法:攻击当前敌人对象

print方法:输出属性等数据

levelUp方法:以获得的经验来判断是否应该升级

子类:Land(Tiger、Lion、Bear、Elephant) Sea(Whale) Sky(Eagle)

4.10.2 Equipment类print方法:输出装备数据

changeQuality方法:根据随机数决定生成的装备品质

子类:Blank AddATK(Teeth、Claws) AddDEF(Helmet、Breastplate、Kneecap)

4.10.3 Humen类attack方法:攻击当前我方对象

setName方法:根据地图上不同地区的参数来修改名字,以产生新种类的敌人

子类:HumenZoo HumenLand HumenSea HumenSky HumenEnd

4.11 ActMenu类shutdown方法:隐藏当前所有界面,便于根据需要显示

ActLis监听器:根据按钮跳转界面

opLis监听器:进行存档、读档、继续游戏的操作

4.12 S_L类Save方法:将队伍成员数据、金钱数、商店货物状态、背包物品、地图进度写入文件

Load 方法:读取存档

java机甲类回合制游戏,课内资源 - 基于java的RPG回合制游戏相关推荐

  1. c语言文字冒险类游戏,课内资源 - 基于C语言和easyx实现的巧虎划船大冒险游戏...

    1 需求分析 1.1 功能需求 游戏性:通过键盘方向键的←.→.↑.↓来控制巧虎(船)的移动,躲避暗礁,碰撞宝物(特殊宝物),来增加积分,在倒计时结束前(到达终点前)争取得到更多分数.为提高可玩性,宝 ...

  2. java洗衣店管理课程设计报告_课内资源 - 基于Java的洗衣店管理系统

    摘 要 随着科技的快速发展,人们的需求也是越来越多,为了方便对信息的管理我们小组就设计了一个洗衣店订单的管理系统. 洗衣店管理系统是典型的的信息管理系统,创建了六个类,分别是:Test类:Person ...

  3. 用c语言写扫雷游戏倒计时代码,课内资源 - 基于VS2013实现的扫雷小游戏

    1.任务概述 1.1 系统总体目标 本项目的目的在于开发一个扫雷软件,该软件面向游戏玩家用户,具有进行扫雷游戏的功能.游戏玩家将使用系统中的如下功能: 进行游戏 使用自定义游戏规格功能 使用计时器功能 ...

  4. 基于linux下QT象棋,课内资源 - 基于QT实现的网络象棋游戏

    1.功能说明 1.1 初始界面 初始界面中包含一个菜单栏,菜单栏中有一个建立连接选项,可以用来与其他程序建立连接. 1.2 建立连接 单击建立连接后,会弹出一个对话框以配置连接的相关信息,包括创建服务 ...

  5. java基本语法借阅_课内资源 - 基于Java和MySql实现的光盘借阅管理系统

    一.需求设计以下几个类:光盘类:用户类:借阅记录类,包括下列模块: 新建.修改.删除光盘信息 新建.修改.删除用户信息 光盘借阅/归还信息记录 查询光盘名称,用户的借阅历史 要求:基于JFrame窗体 ...

  6. java 图形处理_课内资源 - 基于Java实现的几何图形处理系统

    1 综述 针对<计算机图形学>课程开发的几何图形处理系统实现的功能包括:在UI界面中通过鼠标点击拖拽等方式可视化地输入二维图形的功能:编辑最近输入的二维图形的功能:裁剪直线的功能,支持的图 ...

  7. 局域网聊天程序 java MySQL_课内资源 - 基于JAVA的局域网聊天软件的设计与实现(仿制QQ)...

    一.系统分析 1.1 问题描述客户端 实现简易版的局域网聊天器 实现富文本内容聊天 智能聊天机器人 群发消息 传送文件等功能 服务器端 实现群发通知 管理聊天线程 1.2 系统功能分析客户端功能 登陆 ...

  8. java swing 组织机构_课内资源 - 基于Java Swing的小型社团成员管理系统

    一.需求分析 1.1 个人信息 学号.姓名.性别.年级.系别.专业.出生日期.联系方式.个性签名.地址.照片. 1.2 基本功能要求管理员信息管理 登录.注销功能 修改密码功能 部落成员信息管理 添加 ...

  9. 停车场管理系统 java_课内资源 - 基于JAVA的停车场管理系统

    第一章 概述 1.1 项目背景 车辆越来越多的今天,停车场只靠人工管理显然难度已经是提高很多,所以应该开发出便于管理记录的停车场管理系统来帮助对停车场进行管理. 1.2 软件定义 一款帮助停车场管理员 ...

  10. 基于java酒店管理系统_课内资源 - 基于JAVA实现的互联网酒店管理系统

    1 逻辑视角 互联网酒店管理系统中,选择了分层体系结构的风格,将系统分为3层(展示层.业务逻辑层.数据层)能够很好的示意整个高层抽象.展示层包括GUI页面的实现,业务逻辑层包含业务逻辑处理的实现,数据 ...

最新文章

  1. android小程序备忘录,撸一个会话备忘录的小程序
  2. ITK:从每个像素减去常数
  3. iOS经典面试题之深入分析“内存平移”的原理
  4. 拼多多市值创新高,成中国第四大互联网公司!
  5. elastic 索引库_使用Elastic Job Agents自动执行Azure SQL数据库索引维护
  6. c3p0三种配置方式(automaticTestTable)
  7. oracle怎么恢复删除数据库数据库文件,Oracle只有数据文件恢复数据库
  8. Security+ 学习笔记47 事件响应方案
  9. html网页中获取vf数据到mysql_vfp教程之用FoxWeb在网上快速发布你的FOXPRO数据库
  10. JCTF Writeup
  11. 【AI视野·今日CV 计算机视觉论文速览 第209期】Mon, 31 May 2021
  12. Three.js搭配OrbitControls.js实现flyTo()
  13. 计算机网络连接黄感叹号,电脑连接路由器网络连接显示黄色感叹号的解决办法...
  14. h5活动是什么意思_H5活动页能给你带来什么?
  15. 【Python】批量爬取OSM建筑瓦片数据并整合为shp格式数据
  16. 【观察】神州数码:向云转型再提速,技术创新再发力
  17. 前端打包工具webpack和Vite
  18. Java岗大厂面试百日冲刺【Day44】— Redis3 (日积月累,每日三题)
  19. Mysql命令大全宁静致远
  20. Java定时任务Quartz之触发器Trigger(二)

热门文章

  1. Meshlab快捷键与菜单功能翻译
  2. 最新免费纯净版PE制作工具V2.1【更新说明】
  3. php个人微信聊天机器人,wxpy将个人微信号变成微信聊天机器人
  4. Ubuntu20.04安装网易云音乐播放器
  5. 输入姓名自动生成拼音
  6. [C]我使用蜂鸣器敲了一首《极乐净土》
  7. 新手学python看什么书-书单狗 篇一:小白学Python,到底要看多少书?
  8. java 信鸽demo_腾讯信鸽推送Java服务端
  9. layui 勾选不联动父项 树形控件,treetable-lay
  10. 零基础学习SQL Server(一)——启动服务,注册SQL Server服务器