C语言小游戏--猜牌

相信不少朋友都对“斗地主”这一个游戏不陌生

今天的主角是 'J' 'Q' 'K' 也就是Jack Queen King

下面是游戏的要求:

  1. 游戏初始化:玩家开始时有100美元的现金。

  2. 下注:玩家在每轮游戏中需要输入他们愿意下的赌注。赌注必须是非负整数,并且不能超过玩家当前的现金。

  3. 洗牌:游戏有三张牌,分别是 'J'(Joker)、'Q'(Queen)、'K'(King)。游戏开始时,这三张牌被“洗牌”,即随机打乱顺序。

  4. 玩家猜测:玩家需要猜测哪张牌是 Queen(皇后)。玩家只能选择1、2或3的位置。

  5. 判断胜负:如果玩家猜对了 Queen 的位置,他们将赢得相当于他们赌注三倍的现金。如果猜错,他们将失去他们的赌注。

  6. 游戏结束:如果玩家的现金为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来保证程序的运行,你也来试试吧

祝您玩的开心,早日成为编程大牛

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值