⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snowwhite .cpp

📁 Snowwhite非常害怕的在森林里徘徊
💻 CPP
📖 第 1 页 / 共 2 页
字号:
void initworkshort()
{
	shortwork.searchgold=0;
	shortwork.searchsilver=0;
}

//**********初始化公主工作********//
void initworksnow()
{
	whitework.housing=0;
	whitework.mendclothes=0;
	whitework.mendline=0;
	whitework.rice=0;
	whitework.wash=0;
}

//************初始化财产函数*******//
void initfortune()
{
	fortune.glod=0;
	fortune.silver=0;
	fortune.diamond =0;
}

//******初始化矮人状态************//
void initshortcondition()
{
	shortcondition.work='N';
	shortcondition.Return ='Y';
}

//************选择函数1***********//
void choose1()
{	
	printf("             press Y or N ");
	switch(getchar())  //选择//
	{
	case 'Y':
	case 'y':
		  {
				printf("             请输入名字 ");
				scanf("%s",snowwhite.name);
				printf("             已存储名字\n");
				printf("             名字为        **** ‘%s’ ****\n",snowwhite.name);
		  }break;
	case 'N':
	case 'n': printf("             系统取名为 **** ‘snowwhite’ ****\n");break;
	default : {
		getchar();
		choose1();
			  }
	}
}

//**************开始游戏函数********//
void startplay()
{		
		char d;
		printf("\n\n             %s非常害怕的在森林里徘徊,寻找出去的路。突然碰见了野兽,有三条途径.\n             一 “逃跑” press A.\n             二 “向野兽倾诉” press B.\n             三 “向野兽进攻” press C.\n",snowwhite.name);	
		printf("             请选择  ");//********进行选择*********//
		d=getchar();
		while(d!='a' && d!='b'&& d!='c'&& d!='A' && d!='B' && d!='C')	
		{
			printf("            请输入 A or B or C  ");
			d=getchar();
			d=getchar();
		}
		switch(d)
		{
		case 'A':
		case 'a':{
			printf("\n            成功逃跑  不过损伤20生命值\n");
			getchar();
			getchar();
			snowwhite.healthy-=20;
		}break;
		case 'B':
		case 'b':{
			printf("\n            野兽被感动 没伤害她\n");
			getchar();
			getchar();
		}break;
		case 'C':
		case 'c':{
			snowwhite.healthy=0;
			printf("\n            %s被野兽杀死 生命值为0。游戏结束!!!\n",snowwhite.name);
			printf("\n            要重新开始吗?  press Y   结束游戏 press N  "); 
			printf("\n            请选择  ");
			getchar();
			newplayagain();
			}break;
		}
		snowwhite.healthy-=50;
		printf("\n\n             %s又翻过了七座山,跨过了七座桥,不过她的生命值又损失了50,现在只有%2d生命值\n",snowwhite.name,snowwhite.healthy);
		
		if(snowwhite.healthy<=30)
		{
			printf("\n            公主生命值低于等于30!!!!\n");
			printf("            公主生命值低于等于30!!!!\n");
		}
		printf("            press Enter to continue ");
		while(getchar()!='\n')
		{
			printf("        press Enter to continue ");
			getchar();
		}
		printf("\n\n                   天黑时,她终于来到一间小房子前。于是她来到了七个小矮人的家里,他们听了Snowwhite的故事后非常同情她,说:“如果你愿意为我们收拾房子、做饭、洗衣服、纺线、缝补衣裳,你可以留在这儿,我们会尽心照料你的。”\n");
		printf("            press Enter to continue ");
		getchar();
		printf("               %s很乐意地说:“我非常愿意。”\n",snowwhite.name);
		snowwhite.healthy=100;
		printf("             press Enter to continue ");
		getchar();
		printf("\n             由于七个小矮人的帮助,公主的生命值100已满\n             press Enter to continue ");
		while(getchar()!='\n')
		{
			printf("               press Enter to continue ");
			getchar();
		}
		printplaywork();
}

