diff options
Diffstat (limited to 'src/bin')
-rw-r--r-- | src/bin/turn2line.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/bin/turn2line.c b/src/bin/turn2line.c index 3dc190a..a5de23c 100644 --- a/src/bin/turn2line.c +++ b/src/bin/turn2line.c @@ -1,16 +1,16 @@ #include <stdio.h> int main(int argc,char *argv[]) { - int in,x=0,dx,y=0,dy,h=0,dh=argc<2?-1:atoi(argv[1]); - for(;(in=fgetc(stdin)) != -1;dh=-1,x+=dx,y+=dy) { - if(dh == -1) { - dh=-4; + int in,x=0,dx,y=0,dy,h=0,dh=argc<2?-4:atoi(argv[1]); + for(;(in=fgetc(stdin)) != -1;dh=-4) { + if(dh == -4) { switch(in) { case'B':dh++;case'm':dh++;case'L':dh++;case'l':dh++; case'F':dh++;case'r':dh++;case'R':dh++;case's':dh++;default:break; } if(dh==-4) continue; } h=(h+8+dh)%8; - dx=(signed char)"\x01\x01\x00\xff\xff\xff\x00\x01"[h%8]; - dy=(signed char)"\x00\x01\x01\x01\x00\xff\xff\xff"[h%8]; - printf("%d %d %d %d\n",x,y,x+dx,y+dy); + printf("%d %d ",x,y); + x+=(signed char)"\x01\x01\x00\xff\xff\xff\x00\x01"[h%8]; + y+=(signed char)"\x00\x01\x01\x01\x00\xff\xff\xff"[h%8]; + printf("%d %d\n",x,y); } } |