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

📄 4.txt

📁 取苹果 只是简单的游戏 没有用到富格纳斯数
💻 TXT
字号:
/*游戏说明: 取苹果,玩家一次最多只能取走(N-1)个苹果,谁拿到最后一个苹果,他就赢了*/
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

 

 show_menu()                  /*显示画面菜单*/
{
printf( "*===================*\n"  );
printf( "*     取苹果游戏    *\n"  );
printf( "*    1. 游戏开始    *\n"  );
printf( "*    2. 退出游戏    *\n"  );
printf( "*===================*\n\n");
printf("  请选择按键 [1.2]: \n "  );
 }
 
 
 
 
youxi()
{
   int num1,num2,n,m;
   int N;
   int A;
   int flag=0;
   

     printf("\n请输入总共有多少苹果: ");
    scanf("%d",&N);
   n=N;

   printf("\n请选择游戏顺序[1玩家,2电脑]: ");
    scanf("%d",&A);
   
  
   
   switch(A)  {
   case 1:
        printf("\n玩家输入要取的苹果数[1--%d]:\n ",N-1);      /*1....N-1  */
        scanf("%d",&num1);
 
        while(!(num1>=1&&num1<=N-1))
           {  
     printf("\n输入有误,请重新输入1--%d:\n",N-1);
     getchar();
              scanf("%d",&num1);}
              n=N-num1;
              printf("剩于苹果%d:\n",n) ;
     flag=2;
        while(n>0)
          {
              if(n<2*num1)
             { num2=1+(rand()%(n));
               printf("\n电脑取得的苹果数: %d\n",num2);
               n=n-num2; }
              else
              {num2=1+(rand()%(2*num1));
              printf("\n电脑取得的苹果数: %d\n",num2);
              n=n-num2;}
              printf("剩于苹果%d:\n",n);
              flag=1;
              if(n>0)
                {  if(n<2*num2)
                {printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",n);
          scanf("%d",&num1);}
               else
               {  printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",2*num2);
          scanf("%d",&num1); }
       
                   while(!(num1<=2*num2&&num1>=1))
                   {  
        printf("\n输入有误,请重新输入1--%d:\n",N-1);
        getchar();
                       scanf("%d",&num1);
        
       
       }  
                   n=n-num1;
                   printf("剩于苹果%d:\n",n) ;
                   flag=2;
                 }
  }
  break;
   
   case 2:
   
  printf("\n由电脑先取苹果\n");
        num2=1+(rand()%N);
        printf("\n电脑取得的苹果数是: %d\n",num2);
        n=N-num2;
        printf("剩于苹果%d:\n",n) ;
  flag=1;
        while(n>0)
  {   if(n<2*num2)
                {printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",n);
          scanf("%d",&num1);}
               else
               {  printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",2*num2);
          scanf("%d",&num1); }
              while(num1>2*num2||num1<=0)
                   {

               printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",2*num2);
          scanf("%d",&num1);
          }
          n=n-num1;
         printf("剩于苹果%d:\n",n) ;
          flag=2;
              if(n>0)
     {
                   if(n<2*num1)
             { num2=1+(rand()%(n));
               printf("\n电脑取得的苹果数: %d\n",num2);
               n=n-num2;}
              else
              {
              num2=1+(rand()%(2*num1));
                   printf("\n电脑取得的苹果数是: %d\n",num2);
                   n=n-num2;}
                 printf("剩于苹果%d:\n",n) ;
                   flag=1;
                 }
  }
       break;
  
   
   }
 m=flag;
 if(m==1) printf("\n\n电脑胜\n");
 else if(m==2) printf("\n\n玩家胜\n");   /*根据flag判断谁胜利 */

      
}
   
   
   
   
int main()
{
   while(1)
{
   int choice;
   char ch;

   show_menu();
   scanf("%d",&choice);
switch(choice)
{
   case 1:
   
   youxi();
   break;

case 2:
   return 0 ;
   break ;
default:
   
   getchar();
   break;
   
}
}
}

⌨️ 快捷键说明

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