Index: test.d ================================================================== --- test.d +++ test.d @@ -170,10 +170,33 @@ } if(!wa) underwater = 0; } } + + int clever() + { + if(dead) + return 0; + int sy,sx; + int[] ly,lx; + int oy,ox; + for(int y=0; y<H; ++y) + for(int x=0; x<W; ++x) + if(data[y][x]=='R') + sy=y, sx=x; + else if(data[y][x]=='\\') + ly~=y, lx~=x; + else if(data[y][x]=='O') + oy=y, ox=x; + if(ly.length==0) + return goal(sy,sx,oy,ox); + return wait(); + } + int goal(int sy, int sx, int oy, int ox) + { + } } class MyForm : Form { Map m; @@ -256,10 +279,15 @@ case Keys.A: score += m.abort(); write("A"); stdout.flush(); break; + case Keys.G: + score += m.clever(); + write("_"); + stdout.flush(); + break; default: break; } if(m.cleared) { writeln();