用if语句C#写一个石头剪刀代码
时间: 2024-10-11 20:03:35 浏览: 26
在C#中,你可以使用if语句来编写一个基本的石头剪刀布游戏。以下是一个简单的示例,只有玩家和电脑之间的单次对决:
```csharp
using System;
class Program
{
static void Main()
{
Console.WriteLine("欢迎来到石头剪刀布游戏!请输入你的选择(1 - 石头,2 - 剪刀,3 - 布):");
// 获取用户的输入并转换成整数
int userInput;
if (!int.TryParse(Console.ReadLine(), out userInput) || userInput < 1 || userInput > 3)
{
Console.WriteLine("无效的输入,请重新选择!");
return;
}
// 电脑随机选择
Random random = new Random();
int computerChoice = random.Next(1, 4);
// 比较并输出结果
if (userInput == computerChoice)
{
Console.WriteLine("平局!");
}
else if (IsWinning(userInput, computerChoice))
{
Console.WriteLine("恭喜你,你赢了!");
}
else
{
Console.WriteLine("很遗憾,电脑赢了!");
}
Console.WriteLine("是否再来一局?(y/n)");
string playAgain = Console.ReadLine();
if (playAgain.ToLower() == "y") PlayGameAgain();
}
// 判断输赢逻辑(这里简化只考虑最基本的规则)
static bool IsWinning(int userChoice, int computerChoice)
{
if (userChoice == 1 && computerChoice == 2) // 石头胜剪刀
return true;
else if (userChoice == 2 && computerChoice == 3) // 剪刀胜布
return true;
else if (userChoice == 3 && computerChoice == 1) // 布胜石头
return true;
else
return false;
}
// 如果用户想继续,则重新开始游戏
static void PlayGameAgain()
{
Main();
}
}
```
在这个例子中,`IsWinning`函数用于判断胜负情况,而`PlayGameAgain`函数在用户请求时递归调用,实现了一局游戏的循环。
阅读全文