C语言之猜数字游戏

欢迎来玩?一个收缩动态的文字效果
欢迎来玩?一个收缩动态的文字效果
我们输入账号密码,程序设置的账号名为tom,密码为12345
我们输入账号密码,程序设置的账号名为tom,密码为12345
三次输入错误的情况会提示用户5秒后再试,之后等待五秒,,,
三次输入错误的情况会提示用户5秒后再试,之后等待五秒,,,
登陆成功,进入菜单页面,选择进入游戏或退出游戏
登陆成功,进入菜单页面,选择进入游戏或退出游戏
进入猜数字游戏:
进入猜数字游戏
程序如下:
主函数main.c:

	#include <stdio.h>
#include <windows.h>
#include "game.h"

#pragma warning(disable:4996)

void menu() 
{ 
	printf("**********************************\n");    
	printf("***********  1.play     **********\n");    
	printf("***********  2.exit     **********\n");    
	printf("**********************************\n"); 
}


int main() 
{ 
	active();
	show();
	load();

	int quit = 0;
	int select = 0;
	while (!quit){
		menu();
		scanf("%d", &select);
		switch (select){
		case 1:
			game();
			break;
		case 2:
			quit = 1;
			break;
		default:
			printf("你输入的选择有误。。");
			break;
		}
	}
	/*system("pause");
	return 0;*/
}

下面是猜数字游戏的主逻辑与功能代码块;
也就是我们的源文件game.c:

#include "game.h"


void game() 
{

	srand((unsigned int)time(NULL));

	int r = rand()%100+1;

	int data = 0;
	for (;;){
		printf("你猜#");
		scanf("%d", &data);
		if (r == data){
			printf("恭喜你猜对了!\n");
				break;
		}
		else if (r<data)
				{ 
					printf("猜大了\n"); 
				}
				else        
				{ 
					printf("猜小了\n"); 
				}
	}
}

#define Name "tom"
#define Passwd "12345"
void load(){
	char name[64];
	char passwd[64];

	int times = 3;

	while (times){
		printf("请输入账号# ");
		scanf("%s", name);
		printf("请输入密码# ");
		scanf("%s", passwd);
		if (strcmp(name, Name) == 0 && strcmp(passwd, Passwd) == 0){
			break;
		}
		else{
			printf("不好意思,登陆失败!\n");
			times--;
			printf("你还有%d次机会!\n", times);
			if (times == 0){
				printf("机会用完,请%d秒后再试\n", 5);
				//num1();
				Sleep(5000);
				times = 3;
			}
		}
	}
	if (times > 0){
		printf("恭喜,登陆成功!\n");
	}
} 

void show(){
	char str[] = "welcome to the game!";
	char lable[] = "                    ";
	int left = 0;
	int right = strlen(str) - 1;
	for (;left<=right;left++,right--){
		lable[left] = str[left];
		lable[right] = str[right];
		printf("%s\r", lable);
		Sleep(200);
	}
	printf("\n");
}

void active(){
	char lable[]={ '|', '/', '-', '\\' };
	int num = sizeof(lable) / sizeof(lable[0]);

	int i = 0;
	while (i!=3){
		printf("%c\r", lable[i]);
		i++;
		i %= num;
		Sleep(100);
	}
}

void num1(){
	int count = 5;
	while (count >= 0);
	printf("%d\r", count);
	count--;
	Sleep(1000);
}

当然,应包含一个头文件game.h;


```c
#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>

#pragma warning (disable:4996)

void game();
----------------------分割线-----------------------
说两句:
多有不足。
未来努力。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值