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

📄 2.cpp

📁 人机轮流取苹果游戏。电脑严格按照要求
💻 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 + -