相信不少朋友都对“斗地主”这一个游戏不陌生
今天的主角是 'J' 'Q' 'K' 也就是Jack Queen King
下面是游戏的要求:
-
游戏初始化:玩家开始时有100美元的现金。
-
下注:玩家在每轮游戏中需要输入他们愿意下的赌注。赌注必须是非负整数,并且不能超过玩家当前的现金。
-
洗牌:游戏有三张牌,分别是 'J'(Joker)、'Q'(Queen)、'K'(King)。游戏开始时,这三张牌被“洗牌”,即随机打乱顺序。
-
玩家猜测:玩家需要猜测哪张牌是 Queen(皇后)。玩家只能选择1、2或3的位置。
-
判断胜负:如果玩家猜对了 Queen 的位置,他们将赢得相当于他们赌注三倍的现金。如果猜错,他们将失去他们的赌注。
-
游戏结束:如果玩家的现金为0,游戏结束。
以下是游戏的代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int cash = 100;//全局变量,初始化 现金 为100
void Play(int bet)
{
char C[3] = { 'J','Q','K' };
printf("Shuffling ... \n");
srand(time(NULL));//初始化随机数生成器,只调用一次
int i;
for (i = 0; i < 5; i++)
{
int x = rand() % 3;
int y = rand() % 3;
int temp = C[x];
C[x] = C[y];
C[y] = temp;
}
int playersGuess;
printf("What is the position of queen - 1,2 or 3? ");
if (scanf("%d", &playersGuess) != 1 || playersGuess < 1 || playersGuess > 3)
{
printf("Invalid input, please enter 1, 2, or 3.\n");
return 1; // 如果输入无效,直接返回
}
if (C[playersGuess - 1] == 'Q')
{
cash += 3 * bet;
printf("You Win! Result = \"%c %c %c\" Total Cash = $%d\n", C[0], C[1], C[2], cash);
}
else
{
cash -= bet;
printf("You Lose! Result = \"%c %c %c\" Total Cash = $%d\n", C[0], C[1], C[2], cash);
}
}
int main()
{
int bet;
printf("Welcome to the Virtual Casino\n");
printf("Total cash = $%d\n", cash);
while (cash > 0)
{
printf("What is your bet? $");
if (scanf("%d", &bet) != 1 || bet < 0 || bet > cash)
{
printf("Invalid bet. Please enter a non-negative integer less than or equal to your cash.\n");
continue; // 如果投注无效,继续下一次循环
}
Play(bet);
printf("\n***************************************************\n");
}
printf("Game Over. You are out of cash.\n");
return 0;
}
在上述小游戏中,我使用了if语句和continue来保证程序的运行,你也来试试吧
祝您玩的开心,早日成为编程大牛