📄 2.cpp
字号:
// 1.cpp : Defines the entry point for the console application.
//
#include<stdio.h>
#include<process.h>
int A,i,e,N; /* A 是苹果的剩余数量
I 是每次用户吃的数量
E 是每次电脑吃的数量
N 是选择的级别
*/
void computer1() /*电脑吃的菜鸟级方法*/
{
void replay();
void people();
if(A==1)
printf("我要吃%d个苹果\n",e=1);
else if(A==2)
{
printf("我要吃%d个苹果\n",e=2);
}
else
{
printf("我要吃%d个苹果\n",e=1);
}
A=A-e;
if(A==0)
{
printf("**************************************\n");
printf("谢了啊!忘了告诉你,被我赢是你的荣幸 ~_~\n");
replay();
}
else
people();
}
void computer2() /*电脑吃的普通级方法*/
{
int b=1,c=1,d=2,f,g;
void replay();
void people();
e=A;
while((e!=0)&&(e!=1))
{
f=e;
while(f>=d)
{
b=c;
c=d;
d=b+c;
}
e=f-c;
g=c;
b=c=1;
d=2;
}
if(e==1)
printf("我要吃%d个苹果\n",e);
else if(e==0&&g<=2*i)
{
e=g;
printf("我要吃%d个苹果\n",e);
}
else
{
printf("我要吃%d个苹果\n",e=1);
}
A=A-e;
if(A==0)
{
printf("**************************************\n");
printf("谢了啊!忘了告诉你,被我赢是你的荣幸 ~_~\n");
replay();
}
else
people();
}
void computer3() /*电脑吃的骨灰级方法*/
{
int b=1,c=1,d=2,f,g;
void replay();
void people();
e=A;
while((e!=0)&&(e!=1))
{
f=e;
while(f>=d)
{
b=c;
c=d;
d=b+c;
}
e=f-c;
g=c;
if(g<=2*i&&e<f/3)
{
printf("我要吃%d个苹果\n",e);
A=A-e;
}
}
if(A==0)
{
printf("**************************************\n");
printf("谢了啊!忘了告诉你,被我赢是你的荣幸 ~_~\n");
replay();
}
else
people();
}
void first_com() /*由电脑吃第一次*/
{
void people();
printf("**************************************\n");
if(A>=4&&A<=19)
{
printf("我先吃一个苹果吧\n");
A=A-1;
e=1;
}
if(A>=20&&A<=99)
{
printf("我先吃五个苹果吧\n");
A=A-5;
e=5;
}
if(A>=100)
{
printf("我先吃二十个苹果吧\n");
A=A-20;
e=20;
}
people();
}
void first_people() /*由用户吃第一次*/
{
void computer1();
void computer2();
printf("**************************************\n");
printf("你要吃几个苹果,请输入:\n");
scanf("%d",&i);
while(i<=0||i>=A)
{
printf("输入错误,请重新输入:\n");
scanf("%d",&i);
}
printf("电脑:你吃了%d,现剩下%d个,",i,A-i);
A=A-i;
if(N==1)
computer1();
else
computer2();
}
void people() /*由用户选择吃*/
{
void computer1();
void computer2();
void computer3();
void replay();
printf("**************************************\n");
printf("你要吃几个苹果,请输入:\n");
scanf("%d",&i);
while(i<=0||i>2*e||i>A)
{
printf("输入错误,请重新输入:\n");
scanf("%d",&i);
}
printf("电脑:你吃了%d,现剩下%d个,",i,A-i);
A=A-i;
if(A==0)
{
printf("**************************************\n");
printf("^_^:哇!好强啊,帅哥!有机会教教我吧\n");
replay();
}
else
{
if(N==1)
computer1();
if(N==3)
computer3();
else
computer2();
}
}
void replay() /*重新玩的返回菜单*/
{
int j,k;
char l;
printf("!!welcome BACK to The Eating Apples Game!!\n");
printf("是否要继续,如果是,请输入:Y \n");
scanf("%s",&l);
if(l=='Y'||l=='y')
{
printf("**************************************\n");
printf("Hello! 请输入一个你喜欢的正整数:\n");
scanf("%d",&A);
while(A<=3)
{
printf("输入错误,请重新输入:\n");
scanf("%d",&A);
}
printf("请选择难易程度:\n");
printf("1菜鸟级\n");
printf("2普通级\n");
printf("3骨灰级\n");
printf("0无聊,不玩了\n");
scanf("%d",&j);
if(j==1)
{
printf("**************************************\n");
N=1;
first_people();
}
else if(j==2)
{
printf("电脑: 谁先呢?\n");
printf("1本人先行\n");
printf("2让电脑先行\n");
scanf("%d",&k);
if(k==1)
first_people();
if(k==2)
first_com();
}
else if(j==3)
{
printf("电脑: 够哥们,我先来!\n");
first_com();
N=3;
}
else
exit(0);
}
else
exit(0);
}
void say() /*介绍游戏规则的说明*/
{
printf("****************首先请看游戏规则:***************\n");
printf("1双方轮流吃苹果\n");
printf("2第一次只可吃 1---总苹果数目-1 之间\n");
printf("3之后只能吃是 1---上一次对方吃苹果数目的两倍 之间\n");
printf("4吃得最后一个苹果为赢\n");
}
void main( ) /*主函数,由用户输入用户名,数量及先后*/
{
int j;
char a[20];
void say();
printf("!!welcome to The Eating Apples Game!!\n");
printf("Your name:\n");
scanf("%s",&a);
loop: printf("**************************************\n");
printf("Hello,%s! 请输入一个你喜欢的正整数:\n",a);
scanf("%d",&A);
while(A<=1)
{
printf("输入错误,请重新输入:\n");
scanf("%d",&A);
getchar();
}
printf("请选择由谁先吃苹果\n");
printf("1本人先行\n");
printf("2让电脑先行\n");
printf("0无聊,不玩了\n");
scanf("%d",&j);
if((A==2||A==3)&&j==1)
{
printf("**************************************\n");
printf("你个可爱的笨猪,选个大点的数吧!\n");
goto loop;
}
if((A==2||A==3)&&j==2)
{
printf("**************************************\n");
printf("聪明猪,算你狠!再来.....\n");
goto loop;
}
if(j==1)
{
printf("**************************************\n");
printf("电脑: 你够饿的了,算我让你吧!\n");
printf("\n");
say();
first_people();
}
else if(j==2)
{
printf("电脑: 够哥们,我先来!\n");
say();
first_people();
}
else exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -