关于击杀与辅助奖励的方案

多人游戏中,奖励的分配也是很重要的设计。

例如多个人对一个NPC进行攻击,NPC被干死的时候,会给每个参与攻击的玩家一些奖励。会显示击杀,助攻等等。

好了,问题来了,怎么计算功劳呢?

一般的设计是,最后一刀为胜利者,奖励最大。参与攻击的,都是助攻。

然而这个设计并不公平,例如“抢人头”,就是一个玩家使出吃奶的劲打了半天,眼看就要手到擒来,突然杀出来个咬金,一刀结束了最后的战斗。

辛辛苦苦却得了个助攻的名头。

而且多人助攻的情况下,一律给予相同的奖励,有失公平。

公平的做法是,通过计算玩家对NPC攻击的总次数和总伤害来给予奖励。

因为不同玩家的属性攻击力等不同,攻击次数并不等于攻击的伤害。设计攻击次数,是为了“有苦劳”的玩家给予相应的奖励。

这是设计上的思路,接下来是实现方案。这个很简单了,我称之为,冤有头,债有主。

以被攻击的NPC为单位,每受一次伤害,记录攻击者,次数,以及伤害值,使用队列保存数据。当此NPC死亡时,开始统计参与击杀此NPC的人员。

如果计算头功?头功,即最后一刀,通过队列排序,方式很简单,只需要把最后的攻击者放在队列末尾即可。最后的攻击者即为头功。

如何统计辅助者?遍历队列。

如何论功行赏?通过计算伤害值排序,伤害值相同的,按攻击次数排序。

伪代码如下:

结构体:

Person{ count , damage,att}

NPC{List< Person >}

Void Attack(){

Person.count++;

Person.damage+=att;

If(!List.cons(person)){

List.add(person);

}

Sort(List);

}

Void getBigRew(){

Return List.GetLast();

}

Void CountReward(){

//按攻击次数和伤害值排序

List.SortIf(person.cout);

List.SortIf(person.damage);

}

Void  GetPersons(){

Return List;

}

OK,这样,通过简单的代码就够就能论功行赏了。虽然抢人头貌似好玩刺激一些,但是公平的战斗奖励也不失为激励玩家进行游戏的方案。而且在代码实现上也并不是多么困难的事情。

时间: 2024-11-07 19:59:42

关于击杀与辅助奖励的方案的相关文章

PowerTool(杀毒辅助工具) V4.6 中文免费绿色版

软件名称: PowerTool(杀毒辅助工具)软件语言: 简体中文授权方式: 免费软件运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 968KB图片预览: 软件简介:目前版本主要功能:1. 所有进程的枚举(包括内核中隐藏的进程)2. 所有文件的枚举(包括内核中隐藏的文件)3. 进程中所有模块的枚举(包括内核中隐藏的模块)4. 进程的强制结束5. 进程中模块的强制卸载6. 模块被哪些进程加载的检索7. 查看文件/文件夹被占用的情况8. 可以Unlock占用文件

Cocos2d-x CCBone添加点击事件以及换肤的方案。反正怎么用就看你自己了

前几天妹子切图的时候把UI做成了Animture,首先声明我不是学C++的我用cocos2dx也才一两个月.对于一些原理的上的东西我也没时间去深究.我需要的是解决方案.所以第一的反应是百度有没有相似的方案,而不是去看源码. 加Animate(动画)的方式很简单. 1 CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Example.png","Example.plist&qu

“逆鬼”muma企图隐蔽发展 被360独家击杀

近日,360安全大脑拦截到到一类VBR***,主要通过各类下载器传播,大规模感染用户电脑.由于其具备超强隐蔽性和潜伏性,同时又非常善于传播自身,拥有较强的灵活性,因此360安全专家将其命名为"逆鬼". "VBR"全称Volume Boot Record(卷引导记录),负责操作系统引导程序的加载,它比Windows更早启动.所以,一旦VBR被***感染,恶意代码便会获得隐蔽的生存空间,难以被传统杀毒软件检测到,而此次360独家发现了"逆鬼"行踪.

