用C语言写一个扑克牌随机产生器 按一下空格键 生成一个

 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h> // 注意:conio.h 是特定于某些编译器(如Turbo C++)的,不是标准C库的一部分

// 声明printCard函数,用于打印一张扑克牌
void printCard() {
// 随机生成花色
int color = rand() % 4; // 生成0到3之间的随机数
switch (color) {
case 0:
printf("黑桃");
break;
case 1:
printf("红心");
break;
case 2:
printf("梅花");
break;
case 3:
printf("方片");
break;
}
// 随机生成牌面数字
int suitNumber = rand() % 13 + 1; // 生成1到13之间的随机数
printf("%d\t", suitNumber); // 打印牌面数字并制表符对齐
}

int main() {
srand(time(NULL)); // 使用当前时间作为随机数种子初始化随机数生成器
char ch;
printf("Press the spacebar to print a card.\n"); // 提示用户按下空格键打印一张牌
while (1) { // 无限循环,直到用户按下空格键
if (_kbhit()) { // 检查是否有按键被按下(_kbhit() 是特定于某些编译器的函数)
ch = _getch(); // 读取按键,但不显示在屏幕上(_getch() 也是特定于某些编译器的函数)
if (ch == ' ') { // 如果是空格键
printCard(); // 调用printCard函数打印一张扑克牌
// 如果取消注释下面的break语句,程序将在打印一张牌后退出循环
// break; // 退出循环
}
}
}
return 0; // 程序正常退出返回0
}

程序运行结果将不断地在控制台上打印出随机的扑克牌,直到用户按下空格键。每次按下空格键,printCard 函数都会被调用,生成一张新的扑克牌(花色和数字都是随机的)并打印出来。由于程序中的 while(1) 循环没有被 break 语句打断,因此程序将无限循环直到用户手动终止程序。

注意:_kbhit() 和 _getch() 函数是特定于某些编译器(如Turbo C++)的,并不是标准C库的一部分。在标准C库或POSIX兼容系统中,你可能需要使用其他方法来检测按键或读取字符,例如使用 ncurses 库或者调用终端特定的系统调用。

如果你使用的是标准C库或类似的环境,并且希望实现类似的功能,你可能需要查找特定平台或环境的文档来了解如何检测按键和读取输入。在某些环境中,你可能需要依赖外部库(如ncurses)来实现这样的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天若有情673

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值