谁有漫步迷宫的C程序代码?
c语言吧
全部回复
仅看楼主
level 1
297442621 楼主
2007年06月05日 04点06分 1
level 7
int   f=Y               -(X   >>1   );;               while(u!=         x){f>=   0?v+=s,f-=X:0;u   +=S   ;f+=   Y;m[u][v]|=32;mvwaddch(w,v   ,u,   m[u ][               v]&   64?   60:         46)         ;if         (m[   u][v]&16){c(u,v);;   ;;;   ;;;   return;}}   }else{int   f=X   -(Y>>1);;   while (v   !=y         ){f   >=0         ?u   +=S,               f-=         Y:0 ;v   +=s   ;f+=X;m[u][v]|=   32;mvwaddch(w,v   ,u,m[u][v]&64?60:46);if(m[u ][                     v]&         16)   {c(   u,v                     );  ;   return;;;}}}}Z(   int/**/a,   int   b){   }e(   int/**/y,int/**/  x){int               i ;         for         (i=         a;i               <=a+S;i++)d(y,x,i,b),d(y,x,i,b+L);for(i=b;i<=b+L;i++)d(y,x,a,i),d(y,x,a+   S,i );                     ;;;         ;;;         ;;;               ;;;   ;  mvwaddch(w,x,y,64);   ;;;   ;;;   ;;;   prefresh(   w,b,a,0,0   ,L-   1,S-1);}             main(         int               V ,   char              *C[  ]   ){FILE*f=   fopen(V==1?"arachnid.c"/**/   :C[   1],"r");int/**/x,y,c,v=0         ;;;      initscr              ();               Z(Z         (raw ()   ,Z(   curs_set(0),Z(1   ,noecho()))),keypad(    stdscr,TRUE));w   =newpad
2007年06月05日 04点06分 4
level 7
  (   300,  300               ) ;   for         (x=   255   ; x   >=0   ;x--  )   for   (y=   255   ;y>=0;y--   )m[   x][   y]=   0;x=y=0;refresh( );while  (   (c=                           fgetc (f)   )+1)                    {if(0||c==10||  x==   256){x=0;y++;if(y==256  )break;;}   else{m[x][y]=(c   =='~'   ?64   : c   ==32              ?0:         16)   ;;x               ++;      }}for(x=0   ;x<   256;x++)m   [x][0]=16   ,m[   x][   255]=16;for(y=0;y<         256   ; y         ++)   m[0         ][y   ] =               16,m[255][y]   =16   ;a=b=c=0;   x=y   =1;   do{v++;mvwaddch   (w,   y,x   ,m[x][         y]&               32?   m[x                     ][y   ] &   16? 0|   acs_map[l[m[x][y]&15]]:46 :   32);c==0163&&!(m[x][y+1]&16)?y++:   0;c ==   119         &&!         (m[                                       x][ y-   1]&   16)   ?y--:0;;c   ==97  &&!(m[x-1][y]&16)?x--:0;c==100&&!(m[x+1 ][   y]&   16)         ? x   ++:0              ;if(                    c== 3-   1+1   ){endwin(   );;   return(0)   ;}x   -a<5?a>S-   5?a-=S-5:(a=0):0;x               -a>         S-5?a<255   -S*         2?a               +=S-5:(a=256-S):0;   y-b<5?b>L-5?b-=L-5:(b   =0)   :0;   y-b>L-5?b<255-L   *2?b+=                                       L-5   :(b                     =256-L)   :0;e(x,y);if(m[x][y]&64)break;}while((c=getch())!=-1);endwin();cu(Q);printf(Q,v);}
2007年06月05日 04点06分 5
level 7
编译:cc -o arachnid -DL=LINES -DS=COLS -DW=mvwaddch\(w,v,u,acs_map\[l\[m\[u arachnid.c -lncurses
2007年06月05日 04点06分 6
level 6
吧主的功底真是深厚,佩服
2007年06月05日 04点06分 7
level 7
运行结果 :┌———————————┐ ┌———————————————┐               ————————┐  ————————│...........│ │...............│                .......│ │.......└—┐...┌—┐...│ │...——————┬—┐...└—————┐             │...└—┘...│  │...│ │...│ │.........│ │.........│             │.........│  │...│ │...└—┴———┬—┐...└—┴———┬—┐...└—————————————┘...┌—┐...│       ·———┐  │...│ │.........│ │.........│ │.....................│ │...│       ....│  │...└—┴—————————┤ │...┌—————┘ │...│.│...————————————┘ │...│ ┌——————...│  │...............│ │...│  .........├—┤.......          │...│ │......@..│  │...——————┬—┐...└—┘...│ │...——————┘ └————————         │...└—┘...┌—————┘  │.........│ │.........│ │.                            │.........│  ├——————...└—┴———┬—┬———┤                               └—————————┘  │...............│ │...│  │...┌—┐...┌—┐...└—┘...│  │...│ │...│ │.........│  │...│ │...└—┴—————————┤  │...│ │...............│  │...└—┴————————————  .│  │...............│  └———————————— ..│
2007年06月05日 04点06分 8
level 7
出处:ioccc 2004Best use of Vision: Nick Johnson 25 Harvey Tce Richmond Christchurch New Zealand http://www.notdot.net/
2007年06月05日 05点06分 9
level 0
建议大家以后写程序加上注释..
2007年06月05日 10点06分 11
level 0
恩,待我细细研究
2007年06月06日 03点06分 12
level 0
能把IOCCC获奖作品研究出来,你牛了
2008年06月06日 15点06分 13
level 1
你是C语言高手吧。可否帮忙编急个C语言程序诶
2008年06月09日 13点06分 14
1