- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近才接触到 C++,我计划主要从事游戏制作。很自然地,我决定尝试一下,看看我能做些什么。
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main ()
{
int HIT, DMG, HRT, ATK, DEF, EVS, EVS1, CRT, CRT1, CRT2, CRTMUL, CRTMUL1, BK, BKDMG;
srand( time(0));
HIT=rand()%100+1;
cout<<"Please enter thier Evasion: ";
cin >> EVS;
EVS1 = 100 - EVS;
if ( HIT < EVS1 ) {
cout<<"Hit!";
cout << '\n';
}
else if ( HIT > EVS1 ) {
cout<<"Miss!";
return 0;
}
cout<<"Please enter your Damage: ";
cin >> DMG;
cout<<"Please enter your Attack: ";
cin >> ATK;
cout<<"Please enter thier Defence: ";
cin >> DEF;
cout<<"Please enter your Crit Chance: ";
cin >> CRT;
cout<<"Please enter your Crit Multiplier: ";
cin >> CRTMUL1;
CRT1=rand()%100+1;
CRT2 = 100 - CRT;
if ( CRT1 < CRT2 ) {
cout<<"You didnt crit.";
cout << '\n';
CRTMUL = 1;
}
else if ( CRT1 > CRT2 ) {
cout<<"Crit!";
cout << '\n';
CRTMUL = CRTMUL1;
}
// no matter what you input here,...
cout<<"From where did you hit them? ";
cout << '\n';
cout<<"(1 for from the back, 2 for from the side, 3 for from the front).";
cout << '\n';
cin >> BK;
// ...this area...
if ( BK = 1 ) {
BKDMG = 1.6;
}
else if ( BK = 2 ) {
BKDMG = 1.3;
}
else if ( BK = 3 ) {
BKDMG = 1;
}
// ... to this area wont work, in the equation below BKDMG is allways 1
HRT = ((((((ATK/5)/100)+1)*(DMG))-(((((ATK/5)/100)+1)*(DMG))/100)*(DEF/5))*BKDMG)*CRTMUL;
cout<<"You hit for ";
cout<<HRT;
cout<<" damage!";
return 0;
}
正如您在代码中看到的那样,无论您为 BK 输入什么,BKDMG 似乎都会以各种方式得到 1。我相信这是因为四舍五入?如果不让我知道。
如果是这样,我该如何解决这个问题?我认为答案就在这里的某个地方,但我不知道到底要搜索什么,因为我不知道到底是什么问题。据我所知, float 可以帮助我吗?我不明白什么是 float ,因为这是我编码的第一件事。
最佳答案
您已将 BKDMG 定义为 int
类型,这意味着它只能容纳整数。所以,是的,如果你给它分配一个实数值,它会将它向下舍入到下一个整数值。对于此示例,使用 double
或 float
可能就足够了。
你的条件也不对:
if ( BK = 1 ) {
BKDMG = 1.6;
}
因为'BK = 1'是一个赋值,它总是将BK的值设置为1。上面的代码片段应该是:
if ( BK == 1 ) {
BKDMG = 1.6;
}
关于c++ - 等式中不考虑小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23493690/
我正在尝试建立一个模型,该模型将根据是否存在某些组件(在我的情况下为流体端口)具有略微不同的方程。 如下代码将不起作用: parameter Boolean use_component=false;
首先采用,kludge 解决方案,sentinel 方法(您的程序必须不允许输入 sentinel 值): select coalesce(a, -2147483648) = coalesce(b,
我有一个类型族,它确定某物是否位于类型级列表的开头。 type family AtHead x xs where AtHead x (x ': xs) = True AtHead y
我试图找出为什么在下面的方法中,数组“8”中的最后一个值会满足“(8 & 7) == 0”的 where 子句。 public class Test { public static voi
我是 C 语言的初学者。我正在使用在线示例代码并尝试分析以下内容, int x = 0, y = 16; *x_ptr = &x 这是我要确保我在语法上理解的第二行。我刚刚遇到指针的概念,并试图从概念
我想知道geom_density()到底在做什么,所以我证明了图的合理性,以及是否有任何方法可以提取为绘制的每条曲线生成的函数或点。 谢谢 最佳答案 键入get("compute_group", gg
我试图用 Haskell 实现一个 Braun 树,定义如下: {-# LANGUAGE GADTs #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE PolyK
==有什么区别和 === ? 松散到底是怎么做的==对比工作? 严格怎么做===对比工作? 什么是一些有用的例子? 最佳答案 ==之间的区别和 === 松散的区别==相等运算符和严格 ===相同的运算
==有什么区别和 === ? 松散到底是怎么做的==对比工作? 严格怎么做===对比工作? 什么是一些有用的例子? 最佳答案 ==之间的区别和 === 松散的区别==相等运算符和严格 ===相同的运算
在理解下面的代码中发生了什么时遇到问题。数组 c 和 d 的行为是我所期望的。但是 a 和 b 是怎么回事? (我也用普通的标量变量尝试过这个,在任何一种情况下都没有发生令人惊讶的事情。) 输出被复制
我正在尝试使用 Java Swing 为数学方程式创建一个 GUI 5((θ/β) - cos(2πθ/β)) . 最初我开始使用一个简单的余弦函数并创建了 GUI,它工作正常。这是我的余弦函数程序:
我正在尝试将这条曲线作为我目前正在开发的一款小游戏的升级系统的一部分。方程如下 f(x) = -e^-((-log(7)/100)*(100-x))+7 在python中可以定义为 f=lambda
我是一名优秀的程序员,十分优秀!