static void Main(string[] args) { using (StreamReader sr = new StreamReader(args[0])) { while (!sr.EndOfStream) { string[] line = sr.ReadLine().Split('|'); int MapX = Int32.Parse(line[0].Substring(0, line[0].IndexOf('x'))); int MapY = Int32.Parse(line[0].Substring(line[0].IndexOf('x') + 1)); int RobittaX = Int32.Parse(line[1].Trim().Substring(0, line[1].Trim().IndexOf(' '))); int RobittaY = Int32.Parse(line[1].Trim().Substring(line[1].Trim().IndexOf(' ') + 1)); Map map = new Map(MapX, MapY, RobittaX, RobittaY); Robo robo = new Robo(); int NutCount = 0; do { map.getNut(robo); NutCount++; robo.Forward(map); } while (!map.RobittaFound); Console.WriteLine(NutCount); } } }
public void getNut(Robo robo) { grid[robo.Y, robo.X] -= 1; if (grid[robo.Y, robo.X] == 1) { RobittaFound = true; } }