private static void Move(BattleNetClient gcb) { var r = new Random(); var done = false; switch (r.Next(5)) { case 0: if (!gcb.IsBarrierAt(gcb.PlayerX, gcb.PlayerY - 1)) { gcb.SendActions(gcb.Up()); Console.WriteLine($"Move up"); done = true; } break; case 1: if (!gcb.IsBarrierAt(gcb.PlayerX + 1, gcb.PlayerY)) { gcb.SendActions(gcb.Right()); Console.WriteLine($"Move right"); done = true; } break; case 2: if (!gcb.IsBarrierAt(gcb.PlayerX, gcb.PlayerY + 1)) { gcb.SendActions(gcb.Down()); Console.WriteLine($"Move down"); done = true; } break; case 3: if (!gcb.IsBarrierAt(gcb.PlayerX - 1, gcb.PlayerY)) { gcb.SendActions(gcb.Left()); Console.WriteLine($"Move left"); done = true; } break; case 4: gcb.SendActions(gcb.Act()); Console.WriteLine($"act"); done = true; break; } if (done == false) { gcb.SendActions(gcb.Blank()); } }
public CommandsProcessor(BattleNetClient client) { _client = client; _movementMap = new Dictionary <Movement, string> { { Movement.Down, _client.Down() }, { Movement.Up, _client.Up() }, { Movement.Left, _client.Left() }, { Movement.Right, _client.Right() }, { Movement.Stop, _client.Blank() }, }; }