//*****************游戏工作函数*********************//
void printplaywork()
{	
	system("cls");
	printf("\n主菜单(M)\t        %s工作(W)\t\n小矮人寻找矿石(S)\t小矮人工作回来(R)\n查看%s信息(A)\t查看%s工作量(B)\t 查看矮人工作量(C)  查看财产(D)\n",snowwhite.name,snowwhite.name,snowwhite.name);	
	choose2();
}

//********选择工作及各种信息函数*****************//
void choose2()
{
	switch(getchar())
	{
		case 'm':
		case 'M':{
			getchar();
			printmainmenu();
				 }break;
		case 'w':
		case 'W': worksnow();break;
		case 's':
		case 'S': workshort();break;
		case 'a':
		case 'A': printsnowwhite();break;
		case 'b': 
		case 'B': printsnowwork();break;
		case 'c':
		case 'C': printshortwork();break;
		case 'd':
		case 'D': printfortune();break;
		case 'r':
		case 'R': shortreturnwork();break;
		default : {
			printf("           请选择正确的安钮!!     \n");
			getchar();
			printplaywork();
				  }
	}

}

//************打印公主信息*********// 
void printsnowwhite()  
{
	printf("\n             名字 %10s       年龄 %2d       属性   %5s(公主)\n             生命值 %4d     性别 %3c(M为男 F为女)    婚否 %5s\n             性格 %20s\n\n",snowwhite.name,snowwhite.age,snowwhite.attribute,snowwhite.healthy,snowwhite.sex,snowwhite.marriage,snowwhite.character); 
	printf("             press  Enter to return ");
	getchar();
	getchar();
	printplaywork();
}

//**************打印公主工作量***************//
void printsnowwork()
{
	printf("\n             收拾%2d次房子  做%2d次饭  洗%2d次衣服  纺%2d次线   缝补%3d次衣裳\n\n",whitework.housing,whitework.rice,whitework.wash,whitework.mendline,whitework.mendclothes);
	printf("             press  Enter to return ");
	getchar();
	getchar();
	printplaywork();
}

 //***********打印矮人工作量**************//
void printshortwork()
{
	printf("\n             寻找%2d次金子      寻找%2d次银子       寻找%2d次钻石\n\n",shortwork.searchgold,shortwork.searchsilver,shortwork.searchdiamond );
	printf("             press  Enter to return ");
	getchar();
	getchar();
	printplaywork();
}

//***************打印财产***********//
void printfortune()
{
	printf("\n             财产: 金子 %2d    银子 %2d   钻石 %2d\n\n",fortune.glod ,fortune.silver,fortune.diamond  );
	printf("             press  Enter to return ");
	getchar();
	getchar();
	printplaywork();
}

//**************白雪公主工作*********//
void worksnow()
{	
	system("cls");
	time_t t;
	int temp;                     //***定义随机变量***///
	srand((unsigned) time(&t));   //******不同的时间,来获取不同的随机数字******//
	temp=rand()%100; 
	printf("\n收拾房子(H)\t做饭(R)\t     洗衣服(W)\t\n纺线(L)\t        缝补衣裳(C)\t返回(B)\n");
	getchar();
	switch(getchar())
	{
	case 'h':
	case 'H':{
		printf("            房间有点脏,我应该打扫一下\n");
		printf("            press anykey to Continue ");
		getchar();
		getchar();
		whitework.housing ++;
		if(temp % 3==1)printf("            房间有点干净了\n");
		if(temp % 3==2)printf("            房间很干净了\n");
        if(temp % 3==0)printf("            房间一尘不染,矮人们会非常高兴\n");
			 }break;
	case 'r':
	case 'R':{
		printf("            作饭喽!作饭喽!\n");
		printf("            press anykey to Continue ");
		getchar();
		getchar();
		whitework.rice ++;
		if(temp % 2==1)printf("            你已解决8个人的温饱问题.\n");
		if(temp % 2==0)printf("            奔向小康喽!  Year!\n");
			 }break;
	case 'w':
	case 'W':{
		printf("            又要洗衣服了! 好烦啊!!!\n");
		printf("            press anykey to Continue ");
		getchar();
		getchar();
		whitework.wash ++;
		if(temp % 2==1)printf("            累坏本美女了.\n");
		if(temp % 2==0)printf("            累死了!!累死了!!\n");
	}break;
	case 'l':
	case 'L':{
		printf("              哦!该学习纺线了!\n");
		printf("            press anykey to Continue ");
		getchar();
		getchar();
		whitework.mendline ++;
		if(whitework.mendline < 4)printf("              哦! 还是不怎么会纺线\n");
		else printf("           哇!我终于学会纺线喽!!\n");
			 }	break;
	case 'c':
	case 'C':{
		printf("             恩!应该学习如何缝补衣裳.\n");
		printf("             press anykey to Continue ");
		getchar();
		getchar();
		whitework.mendclothes ++;
		if(whitework.mendline < 4)printf("              好难啊! 应该多多学习啊!!\n");
		else printf("           哇!我会了!我终于学会缝补衣裳喽!!\n");
			 }break;
	case 'b':
	case 'B':{
			getchar();
			printplaywork();
		}break;

	default:{
		printf("                请输入正确的字符!!\n");
		getchar();
		worksnow();
			}
	}
	printf("            press anykey to Continue ");
	getchar();
	choose3();
}
	