T端带配置文件的魔兽世界BOSS被杀世界公告

这个代码是Trinity的内核代码. 主要功能,.就是BOSS被杀死后,世界BOSS向所有的私服玩家都公告一次.公告的内容在SQL里面配置 适合使用在变态魔兽世界私服中.可以实现BOSS击杀公告.你也可以根据此代码扩展更改,实现击杀boss获得奖励什么的 # HG changeset patch # User [email protected]-HP # Date 1367859811 -10800 # Node ID cfa885e9e6e4c4e37f6799a45918b946546830

CodeForces230A

题目大意: 一个打恐龙的游戏,有初始体力s,和恐龙n只,然后输入n只恐龙的体力xi,和击杀它得到的奖励体力yi,只有自身体力大于恐龙体力时才能进行击杀,击杀恐龙的顺序可以不定 这题运用到了贪心的思想,因为击杀恐龙的顺序不定,击杀后通过奖励体力可以增加自身的体力以便来自己能够击杀更强大的恐龙.所以先对恐龙的顺序进行体力上从小到大排序. 代码如下: 1 #include <stdio.h> 2 #include<algorithm> 3 #include<stdlib.h>

死忠粉分享的捕鱼寻宝攻略,亲测有效!

说起海洋,各位先想到的是什么?反正我第一感觉就是宝藏!宝箱!金子!(感觉这是看多了电影的后遗症),现在很多游戏里,都会设置一些寻宝任务,而这些任务的完成地点不是在山里的山洞就是在海里的深处.作为一个<满贯捕鱼>的死忠粉来说,很乐意把自己的一些攻略和心得体会分享给大家,前几天看到有小伙伴对深海寻宝任务的玩法有疑惑,接下来我就来说说自己的一些玩法. 首先玩家需要在登录界面选择"经典模式",进入该模式之后,玩家可以在三个渔场的任意房间开始游戏,然后点击右上角的"寻宝&q

Multiple analytic account plans多辅助核算方案

定义核算方案 ? ? 菜单 会计/设置/辅助核算会计/多个方案 ? ? ? ? 点击"创建"按钮 ? ? ? ? 说明 辅助核算方案,输入方案名称 ? ? 点击"添加一个项目"增加一个方案明细 ? ? ? ? 说明 方案名,方案规则的名称 序列,在辅助核算方案里面的顺序 根项,登记的辅助核算项目 最小允许,最小百分比 最大允许,最大百分比 ? ? ? ? 完成后的,效果如下 如果需要增加更多的方案,点击链接"添加一个项目" ? ? 可以在方案明细

SCCM 2012 R2实战系列之十三:辅助站点部署

由于最近几个月一直处于AD升级项目中,很久没有更新SCCM的技术文档了.SCCM 2012中的辅助站点部署方法还是比较特别的,需要注意的地方也非常多,今天跟大家分享辅助站点的具体部署和配置方法. 1. 前提条件 加入域环境 安装IIS组件 安装BITS和远程差分压缩功能 安装SQL Server (若使用Express版本无需手动安装,在辅助站点安装过程中会自动安 Secondary Site 计算机账户对System Management有Full权限 准备辅助站点离线安装包 将Primary

300 毫秒点击延迟的来龙去脉 以及临时的解决方案

300 毫秒点击延迟的来龙去脉 凌征 原文地址:What Exactly Is..... The 300ms Click Delay 快速响应是所有 UI 实现的重中之重.研究表明,当延迟超过 100 毫秒,用户就能感受到界面的卡顿. 然而,出于对手指触摸滑动的区分,移动端页面对于触摸事件会有 300 毫秒的延迟,导致多数用户感觉移动设备上基于 HTML 的 web 应用界面响应速度慢. 本文主要讨论上述延时的来历,浏览器生产商的考虑,以及我们作为开发者,当前应该如何处理这个问题. 300 毫秒