public static bool CollisionWithOtherObject(Cordinates cordinate, PlayingMap map, bool leaveDeadBody) { foreach (var barrier in map.Barriers) { if (barrier == cordinate) { return(true); } } foreach (var food in map.Food.FoodCordinates) { if (food == cordinate) { return(true); } } foreach (var snake in map.Snake) { if (!snake.IsAlive && !leaveDeadBody) { foreach (var coord in snake.Cordinates) { if (coord == cordinate) { return(true); } } } } return(false); }
async Task LocationAsync() { var locator = CrossGeolocator.Current; locator.DesiredAccuracy = 50; var myPosition = await locator.GetPositionAsync(); var location = new Cordinates { Latitude = myPosition.Latitude, Longitude = myPosition.Longitude }; try { HttpClient HttpClient = SessionManager.GetHttpClient(); var json = JsonConvert.SerializeObject(location); var content = new StringContent(json, Encoding.UTF8, "application/json"); var url = SessionManager.GetAPIURL("cordinates"); var req = new HttpRequestMessage(HttpMethod.Post, url) { Content = content, }; var response = await HttpClient.PostAsync(url, content); if (response != null && response.IsSuccessStatusCode) { } } catch (Exception e) { this.Show("Error", e.Message); } }
public void InitiateRover() { Rover rover = null; Cordinates cordinates = new Cordinates(); rover = cordinates.InitRover("5 5"); // Assert Assert.IsNotNull(rover); }
public void RoverPosition() { Rover rover = null; Cordinates cordinates = new Cordinates(); rover = cordinates.InitRover("5 5"); rover = cordinates.RoverPosition(rover, "2 1 E"); // Assert Assert.IsNotNull(rover); }
public void RoverMovement() { Rover rover = null; Cordinates cordinates = new Cordinates(); rover = cordinates.InitRover("5 5"); rover = cordinates.RoverPosition(rover, "1 2 N"); var result = rover.Move("LMLMLMLMM"); // Assert Assert.AreEqual(1, result.GetX()); Assert.AreEqual(3, result.GetY()); Assert.AreEqual("N", result.GetDirection()); }
private static void CheckOtherSide(PlayingMap map, int xFactor, int yFactor, Cordinates point, ref double minDistance, ref Cordinates nearestFoodCor) { foreach (var food in map.Food.FoodCordinates) { double dist = Math.Sqrt( Math.Pow(point.X - (food.X + map.sideSize * xFactor), 2) + Math.Pow(point.Y - (food.Y + map.sideSize * yFactor), 2)); if (dist < minDistance) { minDistance = dist; nearestFoodCor = food; nearestFoodCor.X += xFactor * map.sideSize; nearestFoodCor.Y += yFactor * map.sideSize; } } }
public static void AddCordinates(float x, float y, float z) { System.DateTime epochStart = new System.DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc); float cur_time = (float)(System.DateTime.UtcNow - epochStart).TotalSeconds; var cord = new Cordinates { X_Cord = x, Y_Yord = y, Z_Cord = z, Time = cur_time, SessionId = session.SessionId, Level = SceneManager.GetActiveScene().buildIndex }; var ds = new DataService("tempDatabase.db"); ds.CreateGivenCordinates(cord); //Debug.Log("Session ID:"+session.ToString()); }
public static MapForNN GetMapFromPoint(Cordinates point, int size, PlayingMap playingMap) { int xPadding = point.X - size / 2; int yPadding = point.Y - size / 2; List <MapCoordConverter> coordList = new List <MapCoordConverter>(); for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { int x = xPadding + i; int y = yPadding + j; if (x < 0) { x += playingMap.sideSize; } if (y < 0) { y += playingMap.sideSize; } if (x >= playingMap.sideSize) { x -= playingMap.sideSize; } if (x >= playingMap.sideSize) { x -= playingMap.sideSize; } coordList.Add(new MapCoordConverter() { PMapCoord = new Cordinates(x, y), NNMapCoord = new Cordinates(i, j) }); } } return(CreateMap(size, coordList, playingMap, point)); }
private static void FindNearestFood(ref MapForNN map, PlayingMap pMap, Cordinates point) { Cordinates nearFood = pMap.Food.FoodCordinates[0]; double minDist = Math.Sqrt( Math.Pow(point.X - (pMap.Food.FoodCordinates[0].X), 2) + Math.Pow(point.Y - (pMap.Food.FoodCordinates[0].Y), 2));; for (int xFactor = -1; xFactor <= 1; xFactor++) { for (int yFactor = -1; yFactor <= 1; yFactor++) { CheckOtherSide(pMap, xFactor, yFactor, point, ref minDist, ref nearFood); } } if (point.X < nearFood.X) { map.NearestFoodHorizontal = SnakePathway.Right; } else if (point.X > nearFood.X) { map.NearestFoodHorizontal = SnakePathway.Left; } else { map.NearestFoodHorizontal = null; } if (point.Y < nearFood.Y) { map.NearestFoodVertical = SnakePathway.Down; } else if (point.Y > nearFood.Y) { map.NearestFoodVertical = SnakePathway.Up; } else { map.NearestFoodVertical = null; } }
private static MapForNN CreateMap(int size, List <MapCoordConverter> coordList, PlayingMap pMap, Cordinates point) { var map = new MapForNN(size); foreach (var c in pMap.Barriers) { var coord = coordList.Where(x => x.PMapCoord == c).ToArray(); if (coord.Length > 0) { map.Map[coord[0].NNMapCoord.X, coord[0].NNMapCoord.Y] = ObjectTypes.Barrier; } } foreach (var c in pMap.Food.FoodCordinates) { var coord = coordList.Where(x => x.PMapCoord == c).ToArray(); if (coord.Length > 0) { map.Map[coord[0].NNMapCoord.X, coord[0].NNMapCoord.Y] = ObjectTypes.Food; } } foreach (var snake in pMap.Snake) { foreach (var c in snake.Cordinates) { var coord = coordList.Where(x => x.PMapCoord == c).ToArray(); if (coord.Length > 0) { map.Map[coord[0].NNMapCoord.X, coord[0].NNMapCoord.Y] = ObjectTypes.Snake; } } } FindNearestFood(ref map, pMap, point); return(map); }
/// <summary> /// Копи конструктор /// Copy constructor /// </summary> /// <param name="X">Кордината Х/X coordinate</param> /// <param name="Y">Кордината Y/Y coordinate</param> public Cordinates(Cordinates cordinates) { this.X = cordinates.X; this.Y = cordinates.Y; }
public override string ToString() => $"Location {Cordinates.ToString()}, Walkable {Walkable.ToString()}";
public void InsertBarriers(PlayingMap map) { int length; switch (BarriersType) { case GameLogicsAttributes.Barriers.None: break; case GameLogicsAttributes.Barriers.Angles: length = map.sideSize / 4; for (int i = 0; i < length; i++) { map.Barriers.Add(new Cordinates(i, 0)); map.Barriers.Add(new Cordinates(map.sideSize - 1 - i, 0)); map.Barriers.Add(new Cordinates(i, map.sideSize - 1)); map.Barriers.Add(new Cordinates(map.sideSize - 1 - i, map.sideSize - 1)); if (i != 0) { map.Barriers.Add(new Cordinates(0, i)); map.Barriers.Add(new Cordinates(0, map.sideSize - 1 - i)); map.Barriers.Add(new Cordinates(map.sideSize - 1, i)); map.Barriers.Add(new Cordinates(map.sideSize - 1, map.sideSize - 1 - i)); } } break; case GameLogicsAttributes.Barriers.LinesHorizontal: for (int i = UnityEngine.Random.Range(0, 5); i < map.sideSize; i += UnityEngine.Random.Range(3, 10)) { length = UnityEngine.Random.Range(1, map.sideSize); int startX = UnityEngine.Random.Range(0, map.sideSize - length); for (int j = 0; j < length; j++) { if (!CollisionWithFood(new Cordinates(startX + j, i), map) && !CollisionWithSnakes(new Cordinates(startX + j, i), map)) { map.Barriers.Add(new Cordinates(startX + j, i)); } } } break; case GameLogicsAttributes.Barriers.LinesVertical: for (int i = UnityEngine.Random.Range(0, 5); i < map.sideSize; i += UnityEngine.Random.Range(3, 10)) { length = UnityEngine.Random.Range(1, map.sideSize); int startY = UnityEngine.Random.Range(0, map.sideSize - length); for (int j = 0; j < length; j++) { if (!CollisionWithFood(new Cordinates(i, startY + j), map) && !CollisionWithSnakes(new Cordinates(i, startY + j), map)) { map.Barriers.Add(new Cordinates(i, startY + j)); } } } break; case GameLogicsAttributes.Barriers.Random: int count = (int)(Math.Pow(map.sideSize, 2) * UnityEngine.Random.Range(5, 10) / 100); while (map.Barriers.Count < count) { var cor = new Cordinates(UnityEngine.Random.Range(0, map.Barriers.Count), UnityEngine.Random.Range(0, map.Barriers.Count)); if (!CollisionWithSnakes(cor, map)) { map.Barriers.Add(cor); } } break; case GameLogicsAttributes.Barriers.Solid: for (int i = 0; i < map.sideSize; i++) { for (int j = 0; j < map.sideSize; j++) { if (i == 0 || j == 0 || i == map.sideSize - 1 || j == map.sideSize - 1) { map.Barriers.Add(new Cordinates(i, j)); } } } break; } }
public static void Main(String[] args) { Cordinates cords = new Cordinates(10, 2); cords.printCordinates(); }
public Cordinates CreateGivenCordinates(Cordinates cord) { _connection.Insert(cord); return(cord); }