- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图制作一段代码,它会在最后掷骰子来决定哪个角色获胜,但它一直说有错误(使用未分配的局部变量'skillmodifier') &(使用未分配的局部变量“strengthmodifier”)。我真的很感激任何帮助。 P.S 我只在 Visual Studio 2010 上做了很短的一段时间的编程。请帮我找到解决这个问题的方法,这个问题是因为我使用变量 'strengthmodifier' 和 'skillmodifier' 两次。谢谢你,你忠实的 Vikash。我将在下面粘贴任务简介和之后的代码:
任务 3 确定遭遇的结果当两个角色相遇时,结果由以下决定过程:
• 计算两个角色的强度属性之间的差异
• 此差异除以 5,然后向下舍入以创建“强度修正值”
• 对技能属性重复该过程以创建“技能修饰符”
• 每个玩家掷一个 6 面骰子。
• 如果两个骰子的分数相同,则不做任何更改
• 如果分数不相同,则得分最高的玩家加上“力量”modifier' 到力量值和 ‘skill modifier' 到他们的技能值性格
• 骰子得分较低的玩家从他们性格的力量和技能值
• 如果技能值变为负数,则将其存储为零
• 如果强度值变为零或负数,则角色死亡。
程序应该:
*• 允许用户输入两个角色的力量和技能。
• 使用上述过程显示遭遇的结果。设计一个算法来描述这个过程。编写、测试和评估代码。*
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Task3
{
class Program
{
static void loopfsto()
{
Console.WriteLine("Please enter a value of strength, and then press enter");
string csto = Console.ReadLine(); // Read string from console
int csto1;
if (int.TryParse(csto, out csto1)) // Try to parse the string as an integer
{
Console.WriteLine("Your chosen number is " + csto1 + ".");
Console.ReadKey();
}
else
{
Console.Clear();
Console.WriteLine("Not an integer!");
Console.ReadKey();
Console.Clear();
loopfsto();
}
}
static void loopfsko()
{
Console.WriteLine("Please enter a value of skill, and then press enter");
string csko = Console.ReadLine(); // Read string from console
int csko1;
if (int.TryParse(csko, out csko1)) // Try to parse the string as an integer
{
Console.WriteLine("Your chosen number is " + csko1 + ".");
Console.ReadKey();
}
else
{
Console.Clear();
Console.WriteLine("Not an integer!");
Console.ReadKey();
Console.Clear();
loopfsko();
}
Console.Clear();
}
static void loopfstt()
{
Console.WriteLine("Please enter a value of strength for, and then press enter");
string cstt = Console.ReadLine(); // Read string from console
int cstt1;
if (int.TryParse(cstt, out cstt1)) // Try to parse the string as an integer
{
Console.WriteLine("Your chosen number is " + cstt1 + ".");
Console.ReadKey();
}
else
{
Console.Clear();
Console.WriteLine("Not an integer!");
Console.ReadKey();
Console.Clear();
loopfstt();
}
Console.Clear();
}
static void loopfskt()
{
Console.WriteLine("Please enter a value of skill for, and then press enter");
string cskt = Console.ReadLine(); // Read string from console
int cskt1;
if (int.TryParse(cskt, out cskt1)) // Try to parse the string as an integer
{
Console.WriteLine("Your chosen number is " + cskt1 + ".");
Console.ReadKey();
}
else
{
Console.Clear();
Console.WriteLine("Not an integer!");
Console.ReadKey();
Console.Clear();
loopfskt();
}
}
static void Main(string[] args)
{
string Character1;
string Character2;
int strengthmodifiertoround;
int skillmodifiertoround;
int strengthmodifier;
int skillmodifier;
Console.Title = "Strength and Skill";
Console.WriteLine("Welcome to Strength and Skill, please press enter to continue.");
Console.ReadKey();
Console.Clear();
Console.WriteLine("Please enter a name for character 1, then press enter.");
Character1 = Console.ReadLine();
Console.Clear();
Console.WriteLine("Please enter a name for character 2, then press enter.");
Character2 = Console.ReadLine();
Console.Clear();
Console.WriteLine("Please enter a value of strength for " + Character1 + ", and then press enter");
string csto = Console.ReadLine(); // Read string from console
int csto1;
if (int.TryParse(csto, out csto1)) // Try to parse the string as an integer
{
Console.WriteLine("Your chosen number is " + csto1 + ".");
Console.ReadKey();
}
else
{
Console.Clear();
Console.WriteLine("Not an integer!");
Console.ReadKey();
Console.Clear();
loopfsto();
}
Console.Clear();
Console.WriteLine("Please enter a value of skill for " + Character1 + ", and then press enter");
string csko = Console.ReadLine(); // Read string from console
int csko1;
if (int.TryParse(csko, out csko1)) // Try to parse the string as an integer
{
Console.WriteLine("Your chosen number is " + csko1 + ".");
Console.ReadKey();
}
else
{
Console.Clear();
Console.WriteLine("Not an integer!");
Console.ReadKey();
Console.Clear();
loopfsko();
}
Console.Clear();
Console.WriteLine(Character1 + " has a strength of " + csto1 + " and a skill of " + csko1 + ".");
Console.ReadKey();
Console.Clear();
Console.WriteLine("Please enter a value of strength for " + Character2 + ", and then press enter");
string cstt = Console.ReadLine(); // Read string from console
int cstt1;
if (int.TryParse(cstt, out cstt1)) // Try to parse the string as an integer
{
Console.WriteLine("Your chosen number is " + cstt1 + ".");
Console.ReadKey();
}
else
{
Console.Clear();
Console.WriteLine("Not an integer!");
Console.ReadKey();
Console.Clear();
loopfstt();
}
Console.Clear();
Console.WriteLine("Please enter a value of skill for " + Character2 + ", and then press enter");
string cskt = Console.ReadLine(); // Read string from console
int cskt1;
if (int.TryParse(cskt, out cskt1)) // Try to parse the string as an integer
{
Console.WriteLine("Your chosen number is " + cskt1 + ".");
Console.ReadKey();
}
else
{
Console.Clear();
Console.WriteLine("Not an integer!");
Console.ReadKey();
Console.Clear();
loopfskt();
}
Console.Clear();
Console.WriteLine(Character2 + " has a strength of " + cstt1 + " and a skill of " + cskt1 + ".");
Console.ReadKey();
Console.Clear();
//--- Finds out if strength for character 1 is higher than 2 or vice versa. Then finds difference between two and makes a variable called strengthmodifier ---//
{
if (csto1 < cstt1)
{
strengthmodifiertoround = cstt1 - csto1;
strengthmodifier = strengthmodifiertoround / 5;
}
if (cstt1 < csto1)
{
strengthmodifiertoround = csto1 - cstt1;
strengthmodifier = strengthmodifiertoround / 5;
}
}
//--- Finds out if skill for character 1 is higher than 2 or vice versa. Then finds difference between two and makes a variable called skillmodifier ---//
{
if (csko1 < cskt1)
{
skillmodifiertoround = cskt1 - csko1;
skillmodifier = skillmodifiertoround / 5;
}
if (cskt1 < csko1)
{
skillmodifiertoround = csko1 - cskt1;
skillmodifier = skillmodifiertoround / 5;
}
}
//--- Tells user to put input and roll a virtual dice (which is actually creating a number between 1 and 6) ---//
Console.WriteLine(Character1 + ", please press enter to roll dice");
Console.ReadKey();
Random rand = new Random();
int character1RandomNumber = rand.Next(1, 6);
Console.WriteLine(Character2 + ", please press enter to roll dice");
Console.ReadKey();
Random rand1 = new Random();
int character2RandomNumber = rand1.Next(1, 6);
Console.WriteLine(Character1 + " rolled a " + character1RandomNumber + " and " + Character2 + " rolled a " + character2RandomNumber + ".");
Console.ReadKey();
if (character1RandomNumber < character2RandomNumber)
{
int char2st = cstt1 + strengthmodifier;
int char2sk = cskt1 + skillmodifier;
int char1st = csto1 - strengthmodifier;
int char1sk = csko1 - skillmodifier;
}
if (character2RandomNumber < character1RandomNumber)
{
}
int ch2st = cstt1 - strengthmodifier;
int ch2sk = cskt1 - skillmodifier;
int ch1st = csto1 + strengthmodifier;
int ch1sk = csko1 + skillmodifier;
}
}
}
最佳答案
实际上,我认为你的问题是因为 skillmodifier 和 strengthmodifier 没有在所有代码路径上获得赋值。 IE。它们仅在 if 子句和 visual studio 无法确定是否为所有可能的结果分配了值。这个警告不应该停止你的代码编译,但如果你想让它消失,你可以做类似的事情
int skillmodifiertoround = 0;
不仅仅是
int skillmodifiertoround;
现在 skillmodifiertoround 在声明时被赋予了一个值。
编辑:“这个警告不应该停止你的代码编译”——显然它会阻止程序在 c# 中正确编译,但在 vb 中同样的错误只给出警告但仍然编译。
关于C# 'Unassigned local variable' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14101017/
当我在Elasticsearch中索引任何文档时,我总是发现数据是未分配的。当我尝试搜索,排序,删除或更新其数据的任何数据时,它都可以完美地工作。 群集运行状况为黄色: 这是索引元数据: { "sta
我试图制作一段代码,它会在最后掷骰子来决定哪个角色获胜,但它一直说有错误(使用未分配的局部变量'skillmodifier') &(使用未分配的局部变量“strengthmodifier”)。我真的很
我试图通过设置偏移量来使用主题中的数据,但出现断言错误 - from kafka import KafkaConsumer consumer = KafkaConsumer('foobar1',
我有一个名为“myDPS”的 Azure 设备预配服务设置,并链接了以下 IoT 中心。 IoTHub-Dev-Asia IoTHub-Prod-欧洲 目前没有报名名单。我使用下面的 C# 代码来注册
试图了解什么是更好的方法或更好的解决方案,考虑将部署程序的目标机器可能具有成组的网卡或只有故障转移卡 我有一个 Windows 服务,它通过端口 XXXX 托管服务。它不是 WCF 服务,而是简单的
这个问题已经有答案了: Why can't I assign arrays as &a = &b? (2 个回答) 已关闭 3 年前。 我试图从知道其位置的字符串中删除一个字符。我知道有很多方法,但我
我正在处理类作业,但无法编译。对于 multiplierString 和 MultiplcandString,我不断收到 “Use of unassigned local variable”。它们在
现在我早就知道并习惯了 C# 中的这种行为,总的来说,我喜欢它。但有时编译器不够智能。 我有一小段代码,目前我的解决方法不是大问题,但在类似情况下可能会出现问题。 bool gap=f
来自documentation : Unlike classes, structs can be instantiated without using a new operator. 那么为什么我会收
如果我尝试编译这段代码,我会得到 data 的“Use of unassigned local variable”。 (显然 foo = true 本来就更复杂。) CuppingAttemptDat
我有这个方法: public static void Add(int _Serial, string _Name, long? _number1, long? _number2) { // .
我想知道为什么我会在新的 eclipse Juno 上收到这个警告,尽管我认为我正确地关闭了所有内容。您能告诉我为什么我会在以下代码中收到此警告吗? public static boolean cop
为什么获取变量的地址可以消除“使用未分配的局部变量”错误? (为什么一开始不初始化就可以取到地址?) static unsafe void Main() { int x; int* p
错误是在for循环中引起的: for (i = 0; i (int)cards.Joker) //if the random card isn't a joker {
这个问题在这里已经有了答案: Are C# uninitialized variables dangerous? (6 个答案) 关闭 7 年前。 使用这段代码: bool dataToAdd; i
使用未分配的局部变量“model”。是我收到的错误消息。就在我说 if (model == null) 的地方。我不确定为什么它会给我一个编译时错误。请有人帮忙。 public static T Tr
我不断收到有关 annualRate、monthlyCharge 和 lateFee 的错误。 using System; using System.Collections.Generic; usin
我不确定为什么会收到此错误,但这段代码不应该编译吗,因为我已经在检查队列是否正在初始化? public static void Main(String[] args) { Byte maxSi
我的代码如下 int tmpCnt; if (name == "Dude") tmpCnt++; 为什么会出现错误“使用未分配的局部变量 tmpCnt”? 我知道我没有明确地初始化它,但是
我是 Go 的新手,我在将 gob 放在电线上时遇到了一些麻烦。我写了一个我认为会通过的快速测试,但是解码调用返回了“DecodeValue of unassignable value”错误。这是代码
我是一名优秀的程序员,十分优秀!