这是一个玩21点的小游戏;
21就是不大于21的谁大谁赢;一个大于21一个小于21,小于21的赢;大家都大于21点或者都是21点算平手。
上次讲了玩家和电脑的抽牌操作以及代码,现在讲根据电脑与玩家当局总点数判断该局的最终结果的函数
///
/// 根据电脑与玩家当局总点数判断该局的最终结果(赢了加一分,输的不加分)
///
/// name="pla_result">
/// name="com_result">
/// name="name">玩家名称
public static void check_result(int pla_result, int com_result, string name)
{
if (pla_result == 0)
{
Console.WriteLine($"对手的结果为:{com_result}");
if (com_result == 21)
{
Console.WriteLine("很遗憾,对手也赢了,二人平手");
}
}
else if (pla_result == 1)
{
Console.WriteLine((com_result > 21) ? $"对手结果为{com_result},哦,对手也输了,两人平手" : $"对手结果为{com_result},还是{name}输了");
compuTers += (com_result > 21) ? 0 : 1;
}
else
{
Console.WriteLine($"对手的结果为:{com_result}");
if (com_result > 21)
{
Console.WriteLine($"{name}赢了");
gamePlayer += 1;
}
else
{
Console.WriteLine((pla_result > com_result) ? $"{name}赢了" : (pla_result < com_result) ? "对手赢了" : "平手");
gamePlayer += (pla_result > com_result) ? 1 : 0;
compuTers += (pla_result < com_result) ? 1 : 0;
}
}
}
pla_result:传输玩家的点数
com_result:传输电脑的点数
根据这两个的传输值来判断谁输谁赢判断方法就是开头说的那句话(21就是不大于21的谁大谁赢;一个大于21一个小于21,小于21的赢;大家都大于21点或者都是21点算平手)
然后写点击运行代码后跳出来的操作面板
///
/// 操作面板
///
/// name="args">
static void Main(string[] args)
{
Console.WriteLine("Welcome to this game!What is your name?");
string name = Console.ReadLine();//获取玩家名称
ArrayList nums = new ArrayList();//创建一个数组存放
for (int i = 0; i < 4; i++)
{
for (int x = 1; x <= 13; x++)
{
nums.Add(x); // 将4副扑克牌加入到集合中(21点只用考虑点数,不用考虑花色)
}
}
do
{
Feing += 1;
int pla_result = Play(name, nums);
int com_result = computer(nums);//回到玩家抽牌操作/电脑抽牌操作
check_result(pla_result, com_result, name);
Console.WriteLine("是否再来一局?(是请输入:1 / 否请输入:2)");
} while (Console.ReadLine() == "1");
Console.WriteLine($"一共比了{Feing}局,最终比分{name}:compuTers为{gamePlayer}:{compuTers}");
if (gamePlayer == compuTers)
{
Console.WriteLine("最终二人平局");
}
else if (gamePlayer > compuTers)
{
Console.WriteLine("最终{0}夺得最终胜利", name);
}
else
{
Console.WriteLine("最终computer取得胜利");
}
Console.WriteLine("Bye!");
Console.ReadKey();
}
这一句是运行后出现在操作面板上的第一句话,这句话是让你创建你的名字;
Console.WriteLine(“Welcome to this game!What is your name?”)
创建一个name变量接收保存这个名字。
循环牌组,存到一个nums数组中;
经过int pla_result=Play(name,nums)和int com_result=computer(nums)回到电脑和玩家抽牌的函数中获取他们最终的值,然后到check_result(pla_result, com_result, name)再传到判断谁输谁赢的函数上;
根据传回来的数据判断出输赢和得分情况(赢得一分,输了不得分),最终得出谁输谁赢、还有总共局数和最终得分。