小白第一次做小游戏的趣事(内含源代码,最后有惊喜)

目录:        1猜数小游戏                      2.恶搞关机小程序                         3.“变相”的字符串

一.猜数小游戏(有点东西哈哈,详解)     

1基本格式

//(头文件区)
#define _CRT_SECURE_NO_WARNINGS 1   //(引用,scanf)
#include<stdio.h>    //头文件用于printf,scanf
#include<stdlib.h>   //用于随机数生成srand的头文件
#include<windows.h>  //头文件Sleep延迟效果
#include<string。h>  //头文件用于比较两个字符串是否相等
#include<time.h>     //用于引用时间time(NULL)
//(主函数)
int main()
{srand((unsigned int)time(NULL));//先跳过理解这个,先看4的自定义函数再回来看这个

return 0;
}

补充:srand(number)是系统自动生成随机数,但是随机数会根据number的变化而变化如果number不变化那出现的随机值就会不变化。所以为了避免这种情况而且我们又不用再输入数字,那就让time来充当变化的毕竟时间总是变的     ( srand((unsigned int)time(NULL));这个的位置问题可以放在主函数里面也可以放在自定义函数的l:上面    但是不能放在循环里面,不然会一直变化猜中的可能性,,,额还不如买彩票来的好,也不能放到l:下面不然这个值会一直不变)

time()是时间,里面加入NULL是空的意思,而(unsigned int)是强制转化为unsigned int,未定义整形(因为编译器会出现警告,这样做就没有警告了更安全)

   思路:1既然是小游戏那么一定有菜单so:(主函数内)

	printf("********************\n");
	printf("****** 1.play  *****\n");
	printf("****** 0.goout *****\n");
	printf("********************\n");

2有菜单,所以要有输入选择提示和输入函数so:(主函数内)

int choose=0;
printf("请输入选择:>");
p:
	scanf("%d", &choose);

3接下来做出判断:(主函数内)


switch (choose)
		{
		case 1:
			printf("take new game\n");
			game();//这个是选择玩游戏运行游戏,但是游戏部分写在这太多不美观(个人感觉)所以放到一个自定义函数去
			break;
		case 0:
			printf("Drop out of a game");
			break;//退出
		default:
			printf("error transmit\nchoose again:>");
			goto p;//这个是跳转,跳转到输入前再次选择
		}

补充:goto语句(跳转使用,但是要在同一个函数中才可以

4接下来就是完成小游戏部分(自定义函数部分)(比较闹心点)

void game()
{
l://跳转到这
	printf("Guess:>");
	char arrt[10] = { 0 };
	int c = 0;
	int b = rand() % 100 + 1;
//这是在生成随机数再取余100得出的必定是0到99,但我们要的是到1-100所以加一,
并且前面需要先存在随机数这才能使用
,在主函数里面写srand,在头文件里面写#include<stdlib.h>。
	while (scanf("%d", &c) != EOF)//condition这是可以输入多次数字判断非数字就会停止。
	{
		if (c > b)
			(printf("There's more input than there really is\n"));
		else if (c < b)
			(printf("Input is less than it really is\n"));
		else
		{
			(printf("Congratulations,you are the winner\n"));
//以下内容是你猜对后,再让你选择是否继续。
			Sleep(1000);
//sleep这是延迟函数单位是毫秒前面要引用#include <windows.h>
			(printf("Do you want continue?(yes/no):>"));
			scanf("%s", arrt);
			if (strcmp(arrt, "yes") == 0)
//strcmp这是判断字符串是否相等,用这个前面头文件要加上#include<string.h>
			{
				goto l;//选择想玩就跳转到猜数部分再猜数跳转去那
			}
			else
			{
				printf("Game over!"); break;//不玩了就结束
			}
		}
	}
}

补充:strcmp(arrt, "yes")是判断两个字符串是否相等如果相等则结果为零,前大>0,0后大<0

二.恶搞关机小程序(整蛊专用)

int main()
{
	char arr[30] = { 0 };
	system("shutdown  -s  -t 30");
	while (1)
	{
		printf("请输入'我是猪'我会取消关机否则直接关机");
			scanf("%s", arr);
			if (strcmp(arr, "我是猪")==0);
			{printf("好听话呀,我这就取消关机");
			system("shutdown -a");
			break;
			}
	}
	return 0;
}

补充:system含义(6条消息) C语言的system()函数详解_June·D的博客-CSDN博客_system函s

-s 代表执行关机指令, -t 30代表执行前一条指令的时间30秒    -a代表的是取消关机

当然还可以这么玩,杀人诛心吗哈哈哈

int main()
{
	char arr[30] = { 0 };
	system("shutdown  -s  -t 30");
	while (1)
	{
		printf("请输入'我是猪'我会取消关机否则直接关机");
			scanf("%s", arr);
			if (strcmp(arr, "我是猪")==0);
			{printf("好听话呀,我这就取消关机,等一下");
			Sleep(10000);
             printf("取消关机关机?宝贝不存在的!哈啊哈哈哈") 
			break;
			}
	}
	return 0;
}

三.“变相”的字符串

int main()//变化的字符串
{
	char arr[] = "hi,friends";
	char arr2[] = "**********";
	int lift = 0;
	int right = strlen(arr)-1;
	for (lift = 0; lift < right; lift++, right--)
	{
		arr2[lift] = arr[lift];
		arr2[right] = arr[right];
		printf("%s\n", arr2);
		Sleep(100);//减速头文件window.h
 //若选用system("cls")//则认定为运行一次完后再销毁。
}
	return 0;
}

注意两个数组必须一样大才可以。  这个操作可以拓展到打♥型上,(懂得都懂哈哈哈)

源代码在这里(惊喜也是这):xiaoyouxi.cpp · 墨染/学习一下 - 码云 - 开源中国 (gitee.com)

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值