拳皇游戏第一次迭代

拳皇小组成员展示:
2017301750064 杨小康 组长
2017301040171 周炎 组员
2017301390035 桂义 组员
2017301040172 邵鹏飞 组员
2016301550188 沈真元 组员
2017301200260 杜树俊 组员

团队成员的分工:

在这里插入图片描述

第一次迭代所完成的工作:
在这里插入图片描述
拳皇游戏需求规格说明书
目录
一、引言

1、目的
2、参考资料
二、任务概述
1、目标
2、用户特点
3、功能实现
三、需求规定
1、对功能的规定
2、对性能的规定
3、软件配置需求

一、引言
1、目的
在本次的实验过程中,我们选择了拳皇的游戏选题。通过对拳皇游戏的分析、设计及编程,适应敏捷开发方法。

2、参考资料
[1]97拳皇视频教学
[2]面向对象程序设计 程磊 李爱华编著
[3]EasyX_Help

二、任务概述
1、目标
拳皇游戏是一款经典的格斗类游戏,本次的开发实验实现按键选取双人对战的人物。通过easyx图形库实现图形化界面,并采用组合键实现各种招式的发动。此款游戏的设计争取减少人物动作上的突兀,增加动作的连贯性,使玩家在游戏过程中有良好的游戏体验。

2、用户特点
拳皇游戏面向的玩家大多是青少年,大多喜爱对战竞争、有操作技巧的游戏,同时玩家不期望重复,即人物需要有各自的特点,不同的招式,所以在此次的实验设计中,将设计不同的人物进行选择,每个人物有不同的招式特点,且人物具有各种组合键发动各类招式,满足玩家对技巧操作方面的需求。

3、功能实现
创建一个父类Role,其中成员变量包括:
int type = 1;//角色归属P1/P2
int x, y;//位置;
int blood = 100;//血量
int direction;//站立方向
IMAGE stand[9];//站立图片
……其他人物移动图片
成员函数包括:
Void InitImage()//加载所有图片
Void Stand()//窗口绘制人物站立图片
Void LeftMove() //窗口绘制人物左移图片,其中判断移动过程是否收到其他键盘输入产生组合键
Void RightMove()//窗口绘制人物右移图片
Void Jump()//窗口绘制人物跳跃图片,其中判断上跳过程是否收到其他键盘输入,产生组合键
Void fistAttack()//窗口绘制人物出拳攻击图片
Void legAttack()//窗口绘制人物出腿攻击图片
Void skill_I()//窗口绘制人物一技能攻击图片
Void skill_II()//窗口绘制人物二技能攻击图片
Void skill_III()//窗口绘制人物三技能攻击图片
……其他动作绘制
Void command()//收到玩家按键实现相应操作

其中父类UML图如图1,其他角色继承父类Role,继承关系如图2。
1
三、需求规定
1、对功能界面的规定
游戏功能界面分为以下几个板块:
<1>初始界面
在初始界面中通过按键选择确定双方玩家的人物,待确认后进入游戏界面。
<2>游戏界面
在游戏界面中,双方玩家选择的人物各站一边,通过键盘输入的按键判断双方人物的移动及攻击,判断双方人物的承伤,若一方血量减少为0则判定另一方胜利,进入结束界面。
<3>结束界面
在结束界面选择重新选取人物或退出游戏。

对上述的补充详细说明:

<1 人物选择(类似于下图)

(1、在初始界面中通过按键选择确定双方玩家的人物,待确认后进入游戏界面。

(2、在每次转换选择一个人物后,会出现该人物的一个人物像的展示。

(3、要在键盘中实现两个用户的操作互不干扰,且便于两者操作。
在这里插入图片描述

<2 其余选择(类似于下图)

(1、在进行人物选择完成后,进入另一个选择界面。

(2、出现时间、血量、背景图选项的自由选择。
在这里插入图片描述

❤️ 对战(类似于下图)

(1、在游戏界面中,双方玩家选择的人物各站一边。

(2、通过键盘输入的按键判断双方人物的移动及攻击、防御,判断双方人物的承伤。

(3、若一方血量减少为0,则判定另一方胜利,进入结束界面。

(4、存在按钮可以直接退出或暂停本局游戏。

(5、存在时间流逝,若时间到0,则游戏结束,根据血量高低定胜负。

(6、出现攻击时,会出现连击数提示。

(7、想要释放人物独有的技能时,需要迅速(在一个很短的时间内)按一定顺序完成按多个键的任务
在这里插入图片描述

<4 结束(类似于下图)

(1、在一局游戏中若出现一方死亡另一方胜利,则出现K.O.画面,否则不出现,只是胜利者出现胜利动作。

(2、在结束界面选择重新选取人物或退出游戏。
在这里插入图片描述

<5 音效

(1、在各个不同的人物使用各种不同的技能或者挨揍时,都会发出不同的音效。

(2、开场时出现round12这类的音效。

(3、某一方死亡时出现K.O.音效。

这个比较困难的是素材的收集,但实际上只需将音效封装在对应的动作中即可。

2、对性能的规定
<1>人物移动过程确保动作流畅性,与按键对应操作相匹配。
<2>界面跳转时间短。
<3>没有严重系统故障。
<4>允许简单的操作被快速理解掌握。

3、软件配置需求
安装Visual Studio及EasyX。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的拳皇游戏的Java代码,你可以在Java IDE中运行它: ```java import java.util.*; import java.io.*; // 定义拳皇类 class Fighter { private String name; private int power; private int speed; private int health; // 构造函数 public Fighter(String name, int power, int speed, int health) { this.name = name; this.power = power; this.speed = speed; this.health = health; } // 获取名称 public String getName() { return this.name; } // 获取力量值 public int getPower() { return this.power; } // 获取速度值 public int getSpeed() { return this.speed; } // 获取生命值 public int getHealth() { return this.health; } // 攻击函数 public void attack(Fighter fighter) { int damage = this.power - fighter.getSpeed(); if (damage > 0) { fighter.health -= damage; System.out.println(this.name + "攻击了" + fighter.getName() + ",造成了" + damage + "点伤害!"); } else { System.out.println(this.name + "攻击了" + fighter.getName() + ",但是被躲开了!"); } } // 判断是否存活 public boolean isAlive() { return this.health > 0; } } // 定义拳皇游戏类 public class KingOfFighters { private Fighter player1; private Fighter player2; // 构造函数 public KingOfFighters(Fighter player1, Fighter player2) { this.player1 = player1; this.player2 = player2; } // 游戏开始 public void start() { System.out.println("游戏开始!"); while (player1.isAlive() && player2.isAlive()) { player1.attack(player2); player2.attack(player1); System.out.println(player1.getName() + "生命值:" + player1.getHealth()); System.out.println(player2.getName() + "生命值:" + player2.getHealth()); } if (player1.isAlive()) { System.out.println(player1.getName() + "获胜了!"); } else { System.out.println(player2.getName() + "获胜了!"); } } // 主函数 public static void main(String[] args) { Fighter player1 = new Fighter("李小龙", 100, 80, 500); Fighter player2 = new Fighter("布鲁斯李", 90, 90, 500); KingOfFighters game = new KingOfFighters(player1, player2); game.start(); } } ``` 这个代码会生成两个拳皇角色对象,然后让它们互相攻击,直到其中一个角色生命值为0,游戏结束并输出获胜者。你可以尝试修改代码中的参数,例如角色的名称、属性值等,来实现不同的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值