public void FuzzyArmies_CheckArmy(Location location, RealisticArmy expectedArmy) { client.Move(Direction.Down); client.Move(Direction.RightDown); client.Move(Direction.RightUp); client.Move(Direction.RightDown); var data = client.Move(Direction.RightUp); var actualArmy = data.Map.Objects.Single(x => x.Location.ToLocation() == location).NeutralArmy; actualArmy.Army.ShouldAllBeEquivalentTo(expectedArmy); }
public static void Main(string[] args) { if (args.Length == 0) { args = new[] { "127.0.0.1", "18700" } } ; var ip = args[0]; var port = int.Parse(args[1]); var client = new HommFinalLevelClient(); client.OnSensorDataReceived += Print; client.OnInfo += OnInfo; var sensorData = client.Configurate( ip, port, CvarcTag, timeLimit: 90, // Продолжительность матча в секундах (исключая время, которое "думает" ваша программа). operationalTimeLimit: 20, // Суммарное время в секундах, которое разрешается "думать" вашей программе. // Вы можете увеличить это время для отладки, чтобы ваш клиент не был отключен, // пока вы разглядываете программу в режиме дебаггинга. seed: 0, // Seed карты. Используйте этот параметр, чтобы получать одну и ту же карту и отлаживаться на ней. // Иногда меняйте этот параметр, потому что ваш код должен хорошо работать на любой карте. spectacularView: true, // Вы можете отключить графон, заменив параметр на false. debugMap: false, // Вы можете использовать отладочную простую карту, чтобы лучше понять, как устроен игоровой мир. isOnLeftSide: true // Вы можете указать, с какой стороны будет находиться замок героя при игре на втором уровне. // Помните, что на сервере выбор стороны осуществляется случайным образом, поэтому ваш код // должен работать одинаково хорошо в обоих случаях. ); var path = new[] { Direction.RightDown, Direction.RightUp, Direction.RightDown, Direction.RightUp, Direction.LeftDown, Direction.Down, Direction.RightDown, Direction.RightDown, Direction.RightUp }; sensorData = client.HireUnits(1); foreach (var e in path) { sensorData = client.Move(e); } sensorData = client.Move(Direction.RightDown); client.Exit(); }