Unity开发——好用的数值概率公式
1、血量、伤害两个因素作用,击杀目标
正常状态下:hp -= attackValue;
特殊状态下:attackValue *=2; //伤害翻倍
如飞机/坦克大战中,击杀对方;受到伤害时,装备道具磨损失效;
public int hp=10;
private bool isDebuff;public void AttackEnemy(int attackValue)
{if (isDebuff) attackValue *= 2;hp -= attackValue;if (hp <= 0) isDead = true;
}
--*************************************************************************************************--
2、血量(不可变)、伤害、以及随机成功概率三个因素作用,概率性击杀目标
伤害数值设计思路:
targetRate是随机出来的此次目标概率;hp越大越难,attackValue越大越容易;
若各因素叠加后的概率大于目标概率,则能击杀成功。
随机数:targetRate = Mathf.Floor(Random.Range(0,100));
公式1:if (targetRate <=( 50-(hp-attackValue) )/2 ){isOk = true;} 50表示基础概率;
公式2:if (targetRate <= attackValue*3 - hp/10){isOk = true;}
如捕鱼达人中每次成功攻击鱼时捕获成功的概率;
private bool isOk = false;
public int hp =10;public void CatchItem(int attackValue){int targetRate = Mathf.Floor(Random.Range(0,100));//随机出此次目标概率if (targetRate<=(50-(hp-attackValue))/2){isOK = true;}if (targetRate<= attackValue*3-hp/10){isOK = true;}
}
--**********************************************************************************************--
3、物体的位置,抖动系数确定震动随机范围,实现自然的随机震动
震动大小:andom.Range(0f, 振动系数) - 振动系数* 0.5f
震幅衰减:震动系数= 震动系数 / 1.05f;
停止震动:if ( 震动系数<0.05f ) { 震动系数=0; }
如:被攻击时,画面/玩家晃动。
using UnityEngine;/// <summary>
/// 被攻击时,玩家产生的震动方法
/// </summary>
public class Shake : MonoBehaviour
{public bool isShake= false; //是否允许震动private float shakeRate = 5; //震动系数void Update(){if (isShake){//x方向移动transform.position = new Vector3((Random.Range(0f, shakeRate)) - shakeRate * 0.5f, transform.position.y, transform.position.z);//z方向移动transform.position = new Vector3(transform.position.x, transform.position.y, (Random.Range(0f, shakeRate)) - shakeRate * 0.5f);shakeRate = shakeRate / 1.05f; //减小振幅if (shakeRate < 0.05f) //振幅过小时,停止被撞击效果{shakeRate = 0; //振幅系数置0isShake= false; //禁止震动}}else shakeRate= 5; //不需要震动时,把震动系数还原}
}
数值计算参考来源:siki学院课程
相关文章:
Unity开发——好用的数值概率公式
1、血量、伤害两个因素作用,击杀目标 正常状态下:hp - attackValue; 特殊状态下:attackValue *2; //伤害翻倍 如飞机/坦克大战中,击杀对方;受到伤害时,装备道具磨损失效; public int…...
微信小程序的自定义组件
一、创建自定义组件 (1)定义: 把页面重复的代码部分封装成为一个自定义组件,以便在不同的页面中重复使用,有助于代码的维护。 (2)组成: 自定义组件的组成:json文件&a…...
【算法刷题day57】Leetcode:739. 每日温度、496.下一个更大元素 I
文章目录 Leetcode 739. 每日温度解题思路代码总结 Leetcode 496.下一个更大元素 I解题思路代码总结 草稿图网站 java的Deque Leetcode 739. 每日温度 题目:739. 每日温度 解析:代码随想录解析 解题思路 维护一个单调栈,当新元素大于栈顶&a…...
【EXCEL_VBA_实战】两组数据比对是否一致(字符串数组)
工作背景:比对两组数据是否一致(位置非一一对应) 思路构建:两组数据转换为两组字符串数组,比对所包含元素是否相同 问题点:A数组的第一个元素不一定与B数组的第一个元素对应,此时无法通过公式…...
寻找峰值 ---- 二分查找
题目链接 题目: 分析: 因为题目中要找的是任意一个峰值即可, 所以和<山脉数组的峰值索引>这道题差不多因为峰值左右都小于峰值, 所以具有"二段性", 可以使用二分查找算法如果nums[mid] < nums[mid 1], mid一定不是峰值, 所以left mid 1如果nums[mid] &…...
C语言--输入一个整数代表秒数,将这个数转化为对应的小时数、分钟数、和秒数
#include <stdio.h>int main() {int h,m,s;scanf("%d",&s);ms/60;//计算分钟数ss%60;//剩余的秒数hm/60;//计算小时数mm%60;//剩余的分钟数printf("%d %d %d\n",h,m,s); } //先将分钟数求出,再将多出的秒求出作为最后的打印的s //再用…...
二分搜索技术
非递归算法; #include<iostream> using namespace std; int BinarySearch(int a[],int x,int n) {int right0,leftn-1;while(right<left){int mid(rightleft)/2;if(x<a[mid])leftmid-1;else if(x>a[mid])rightmid1;elsereturn mid;}return -1; } int main() {i…...
docker容器安装nexus3以及nexus3备份迁移仓库数据
一、安装步骤 1.搜索nexus3镜像 docker search nexus3 2.拉取镜像 docker pull sonatype/nexus3或者指定版本 docker pull sonatype/nexus3:3.68.0 3.查看拉取的镜像 docker images | grep "nexus3" 4.启动nexus服务 直接启动 docker run -d --name nexus3 -…...
无线领夹麦克风哪个品牌音质最好,揭秘无线领夹麦哪个牌子好用
随着社交媒体和内容创作的兴起,清晰可靠的音频捕捉已成为打造高品质作品的关键要素。无线领夹麦克风因其轻巧设计和用户友好的接口而受到青睐,它能够确保你的声音在任何环境下都能被完美捕捉。经过精心测试和对比,以下几款无线领夹麦克风是…...
pcd点云江湖之处处碰壁:点云文件pcd加载02
江湖好汉,休走,废了半天力气把threejs自带的代码搬迁到自己项目中了,高高兴兴给领导看。领导一句话,顿时无奈:领导曰:点云单色太丑,能不能按照分类展示? 一句话难道英雄好汉…...
【SQL国际标准】ISO/IEC 9075:2023 系列SQL的国际标准详情
目录 🌊1. 前言 🌊2. ISO/IEC 9075:2023 系列SQL的国际标准详情 🌊1. 前言 ISO(国际标准化组织,International Organization for Standardization)是一个独立的、非政府间的国际组织,其宗旨是…...
15.1数组练习题
(1)求出数组中的最大值 (2)j将数组中的值转为字符串,并用"|"分隔 (3)选出数组中大于10的数 (4)数组去重 (5)数组反转 (6&am…...
Flink 任务调度策略:Lazy from Sources 深入解析
Apache Flink 的任务调度策略对于优化流处理作业的性能和资源利用率至关重要。其中,“Lazy from Sources”(源自源头的惰性调度)是一种策略,它在数据实际到达并且准备执行时才启动下游任务。与Eager调度相比,Lazy策略更…...
【NumPy】关于numpy.reshape()函数,看这一篇文章就够了
🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…...
探寻最强性能云电脑:ToDesk云电脑、无影云、网易云游戏、易腾云横测大比拼
大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的…...
回溯法——(2)n皇后问题(C语言讲解)(LeetCode51 N皇后思想)(4皇后棋盘画图举例)(附代码)
目录 一、问题概括 二、算法分析 三、举例(4皇后棋盘) 四、算法实现 4.1运行结果: 51. N 皇后 - 力扣(LeetCode) 一、问题概括 n皇后问题是19世纪著名数学家高斯于1850年提出的。 问题是:在nn的棋盘上…...
数据库系统概论(第5版)复习笔记
笔记的Github仓库地址 👆这是笔记的gihub仓库,内容是PDF格式。 因为图片和代码块太多,放到CSDN太麻烦了(比较懒🤣) 如果感觉对各位有帮助的话欢迎点一个⭐\^o^/...
数仓领域,Serving 是什么概念?
在数据仓库(Data Warehouse)和更广泛的数据工程领域中,“Serving”通常指的是将处理和优化后的数据提供给最终用户或应用程序的过程。这包括数据的查询、检索、展示等操作,使得数据能够在决策支持、报告、分析、或机器学习等应用中…...
Python筑基之旅-MySQL数据库(三)
目录 一、数据库操作 1、创建 1-1、用mysql-connector-python库 1-2、用PyMySQL库 1-3、用PeeWee库 1-4、用SQLAlchemy库 2、删除 2-1、用mysql-connector-python库 2-2、用PyMySQL库 2-3、用PeeWee库 2-4、用SQLAlchemy库 二、数据表操作 1、创建 1-1、用mysql-…...
(全面)Nginx格式化插件,Nginx生产工具,Nginx常用命令
目录 🎫 前言 🎉 开篇福利 🎁 开篇福利 x2 Double happiness # 介绍 # 地址 # 下载 💻 命令及解析 # 整个文件系统中搜索名为nginx.conf的文件 # 编辑nginx.conf文件 # 重新加载配置文件 # 快速查找nginx.conf文件并使…...
如何轻松提取和编辑Unity游戏资源:UABEA工具完整指南
如何轻松提取和编辑Unity游戏资源:UABEA工具完整指南 【免费下载链接】UABEA c# uabe for newer versions of unity 项目地址: https://gitcode.com/gh_mirrors/ua/UABEA 你是否曾经遇到过这样的困扰?作为一名游戏开发者或模组制作者,…...
别再只盯着IOU了!手把手拆解DeepSort级联匹配,看它如何用‘优先级’解决ID跳变
别再只盯着IOU了!手把手拆解DeepSort级联匹配,看它如何用‘优先级’解决ID跳变 当你在监控视频中看到行人ID突然从"007"跳变成"1024"时,是否曾怀疑自己的多目标跟踪系统被黑客入侵?这种被称为ID跳变ÿ…...
GeoServer零配置入门:如何用绿色版快速搭建本地地图服务器(含端口自定义技巧)
GeoServer零配置入门:如何用绿色版快速搭建本地地图服务器(含端口自定义技巧) 在GIS开发领域,快速搭建本地测试环境是每个开发者必备的技能。GeoServer作为开源地图服务器中的佼佼者,其绿色版更是提供了即解压即用的便…...
基于SiameseUniNLU的文本匹配与NLI实战:开源中文推理模型部署案例
基于SiameseUniNLU的文本匹配与NLI实战:开源中文推理模型部署案例 1. 项目介绍与核心价值 SiameseUniNLU是一个创新的中文自然语言理解模型,它采用统一的架构来处理多种NLP任务。这个模型最大的特点是用一套代码就能完成文本匹配、自然语言推理、实体识…...
comsol实能带建模、与Matlab能带数据后处理 文献复现---“周期嵌套声学黑洞结构的复...
comsol实能带建模、与Matlab能带数据后处理 文献复现---“周期嵌套声学黑洞结构的复能带和凋落波研究”-“二维声学黑洞声子晶体的宽频振动抑制”-“ Broadband vibration mitigation using a two-dimensional acoustic black hole phononic crystal” 包括comsol实能带模型、M…...
【Pygame】第15章 游戏人工智能基础、行为控制与寻路算法实现
摘要 人工智能是游戏开发中的重要组成部分,它能够赋予非玩家角色更自然的行为表现,使游戏世界显得更加真实、生动,并且具有挑战性。 在 2D 游戏中,AI 通常并不追求真正意义上的“智能”,而是通过一系列规则、状态和算…...
系统盘空间释放之-Gradle 的默认缓存迁移
最近开发过程中磁盘空间频繁报红,解决一下这两个缓存吧。(以我的电脑为例)一、先明确:这个文件夹是什么?C:\Users\lt\.gradle(1.16GB)作用:Gradle 全局缓存目录,存储所有…...
TreeSize专业评测:德国老牌磁盘分析工具的实力
在Windows系统工具领域,德国软件一向以严谨和专业著称。 TreeSize作为德国的老牌磁盘空间分析工具,多年来一直深受用户信赖。 本文将从专业角度对这款工具进行全面评测,帮助读者更好地了解它的实力。 首先来看TreeSize的定位,它是…...
如何快速实现文件格式伪装?apate工具完整使用指南
如何快速实现文件格式伪装?apate工具完整使用指南 【免费下载链接】apate 简洁、快速地对文件进行格式伪装 项目地址: https://gitcode.com/gh_mirrors/apa/apate 在当今数字时代,文件格式伪装技术已经成为保护数据隐私和突破平台限制的重要工具。…...
CSDN首页发布文章意见反馈
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
