📄 snowwhite .cpp
字号:
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 + -