c# - c# || 我需要一个变量来控制另一个变量,但都计算自己的范围。我怎么能这样做?
问题描述
我刚刚开始编码,我并不是一个真正的精确科学人。如果这太基本了,我很抱歉,但我真的很难过这个。我什至不知道从哪里开始,谷歌搜索并没有把我带到任何地方。
基本上,我有一个可由玩家控制的变量,从 0 到 100,我还有另一个变量可以控制从 10 到 140 的其他东西。我需要做的是让玩家控制一个的 0成为另一个人的 10,100 成为 140,以及介于两者之间的一切。
作为我需要的一个例子,我制作了这个绝对的疯子代码,有点模仿我想要的结果:
if (getThrottle == 0)
{
speed = 10;
}
else if (getThrottle == 30)
{
speed = 50;
}
else if (getThrottle == 50)
{
speed = 80;
}
else if (getThrottle == 70)
{
speed = 110;
}
else if (getThrottle == 100)
{
speed = 140;
}
如果有人能指出我正确完成这项工作所需的正确方向,我会很高兴。
解决方案
做speed
一个计算的属性:
private double getThrottle = 50;
// Throttle ranges
private double minThrottle = 0;
private double maxThrottle = 100;
// speed range to normalize to
private double minSpeed = 10;
private double maxSpeed = 140;
// taken from: https://stats.stackexchange.com/questions/281162/scale-a-number-between-a-range
public double speed => getThrottle - minThrottle / maxThrottle-minThrottle * (maxSpeed-minSpeed) + minSpeed;
推荐阅读
- powershell - Powershell如何将标题添加到已归档的csv
- php - TCPDF writeHTML 边距/填充样式不起作用
- vba - 在消息框中将数字转换为文本
- php - Predis ConnectionException:在 lumen api 5.6 上使用连接超时
- javascript - 排除数组中某些项目的逻辑
- mysql - 唯一但最新的行
- c# - 多个(长)真/假字符串的逻辑处理
- python - Python 3 使用 BeautifulSoup 抓取网页导致 UnicodeDecodeError
- java - Vertex.value() 属性 Not found Gremlin Neptune Java
- java - 在它们之间切换时避免刷新片段