C# c-创建一个使用数组的方法并使用循环重新启动控制台应用程序
我最谦恭的问候S.O.folk 我对以下评估标准的语法和语言要求有问题 注意:我不是在寻找一个确定的/给你!回答,即:已完成的作业,但我确实需要一些c语言的指导才能完成作业。先谢谢你 这是作业简介: 为经销商生成一张卡,使用结构显示2个随机数。 为玩家生成一张使用相同结构显示3个随机数的卡。 -到目前为止,我已经能够用我文章底部的代码来完成这项工作。其余的评估标准让我陷入困境- 要求用户键入他们希望与经销商比赛以赢得的单个号码。这些选项应存储在数组{0,1,2}中,该数组将被调用以运行方法来计算获胜者。我还必须使用TryParse方法将用户输入转换为数字。-要运行calculate winner方法,我假设将使用类似以下内容的if语句:C# c-创建一个使用数组的方法并使用循环重新启动控制台应用程序,c#,arrays,loops,methods,C#,Arrays,Loops,Methods,我最谦恭的问候S.O.folk 我对以下评估标准的语法和语言要求有问题 注意:我不是在寻找一个确定的/给你!回答,即:已完成的作业,但我确实需要一些c语言的指导才能完成作业。先谢谢你 这是作业简介: 为经销商生成一张卡,使用结构显示2个随机数。 为玩家生成一张使用相同结构显示3个随机数的卡。 -到目前为止,我已经能够用我文章底部的代码来完成这项工作。其余的评估标准让我陷入困境- 要求用户键入他们希望与经销商比赛以赢得的单个号码。这些选项应存储在数组{0,1,2}中,该数组将被调用以运行方法来计算
if (PlayerSelection > DealerCard)
{
Console.WriteLine ("You Win");
}
else (DealerCard > PlayerSelection)
{
Console.WriteLine ("Dealer Wins");
}
else if (PlayerSelection == DealerCard)
{
Console.WriteLine ("It is a draw");
}
-除上述内容外,我不理解使用tryParse方法将用户输入转换为数字的语法-
最后,我必须创建一个循环,根据用户输入再次运行程序。你想再玩一次吗?用户输入是=再次运行应用程序或用户输入否=退出应用程序。
正如我所说,这是一项作业,所以我不想寻找一个快速的答案。一些耐心的指导,希望看到我完成这项任务,并了解更多,将不胜感激。如果这个练习对某些人来说非常简单,我也很抱歉。我对c语言和一般编程非常陌生
下面是我到目前为止的代码。正如你所看到的,我构建了它,这样我就可以继续我自己的工作而不会迷失方向。我觉得自己像个蹒跚学步的孩子,但嘿,让事情变得简单似乎是我真正掌握这些事情的唯一方法。我可能不是一个天生的编程高手,但上帝保佑我不会放弃
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assessment2_Nicole_Haines
{
class Program
{
static void Main(string[] args)
{
card PlayerCard = new card(6,26); // Calls an instance of the card struct to create PlayerCard card
card PlayerCard2 = new card(6,26); // Calls an instance of the card struct to create PlayerCard2 card
card PlayerCard3 = new card(6,26); // Calls an instance of the card struct to create PlayerCard3 card
card DealerCard = new card(6,26); // Calls a new instance of the struct (named card) to create the dealers card with 2 numbers
//declare an array of card
card[] PlayerCards = { PlayerCard, PlayerCard2, PlayerCard3 };
// Welcome text
Console.WriteLine("Welcome! Press the 'enter' key to play!");
Console.ReadLine();
// Use of struct for Dealers single card
Console.WriteLine("The dealers card is: {0} , {1}", DealerCard.Number1, DealerCard.Number2);
Console.ReadLine();
// Use of struct for Players first card
Console.WriteLine("Your first card is: {0} , {1}", PlayerCard.Number1, PlayerCard.Number2);
Console.ReadLine();
// Use of struct for Players second card
Console.WriteLine("Your second card is: {0} , {1}", PlayerCard2.Number1, PlayerCard2.Number2);
Console.ReadLine();
// Use of struct for Players third (and final) card
Console.WriteLine("Your third (and final!) card is: {0}, {1}", PlayerCard3.Number1, PlayerCard3.Number2);
Console.ReadLine();
// Request user input - As you can see - the rest of the code is incomplete/incorrect
Console.WriteLine("Please enter the number you wish to 'play' in order to beat the dealer:");
// Accept/Parse user input
// Create a while loop that runs application again if user enters Y. otherwise - exits.
Console.WriteLine("Would you like to play again?");
Console.ReadLine();
Console.WriteLine("You selected 'Y' Let's play again!");
Console.ReadLine();
Console.WriteLine("You selected 'N' See you later!");
Console.ReadLine();
}
// Struct
public struct card
{
static Random r = new Random();
public int Number1;
public int Number2;
public card(int Minimum, int Maximum)
{
Number1 = r.Next(Minimum, Maximum);
Number2 = r.Next(Minimum, Maximum);
}
}
}
}
答案很简单,这里有一个链接可以帮助你 我还认为你的if声明
if (PlayerSelection > DealerCard)
{
Console.WriteLine ("You Win");
}
else if(DealerCard > PlayerSelection)
{
Console.WriteLine ("Dealer Wins");
}
else if (PlayerSelection == DealerCard)
{
Console.WriteLine ("It is a draw");
}
else{Console.WriteLine("Something Went Wrong"}
至于决定谁会赢的问题
// Call ReadKey again and test for the letter Y.
info = Console.ReadLine();
int pleayercardvalue = tryparse(info, int32)
if (playercardvalue != playercard1.value OR playercard2.value OR playercard3.value)
{
"Select Valid Card";
}
else
{
playercardvalue
}
这些都不是精确的代码,只是粗略的想法。C中的大多数类型都有两种方法将字符串解析为该类型的值,Parse和TryParse。调用两者的语法相同。TryParse方法与Parse方法的不同之处在于,TryParse返回一个bool,指示字符串是否已被解析。也就是说,将1传递给int.TryParse将返回true,但传递A将返回false 这些方法是重载的。最容易调用的是TryParsestring,它只将要解析的字符串作为其唯一参数。它将使用应用程序的当前区域性设置(不管是什么)来解析数字。这可能没有问题,因为默认区域性与Windows区域性设置中指定的区域性相同。其他重载允许您指定特定的区域性和格式选项。别担心这些
最后,你的循环。你会把你的代码放在一个循环里,我会用一个do。而循环则首先执行您现在正在执行的所有操作,确定赢家,然后询问用户是否希望再次玩。解析他们的响应这不是对TryParse的调用,而是将他们的响应与预期的响应进行比较,如果他们说是,循环将重复。谢谢。作为一名学习者,我甚至不知道ReadKey方法的存在。这是非常方便知道。不幸的是,评估确实需要使用while循环来重新运行或退出应用程序。不过我已经记下了ReadKey,这肯定会在我自己的c语言特性实验中派上用场。我确信你会使用ReadKey方法来设置while循环。毕竟,你必须知道他们是选择Y还是N。
// Call ReadKey again and test for the letter Y.
info = Console.ReadLine();
int pleayercardvalue = tryparse(info, int32)
if (playercardvalue != playercard1.value OR playercard2.value OR playercard3.value)
{
"Select Valid Card";
}
else
{
playercardvalue
}