//**************矮人工作*********//
void workshort()
{	
	if(shortcondition.work =='Y'){
		printf("           你也太狠了吧,矮人门还在工作啊!! 还没回来!\n");
		printf("           press Enter to Continue ");
		getchar();
		getchar();
		printplaywork();
	}
	else{
		shortcondition.work = 'Y';
		shortcondition.Return = 'N';
		shortwork.searchgold ++;
		shortwork.searchsilver ++;
		shortwork.searchdiamond ++;
		printf("           帅哥们去寻找宝贝喽!!有机会找到钻石给%s公主哦!!给她做首饰!!\n",snowwhite.name );
		printf("           press Enter to Continue ");
		getchar();
		getchar();
		printf("\n           %s站在门口说‘路上小心!早点回来喽!本美女给你们做好吃的白米饭’\n",snowwhite.name );
	}
	printf("           press anykey to return ");
	getchar();
	printplaywork();
}

//*********矮人工作回来*********//
void shortreturnwork()
{	
	if(shortcondition.Return  =='Y'){
		printf("           矮人们正在家中休息!!\n           矮人们正在家中休息!!\n");
		printf("           press anykey to return ");
		getchar();
		getchar();
		printplaywork();
	}
	else{
		time_t t;      //*****定义时间变量*************//
		int j;
		srand((unsigned) time(&t));  //*******获取不同的时间*********//
		j=rand()%100; 
		if(j%17==0)fortune.diamond ++;               //随机产生一个数,判断是否找到钻石//
		fortune.glod ++;
		fortune.silver +=2;
		shortcondition.work = 'N';
		shortcondition.Return = 'Y';
		printf("\n          七个小矮人排着队回来了. %s在门口等着他们\n",snowwhite.name );
		printf("           press Enter to Continue ");
		getchar();
		printf("\n          他们带来了一颗金子和二颗银子\n");
		printf("           press Enter to Continue ");
		getchar();
		if(j%17==0)printf("\n           OH!! MY GOD!! DIAMOND!!\n            钻石!小矮人终于找到钻石了!!%s兴奋的一一亲吻七个小矮人!%c%c%c%c%c%c%c!\n",snowwhite.name,3,3,3,3,3,3,3);//暴了钻石//
		else printf("\n            可惜没暴钻石啊!下次努力啊%c %c!!\n",2,2);//没暴钻石//
	}
	printf("           press anykey to return ");
	getchar();
	printplaywork();
}

//************选择函数3 用于公主返回或继续工作*********//
void choose3()
{
	printf("            继续干活 preass Y 返回  press N  ");
	switch(getchar())//****选择****//
	{
	case 'y':
	case 'Y':{
		worksnow();
			 }break;
	case 'n':
	case 'N':{
			getchar();
			printplaywork();
			 }break;
	default :{
		printf("		  请输入正确的字符!! \n");
		choose3();
			 }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -