Chinaunix首页 | 论坛 | 博客
  • 博客访问: 567786
  • 博文数量: 99
  • 博客积分: 3976
  • 博客等级: 中校
  • 技术积分: 1041
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-15 15:48
文章分类
文章存档

2009年(1)

2008年(5)

2007年(31)

2006年(58)

2005年(4)

分类: C/C++

2006-05-11 12:08:45

该游戏在附件里
  • 123 0 456
    目的:将上面的数字最终转换成456 0 123,123
    前提:只能向右走,456只能向做走,0的位置只有一个,
  • 例如:
    120 3 456
    102 3 456.
    每个数字不能连续跳两个数字,
    例如:
    123 5 406
    如下是错误的:
    123 6 540
    不能连续条过两个数!

  • 代码如下(本人写的比较垃圾,需要慢慢的学习):
    /*
    Program Name:frog example
    Writter: 1jjk
    Email:
    Blog: http://1jjk.cublog.cn
    */
    #include
    void errormsg(void);
    void iszero(void);
  • /*从这里开始*/
    int
    main()
    {
     int a=1,b=2,c=3,d=0,e=4,f=5,g=6,i=0,j;
     char ch;
     printf("If you want exit the game,you can click you keyboard \"q\"\n");
     printf("%d   %d   %d   %d   %d   %d   %d\t\t",a,b,c,d,e,f,g);
     while((ch=getchar())!='q')
     {
        if(ch!=13)
  •   switch(ch)
      {
       case '1':
        i++;
        if(a==1)
        {
         if(b==0&&c!=0)
         {
          j=a;
          a=b;
          b=j;
         /* change(a,b); */
          
         }
         else if(b!=0&&c==0)
         {
          j=a;
          a=c;
          c=j;
       
       /*   change(a,c); */
         }
         else
         {
          errormsg();
         }
        } 
        else if(a==0)
        {
         iszero();
        }
        printf("\n%d   %d   %d   %d   %d   %d   %d\t\tthe location is:\n1   2   3   4   5   6   7", a,b,c,d,e,f,g);
       printf("\t\tplease input the location(1 to 7):");
       break;
       case '2':
        i++;
        if(b==1)
        {
         if(c==0&&d!=0)
         {
          j=b;
          b=c;
          c=j;
         /* change(b,c); */
         }
         else if(c!=0&&d==0)
         {
          j=b;
          b=d;
          d=j;
          /* change(b,d); */
         }
         else
         {
          errormsg();
         }
        }
        else if(b==2)
        {
         if(c==0&&d!=0)
          {
          j=b;
          b=c;
          c=j;
                  /* change(b,c); */
          }
          else if(c!=0&&d==0)
          {
          j=b;
          b=d;
          d=j;
                  /* change(b,d); */
          }
          else
          {
                  errormsg();
          }
        }
        else if(b==0)
        {
         iszero();
        }
        else if(b==4)
        {
         if(a==0)
         {
          j=b;
          b=a;
          a=j;
          /* change(b,a); */
         }
         if(a!=0)
         {
          errormsg();
         }
        }
        printf("\n%d   %d   %d   %d   %d   %d   %d\t\tthe location is:\n1   2   3   4   5   6   7", a,b,c,d,e,f,g);
       printf("\t\tplease input the location(1 to 7):");
       break;
       case '3':
        i++;
        if(c==1)
        {
         if(d==0&&e!=0)
         {
          j=c;
          c=d;
          d=j;
          /* change(c,d); */
         }
         else if(d!=0&&e==0)
         {
          j=c;
          c=e;
          e=j;
         /* change(c,e);  */
         }
         else
         {
          errormsg();
         }
        }
        else if(c==2)
        {
         if(d==0&&e!=0)
          {
          j=c;
          c=d;
          d=j;
                  /* change(c,d); */
          }
          else if(d!=0&&e==0)
          {
          j=c;
                  c=e;
                  e=j;
           /*        change(c,e);  */
          }
          else
          {
                  errormsg();
          }
        }
        else if(c==3)
                                    {
          if(d==0&&e!=0)
          {
                  j=c;
                  c=d;
                  d=j;
                  /* change(c,d); */
          }
          else if(d!=0&&e==0)
          {
                  j=c;
                  c=e;
                  e=j;
           /*        change(c,e);  */
          }
          else
          {
                  errormsg();
          }
                                    }
        else if(c==4)
        {
         if(b==0&&a!=0)
         {
          j=c;
          c=b;
          b=j;
          /* change(c,b); */
         }
         else if(b!=0&&a==0)
         {
          j=c;
          c=a;
          a=j;
         /* change(c,a); */
         }
         else
         {
          errormsg();
         }
        }
        else if(c==5)
        {
         if(b==0&&a!=0)
          {
          j=c;
          c=b;
          b=j;
                  /* change(c,b); */
          }
          else if(b!=0&&a==0)
          {
          j=c;
          c=a;
          a=j;
                  /*change(c,a);*/
          }
          else
          {
                  errormsg();
          }
        }
        else if(c==0)
        {
         iszero();
        }
        printf("\n%d   %d   %d   %d   %d   %d   %d\t\tthe location is:\n1   2   3   4   5   6   7", a,b,c,d,e,f,g);
       printf("\t\tplease input the location(1 to 7):");
       break;
       case '4':
        i++;
        if(d==0)
        {
         iszero();
        }
        if(d==1)
        {
         if(e==0&&f!=0)
         {
          j=d;
          d=e;
          e=j;
          /*change(d,e);*/
         }
         else if(e!=0&&f==0)
         {
          j=d;
          d=f;
          f=j;
          /*change(d,f);*/
         }
         else
         {
          errormsg();
         }
        }
        if(d==2)
        {
         if(e==0&&f!=0)
          {
          j=d;
          d=e;
          e=j;
                  /*change(d,e);*/
          }
          else if(e!=0&&f==0)
          {
          j=d;
          d=f;
          f=j;
                  /*change(d,f);*/
          }
          else
          {
                  errormsg();
          }
        }
        if(d==3)
        {
         if(e==0&&f!=0)
          {
          j=d;
          d=e;
          e=j;
                  /*change(d,e);*/
          }
          else if(e!=0&&f==0)
          {
          j=d;
          d=f;
          f=j;
                  /*change(d,f);*/
          }
          else
          {
                  errormsg();
          }
        }
        if(d==4)
        {
         if(c==0&&b!=0)
         {
          j=d;
          d=c;
          c=j;
          /*change(d,c);*/
         }
         else if(c!=0&&b==0)
         {
          j=d;
          d=b;
          b=j;
          /*change(d,b);*/
         }
         else
         {
          errormsg();
         }
        }
        if(d==5)
        {
         if(c==0&&b!=0)
          {
          j=d;
          d=c;
          c=j;
                 /* change(d,c);*/
          }
          else if(c!=0&&b==0)
          {
          j=d;
          d=b;
          b=j;
                  /*change(d,b);*/
          }
          else
          {
                  errormsg();
          }
        }
        if(d==6)
        {
         if(c==0&&b!=0)
          {
          j=d;
          d=c;
          c=j;
                  /*change(d,c);*/
          }
          else if(c!=0&&b==0)
          {
          j=d;
          d=b;
          b=j;
                  /*change(d,b);*/
          }
          else
          {
                  errormsg();
          }
        }
        printf("\n%d   %d   %d   %d   %d   %d   %d\t\tthe location is:\n1   2   3   4   5   6   7", a,b,c,d,e,f,g);
       printf("\t\tplease input the location(1 to 7):");
       break;
       case '5':
        i++;
        if(e==1)
        {
         if(f==0&&g!=0)
         {
          j=e;
          e=f;
          f=j;
          /*change(e,f);*/
         }
         else if(f!=0&&g==0)
         {
          j=e;
          e=g;
          g=j;
          /*change(e,g);*/
         }
         else
         {
          errormsg();
         }
        }
        if(e==2)
        {
         if(f==0&&g!=0)
          {
          j=e;
          e=f;
          f=j;
                  /*change(e,f);*/
          }
          else if(f!=0&&g==0)
          {
          j=e;
          e=g;
          g=j;
                  /*change(e,g);*/
          }
          else
          {
                  errormsg();
          }
        }
        if(e==3)
        {
         if(f==0&&g!=0)
          {
                  j=e;
                  e=f;
                  f=j;
                  /*change(e,f);*/
          }
          else if(f!=0&&g==0)
          {
                  j=e;
                  e=g;
                  g=j;
                  /*change(e,g);*/
          }
          else
          {
                  errormsg();
          }
        }
        if(e==0)
        {
         iszero();
        }
        if(e==4)
        {
         if(d==0&&c!=0)
         {
          j=e;
          e=d;
          d=j;
          /* change(e,d);*/
         }
         else if(d!=0&&c==0)
         {
          j=e;
          e=c;
          c=j;
          /*change(e,c);*/
         }
         else
         {
          errormsg();
         }
        }
        if(e==5)
        {
         if(d==0&&c!=0)
          {
          j=e;
          e=d;
          d=j;
                  /*change(e,d);*/
          }
          else if(d!=0&&c==0)
          {
          j=e;
          e=c;
          c=j;
                 /* change(e,c);*/
          }
          else
          {
                  errormsg();
          }
        }
        if(e==6)
        {
         if(d==0&&c!=0)
          {
          j=e;
          e=d;
          d=j;
                 /* change(e,d);*/
          }
          else if(d!=0&&c==0)
          {
          j=e;
          e=c;
          c=j;
                  /*change(e,c);*/
          }
          else
          {
                  errormsg();
          }
        }
        printf("\n%d   %d   %d   %d   %d   %d   %d\t\tthe location is:\n1   2   3   4   5   6   7",a,b,c,d,e,f,g);
       printf("\t\tplease input the location(1 to 7):");
       break;
       case '6':
        i++;
        if(f==3)
        {
         if(g==0)
         {
          j=f;
          f=g;
          g=j;
          /*change(f,g);*/
         }
         else
         {
          errormsg();
         }
        }
        else if(f==0)
        {
         iszero();
        }
        else if(f==5)
        {
         if(e==0&&d!=0)
         {
          j=f;
          f=e;
          e=j;
          /*change(f,e);*/
         }
         else if(e!=0&&d==0)
         {
          j=f;
          f=d;
          d=j;
          /*change(f,d);*/
         }
         else
         {
          errormsg();
         }
        }
        else if(f==6)
        {
         if(e==0&&d!=0)
          {
          j=f;
          f=e;
          e=j;
                  /*change(f,e);*/
          }
          else if(e!=0&&d==0)
          {
          j=f;
          f=d;
          d=j;
                  /*change(f,d);*/
          }
          else
          {
                  errormsg();
          }
        }
       printf("%d   %d   %d   %d   %d   %d   %d\t\tthe location is:\n1   2   3   4   5   6   7", a,b,c,d,e,f,g);
       printf("\t\tplease input the location(1 to 7):");
       break;
       case '7':
        i++;
        if(g==6)
        {
         if(f==0&&e!=0)
         {
          j=g;
          g=f;
          f=j;
          /*change(g,f);*/
         }
         if(f!=0&&e==0)
         {
          j=g;
          g=e;
          e=j;
          /*change(g,e);*/
         }
         
        }
        else if(g==0)
        {
         iszero();
        }
        printf("%d   %d   %d   %d   %d   %d   %d\t\t the location is:\n1   2   3   4   5   6   7",a,b,c,d,e,f,g);
       printf("\t\tplease input the location(1 to 7):");
       break;
  •    default: 
       break;
       
      }
     /* printf("you have use %d times",i); */
     /* printf("%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g); */
      if((a==4)&&(b==5)&&(c==6)&&(d==0)&&(e==1)&&(f==2)&&(g==3))
     { printf( "success!\n");
      printf("you have use %d times \n", i);
     }
       
     } 
     return 0;
    }
    void errormsg(void)
    {
     printf("there have no space\n");
    }
    void iszero(void)
    {
     printf("What's number you have input is \"zero!\"\n");
    }
阅读(1053) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~