首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于迷宫的有关问题,

2012-03-26 
关于迷宫的问题,急急急请教:#includestdio.hintp0inta[99]voidpush(intph){a[p]php++}intpop(){if

关于迷宫的问题,急急急
请教:
        #include   <stdio.h>

int   p=0;
int   a[99];


void   push(int   ph)
{
a[p]=ph;
p++;
}
int   pop()
{
if(p==0){
return   0;
}
p--;
return   a[p];
}
int   pharray[9][9];
void   main()
{
int   i;
int   j;
int     s;
int     g;

   
int   pharray[10][10]={
              {1,1,1,1,1,1,1,1,1,1},
              {1,0,1,0,0,0,0,1,0,1},
              {1,0,0,1,0,0,0,1,0,1},
              {1,0,0,0,1,1,1,0,0,1},
              {1,0,1,1,1,0,0,0,1,1},
              {1,0,0,0,1,0,0,0,0,1},
              {1,0,1,0,0,0,1,0,0,1},
              {1,0,1,1,1,0,1,1,0,1},
              {1,1,0,0,0,0,0,0,0,1},
              {1,1,1,1,1,1,1,1,1,1}
};


gotoxy(40,40);
i=1;
j=1;
pharray[j][i]=31;
again:
if(pharray[j+1][i]==0&&(i!=8||j!=8))
{
pharray[j+1][i]=31;
push(j*10+i);
j=j+1;
goto   again;}
else
if(pharray[j][i+1]==0&&(i!=8||j!=1))
{pharray[j][i+1]=16;
push(j*10+i);
++i;
goto   again;}
  else
      if(pharray[j][i-1]==0&&(i!=8||j!=1))
          {(pharray[j][i-1]=17);
            push(j*10+i);
            i=i-1;
            goto   again;}
      else
            if(pharray[j-1][i]==0&&(i!=8||j!=1))
{
pharray[j-1][i]=30;
push(j*10+i);
j=j-1;
goto   again;}
            else
if(i!=8&&j!=1)
{
      if(pharray[i+1][j]==1   &&   pharray[i][j+1]==1   &&   pharray[i][j-1]==1   &&
          pharray[i-1][j]==1)
      {
        printf( "There   is   no   path! ");
        return;}
      else
        pharray[j][i]=18;
        s=pop();
        j=s/10;
        i=s%10;
        goto   again;}
else
  push(18);
  for(i=0;i <10;i++)
  {
    for(j=0;j <10;j++)
      printf( "%c ",pharray[i][j]);
      printf( "\n ");}
      for(g=0;g <5;g++){
          gotoxy(2*(a[g]%10+1)-2,a[g]/10);
          sleep(1);
          }
      for(g=4;g <9;g++)
      {

      gotoxy((a[g]%10+1),a[g]/10+1);
      sleep(1);


      }
      for(g=9;g <15;g++)
      {
      gotoxy((a[g]%10+7)-6,a[g]/10+1);
      sleep(1);
      }


      printf( "\n ");
      printf( "\n\n\n\n\n\n\n\n ");
      printf( "   The   path   is: ");
  for(g=0;g <p;g++)
  {
  printf( "%d ",a[g]);
  printf( "_ ");
  }
}


这是我的一段程序,我想使这个迷宫更加完美,请教怎么使迷宫整体移动到窗口的中间,而且怎样给迷宫添色?????

[解决办法]
什么环境下的代码?
[解决办法]
这goto语句用的,看见就晕乎。

如果是在控制台上编程的话
#include <graphic.h> 可以使你的迷宫着色,
至于窗口中间位置显示,可以在打印迷宫行之间添加空格
[解决办法]
没有这个类库吗?
[解决办法]
忘记说明,这是turboc中的库
如果采用不同的编译器,参考用户手册。

热点排行