C# 我的石头剪刀游戏有问题
我知道这个问题以前已经发布过,我目前正在使用一些给我的代码,但是在添加了一些东西之后,我在让它实际输出我想要的东西方面遇到了问题 这就是我的控制台上显示的内容C# 我的石头剪刀游戏有问题,c#,c#-2.0,C#,C# 2.0,我知道这个问题以前已经发布过,我目前正在使用一些给我的代码,但是在添加了一些东西之后,我在让它实际输出我想要的东西方面遇到了问题 这就是我的控制台上显示的内容 你想玩石头、布和剪刀吗 对 你必须在石头布和剪刀之间做出选择 摇滚乐 退出程序 我在做什么不让程序进入游戏 using System; class rockpsV2 { public static void Main(string[]args) { do { Console.WriteLine("Do y
- 你想玩石头、布和剪刀吗
- 对
- 你必须在石头布和剪刀之间做出选择李>
- 摇滚乐
- 退出程序
using System;
class rockpsV2
{
public static void Main(string[]args)
{
do
{
Console.WriteLine("Do you want to play rock,paper or scissors?");
string userChoice = Console.ReadLine();
Random r = new Random();
int computerChoice = r.Next(4);
if (computerChoice == 1)
{
if (userChoice == "rock")
{
Console.WriteLine("The computer chose rock");
Console.WriteLine("It is a tie ");
}
else if (userChoice == "paper")
{
Console.WriteLine("The computer chose paper");
Console.WriteLine("It is a tie ");
}
else if (userChoice == "scissors")
{
Console.WriteLine("The computer chose scissors");
Console.WriteLine("It is a tie ");
}
else
{
Console.WriteLine("You must choose rock,paper or scissors!");
}
}
else if (computerChoice == 2)
{
if (userChoice == "rock")
{
Console.WriteLine("The computer chose paper");
Console.WriteLine("Sorry you lose,paper beat rock");
}
else if (userChoice == "paper")
{
Console.WriteLine("The computer chose scissors");
Console.WriteLine("Sorry you lose,scissors beat paper ");
}
else if (userChoice == "scissors")
{
Console.WriteLine("The computer chose rock");
Console.WriteLine("Sorry you lose,rock beats scissors");
}
else
{
Console.WriteLine("You must choose rock,paper or scissors!");
}
}
else if (computerChoice == 3)
{
if (userChoice == "rock")
{
Console.WriteLine("The computer chose scissors");
Console.WriteLine("You win,rock beats scissors");
}
else if (userChoice == "paper")
{
Console.WriteLine("The computer chose rock");
Console.WriteLine("You win,paper beats rock");
}
else if (userChoice == "scissors")
{
Console.WriteLine("The computer chose paper");
Console.WriteLine("You win,scissors beat paper");
}
else
{
Console.WriteLine("You must choose rock,paper or scissors!");
}
}
} while(Console.ReadLine() == "yes");
}
}
问题是:
Console.WriteLine(“你想玩石头、布还是剪刀?”)
(注意你在问题中写的“or”这个词是“and”)你用石头、布或剪刀回答这个问题,如果你给出不同的答案,它不会播放并转到while(Console.ReadLine()=“yes”)代码>行,如果您在此处回答任何与“是”不同的问题,它将离开do..while循环并退出程序问题是:Console.WriteLine(“您想玩石头、布或剪刀吗?”)
(注意你在问题中写的“or”这个词是“and”)你用石头、布或剪刀回答这个问题,如果你给出不同的答案,它不会播放并转到while(Console.ReadLine()=“yes”)代码>行,如果您在这里回答的不是“是”,它将离开do..while循环并退出程序我将以这种方式重构整个程序
using System;
class rockpsV2
{
public static string[] choices = new string[] { "rock", "paper", "scissor" };
public static int comparePlay(string player1, string player2)
{
if (player1 == player2)
return 0;
if (player1 == "rock" && player2 == "scissor" ||
player1 == "paper" && player2 == "rock" ||
player1 == "scissor" && player2 == "paper")
return -1;
return 1;
}
public static bool validChoice(string choice)
{
return choice == "rock"
|| choice == "scissor"
|| choice == "paper";
}
public static void Main(string[] args)
{
string userChoice = "";
do
{
do {
Console.WriteLine("Do you want to play rock,paper or scissors?");
userChoice = Console.ReadLine();
if (!validChoice(userChoice)) {
Console.WriteLine("You must choose rock,paper or scissors!");
}
}
while(!validChoice(userChoice));
Random r = new Random();
int computerChoiceRand = r.Next(100) % 3;
string computerChoice = choices[computerChoiceRand];
Console.WriteLine("The computer chose {0}", computerChoice);
int whoWins = comparePlay(computerChoice, userChoice);
if (whoWins < 0) {
Console.WriteLine("Sorry you lose, {0} beats {1}", computerChoice, userChoice);
}
if (whoWins == 0) {
Console.WriteLine("It is a tie");
}
if (whoWins > 0) {
Console.WriteLine("You win,{0} beats {1}", userChoice, computerChoice);
}
Console.WriteLine("Want to play again?");
} while(Console.ReadLine() == "yes");
}
}
使用系统;
rockpsV2级
{
公共静态字符串[]选项=新字符串[]{“岩石”、“纸张”、“剪刀”};
公共静态整数比较播放(字符串播放器1、字符串播放器2)
{
如果(player1==player2)
返回0;
如果(player1==“摇滚乐”和&player2==“剪刀”||
player1==“纸张”和&player2==“岩石”||
player1==“剪刀”和&player2==“纸”)
返回-1;
返回1;
}
公共静态布尔有效选择(字符串选择)
{
返回选项==“摇滚乐”
||选项==“剪刀”
||选择==“纸张”;
}
公共静态void Main(字符串[]args)
{
字符串userChoice=“”;
做
{
做{
你想玩石头、布还是剪刀;
userChoice=Console.ReadLine();
if(!validChoice(userChoice)){
控制台。WriteLine(“你必须选择石头、布或剪刀!”);
}
}
而(!validChoice(userChoice));
随机r=新随机();
int computerChoiceRand=r.Next(100)%3;
字符串computerChoice=选项[computerChoiceRand];
WriteLine(“计算机选择了{0}”,computerChoice);
int whoWins=comparePlay(computerChoice,userChoice);
如果(谁赢<0){
WriteLine(“对不起,您输了,{0}比{1}”,computerChoice,userChoice);
}
如果(whoWins==0){
Console.WriteLine(“这是一条领带”);
}
如果(谁赢>0){
WriteLine(“你赢了,{0}比{1}”,userChoice,computerChoice);
}
控制台。WriteLine(“想再玩一次吗?”);
}而(Console.ReadLine()=“是”);
}
}
我会这样重构整个程序
using System;
class rockpsV2
{
public static string[] choices = new string[] { "rock", "paper", "scissor" };
public static int comparePlay(string player1, string player2)
{
if (player1 == player2)
return 0;
if (player1 == "rock" && player2 == "scissor" ||
player1 == "paper" && player2 == "rock" ||
player1 == "scissor" && player2 == "paper")
return -1;
return 1;
}
public static bool validChoice(string choice)
{
return choice == "rock"
|| choice == "scissor"
|| choice == "paper";
}
public static void Main(string[] args)
{
string userChoice = "";
do
{
do {
Console.WriteLine("Do you want to play rock,paper or scissors?");
userChoice = Console.ReadLine();
if (!validChoice(userChoice)) {
Console.WriteLine("You must choose rock,paper or scissors!");
}
}
while(!validChoice(userChoice));
Random r = new Random();
int computerChoiceRand = r.Next(100) % 3;
string computerChoice = choices[computerChoiceRand];
Console.WriteLine("The computer chose {0}", computerChoice);
int whoWins = comparePlay(computerChoice, userChoice);
if (whoWins < 0) {
Console.WriteLine("Sorry you lose, {0} beats {1}", computerChoice, userChoice);
}
if (whoWins == 0) {
Console.WriteLine("It is a tie");
}
if (whoWins > 0) {
Console.WriteLine("You win,{0} beats {1}", userChoice, computerChoice);
}
Console.WriteLine("Want to play again?");
} while(Console.ReadLine() == "yes");
}
}
使用系统;
rockpsV2级
{
公共静态字符串[]选项=新字符串[]{“岩石”、“纸张”、“剪刀”};
公共静态整数比较播放(字符串播放器1、字符串播放器2)
{
如果(player1==player2)
返回0;
如果(player1==“摇滚乐”和&player2==“剪刀”||
player1==“纸张”和&player2==“岩石”||
player1==“剪刀”和&player2==“纸”)
返回-1;
返回1;
}
公共静态布尔有效选择(字符串选择)
{
返回选项==“摇滚乐”
||选项==“剪刀”
||选择==“纸张”;
}
公共静态void Main(字符串[]args)
{
字符串userChoice=“”;
做
{
做{
你想玩石头、布还是剪刀;
userChoice=Console.ReadLine();
if(!validChoice(userChoice)){
控制台。WriteLine(“你必须选择石头、布或剪刀!”);
}
}
而(!validChoice(userChoice));
随机r=新随机();
int computerChoiceRand=r.Next(100)%3;
字符串computerChoice=选项[computerChoiceRand];
WriteLine(“计算机选择了{0}”,computerChoice);
int whoWins=comparePlay(computerChoice,userChoice);
如果(谁赢<0){
WriteLine(“对不起,您输了,{0}比{1}”,computerChoice,userChoice);
}
如果(whoWins==0){
Console.WriteLine(“这是一条领带”);
}
如果(谁赢>0){
WriteLine(“你赢了,{0}比{1}”,userChoice,computerChoice);
}
控制台。WriteLine(“想再玩一次吗?”);
}而(Console.ReadLine()=“是”);
}
}
请尝试提供一个较小的示例/更准确地描述您的问题请尝试提供一个较小的示例/更准确地描述您的问题