论文网
English Papers
万事OK网
发表论文
 
 首页 > IT文章 > 程序设计 >
走迷宫程序

[科技论文网] http://www.scipapers.com    2007-12-01  

    走迷宫程序

    main()    /*走迷宫*/
    {
      int i,g,k,j,xx,yy,gx=5,gy=5,b[100][100];
      struct ly
      {
        int x;
        int y;
        int d;

      } a[100];

      b[0][0]=1;  b[0][1]=1;  b[0][2]=1;  b[0][3]=1;  b[0][4]=1;  b[0][5]=1;  b[0][6]=1;
      b[1][0]=1;  b[1][1]=1;  b[1][2]=1;  b[1][3]=0;  b[1][4]=0;  b[1][5]=0;  b[1][6]=1;
      b[2][0]=1;  b[2][1]=1;  b[2][2]=0;  b[2][3]=1;  b[2][4]=0;  b[2][5]=1;  b[2][6]=1;
      b[3][0]=1;  b[3][1]=0;  b[3][2]=0;  b[3][3]=1;  b[3][4]=1;  b[3][5]=0;  b[3][6]=1;
      b[4][0]=1;  b[4][1]=0;  b[4][2]=1;  b[4][3]=0;  b[4][4]=0;  b[4][5]=1;  b[4][6]=1;
      b[5][0]=1;  b[5][1]=0;  b[5][2]=0;  b[5][3]=0;  b[5][4]=1;  b[5][5]=0;  b[5][6]=1;
      b[6][0]=1;  b[6][1]=1;  b[6][2]=1;  b[6][3]=1;  b[6][4]=1;  b[6][5]=1;  b[6][6]=1;

      i=1; a[i].x=1; a[i].y=1; a[i].d=1;

      while(1)
      {
       g=1;
       for (k=i-1;k>=1;k--)
          {
           xx=a[i].x-a[k].x;
           yy=a[i].y-a[k].y;
           if(xx==0 && yy==0)
           g=0;
           if(a[i].d==9)
           g=0;
           if(b[a[i].x][a[i].y]==1)
           g=0;
          }

          if ((a[i].x !=gx || a[i].y !=gy) && g==1)
           {
      i=i+1;
      a[i].d=1;

      if(a[i-1].d==1)
      { a[i].x=a[i-1].x;
        a[i].y=a[i-1].y+1;
      }

      if(a[i-1].d==2)
      { a[i].x=a[i-1].x+1;
        a[i].y=a[i-1].y+1;
      }

      if(a[i-1].d==3)
      {
        a[i].x=a[i-1].x+1;
        a[i].y=a[i-1].y;
      }

      if(a[i-1].d==4)
      {
        a[i].x=a[i-1].x+1;
        a[i].y=a[i-1].y-1;
      }

      if(a[i-1].d==5)
      {
       a[i].x=a[i-1].x;
       a[i].y=a[i-1].y-1;
      }

      if(a[i-1].d==6)
      {
       a[i].x=a[i-1].x-1;
       a[i].y=a[i-1].y-1;
      }

      if(a[i-1].d==7)
      {
       a[i].x=a[i-1].x-1;
       a[i].y=a[i-1].y;
      }

      if(a[i-1].d==8)
      {
       a[i].x=a[i-1].x-1;
       a[i].y=a[i-1].y+1;
      }


           continue;}


           if (g==0)

           {
     i--;
     a[i].d++;
     if(i==1 && a[i].d==9)         /*这就是迷宫没路可走的判断语句应该加的位置*/
     {
     printf("mei lu ke zou\n");
     break;
      }
           }

          if (a[i].x==gx && a[i].y==gy)
          {
           for(j=1;j<=i-1;j++)
           printf("(%d,%d) --->",a[j].x,a[j].y);
           printf("(%d,%d)",a[i].x,a[i].y);
           printf("\n");
          break;
          }

          }

          scanf("%d",&xx);

          }
    运行结果: (1,1) --->(1,2) --->(1,3) --->(2,2) --->(3,2) --->(4,3) --->(4,4) --->(4,5) --->
    (5,5)

        来源:

声明:本文由网友推荐或作者提交,版权归原作者所有,刊登此文仅为传播知识,展示研究成果,提高文章引用率。未经原作者授权,禁止用于任何形式的商业行为。科技论文网倡导尊重知识、尊重劳动、保护原创、知识共享。由于部分论文文章来于网络,文章作者不祥,请相关的原创作者与我们联系,以便加上您的署名。

  
走迷宫程序
下面没有链接了     红黑树分析和实现
最新论文
·[程序设计]走迷宫程序
·[程序设计]红黑树分析和实现
·[程序设计]最小堆/哈希表/二叉树/平衡二叉树/红黑树
·[程序设计]模式匹配的KMP算法
·[程序设计]汉诺塔源码
·[程序设计]寻找链表中间节点算法
·[程序设计]算术表达式的计算
·[程序设计] 数独◎终结者
·[程序设计]使用指针P\Q使链表反转
·[程序设计]格雷码算法
 
 

搜索论文

Google
论文分类

论文网 论文发表网 论文 免费论文网 找论文网 毕业论文 中国论文网 英语论文 百度论文 聘教网 易搜
 免费发布论文    中国论文网 2008版权所有  业务联系:pinjiao@126.com