public void ThirdTestMapSolved() { var result = MapDirections.SearchMap(DataSet.ThirdTestMap); Assert.AreEqual(DataSet.ThirdTestLetters, result.Letters); Assert.AreEqual(DataSet.ThirdTestPath, result.Path); }
public static Vector2Int DirectionsDelta(this MapDirections direction) { Vector2Int toReturn = Vector2Int.zero; switch (direction) { case MapDirections.North: toReturn = Vector2Int.up; break; case MapDirections.East: toReturn = Vector2Int.right; break; case MapDirections.South: toReturn = Vector2Int.down; break; case MapDirections.West: toReturn = Vector2Int.left; break; } return(toReturn); }
private Vector3 FromNode(PlatformNode p0, MapDirections direction) { Vector3 off = Vector3.zero; switch (direction) { case MapDirections.North: off = new Vector3(0, height, offset); break; case MapDirections.South: off = new Vector3(0, height, -offset); break; case MapDirections.East: off = new Vector3(offset, height, 0); break; case MapDirections.West: off = new Vector3(-offset, height, 0); break; } return(p0.transform.localPosition + off); }
public void Turn(bool ccw) { onPreRotate.Invoke(ccw); MapDirections next = facing.GetNeighbor(ccw); facing = next; StartCoroutine(RotateLerp(ccw ? -1 : 1)); // transform.Rotate(Vector3.up, ccw ? -90 : 90); }
private static void ProcessInputMap(string inputString) { try { var result = MapDirections.SearchMap(inputString); Console.WriteLine($"Letters: {result.Letters}"); Console.WriteLine($"Path as characters: {result.Path}"); } catch (System.IO.IOException error) { Console.WriteLine($"Error while reading file: { error.Message}"); } }
public void MoveIsValid() { MapDirections inputMap = new MapDirections(new char[2, 2] { { '@', 'c' }, { 'D', ' ' } }, 2, 2, 0, 0); var resultChar = inputMap.IsValidMove(MapMove.Up); Assert.IsFalse(resultChar); resultChar = inputMap.IsValidMove(MapMove.Right); Assert.IsTrue(resultChar); }
public static string Explore(IMap map, Unit unit) { PathFinder finder = new PathFinder(map); if (!navDirection.ContainsKey(unit.Id)) { navDirection.Add(unit.Id, AICommand.SerializeDirection(MapDirections.RandomDirection())); } var results = finder.FindPath(unit.Location, GetPointFromDir(unit.Location, navDirection[unit.Id])); if (results == null) { var rnd = new Random(); if (navDirection[unit.Id] == "N" || navDirection[unit.Id] == "S") { if (rnd.Next(0, 2) == 0) { navDirection[unit.Id] = "E"; } else { navDirection[unit.Id] = "W"; } } else if (navDirection[unit.Id] == "E" || navDirection[unit.Id] == "W") { if (rnd.Next(0, 2) == 0) { navDirection[unit.Id] = "N"; } else { navDirection[unit.Id] = "S"; } } } else { return(Globals.directionToAdjactentPoint(unit.Location, results[0])); } return("None"); }
public void SwitchTo(MapDirections direction) { if (direction == MapDirections.Living && isDead || direction == MapDirections.Dead && !isDead) { if (isDead) { currentMap.deadMap.transform.localPosition += UnusedOffset; currentMap.livingMap.transform.localPosition -= UnusedOffset; SetActiveMap(currentMap.livingMap); } else { currentMap.deadMap.transform.localPosition -= UnusedOffset; currentMap.livingMap.transform.localPosition += UnusedOffset; SetActiveMap(currentMap.deadMap); } isDead = !isDead; } }
public void SearchNextChars() { MapDirections inputMap = new MapDirections(new char[2, 2] { { '@', 'c' }, { 'D', ' ' } }, 2, 2, 0, 0); var resultChar = inputMap.SearchNextChar(MapMove.Right); Assert.IsNotNull(resultChar); Assert.AreEqual('c', resultChar); resultChar = inputMap.SearchNextChar(MapMove.Down); Assert.IsNotNull(resultChar); Assert.AreEqual('D', resultChar); resultChar = inputMap.SearchNextChar(MapMove.Up); Assert.IsNull(resultChar); }
public int CreateRecipe(RecipeRequest recipeRequest) { var foodRecipe = new MapFoodRecipe(); var foodrecipeMap = foodRecipe.GetMappingToFoodRecipe(recipeRequest); _recipeContext.FoodRecipes.Add(foodrecipeMap); var map = new MapIngredients(_recipeContext); var recipeIngredients = map.MapToRecipeIngredient(recipeRequest); if (recipeIngredients != null) { foodrecipeMap.RecipeIngredients.AddRange(recipeIngredients); } var mapdirection = new MapDirections(); var directions = mapdirection.MapToRecipeDirections(recipeRequest); _recipeContext.RecipeDirection.AddRange(directions); var mapCuisine = new MapRecipeCuisine(_recipeContext); var recipeCuisine = mapCuisine.MapToRecipeCuisines(recipeRequest); _recipeContext.RecipeCuisine.AddRange(recipeCuisine); var mapMealtype = new MapMealType(_recipeContext); var recipeMealType = mapMealtype.MapToRecipeCuisines(recipeRequest); _recipeContext.RecipeMealType.AddRange(recipeMealType); var mapDishType = new MapDishType(_recipeContext); var recipeDishType = mapDishType.MapToRecipeDishType(recipeRequest); _recipeContext.RecipeDishType.AddRange(recipeDishType); var mapCookingStyle = new MapCookingStyle(_recipeContext); var recipeCookingStyle = mapCookingStyle.MapToRecipeCookingStyles(recipeRequest); _recipeContext.RecipeCookingStyle.AddRange(recipeCookingStyle); _recipeContext.SaveChanges(); return(foodrecipeMap.RecipeId); }
public static IEnumerator FlashTransition(MapDirections direction, DarknessOverlay darkness) { int animation = darkness.StartAnimation(); darkness.UpdateValues(Vector3.zero, 0.0f, animation); darkness.SetColor(Color.white, animation); GameObject.FindGameObjectWithTag("GameController").GetComponent <WorldController>().SwitchTo(direction); float flashTime = 1.0f; float animTime = 1.0f; while (animTime > 0.0f) { yield return(null); darkness.SetColor(new Color(1.0f, 1.0f, 1.0f, animTime * animTime), animation); animTime -= Time.deltaTime / flashTime; } darkness.EndAnimation(animation); }
public static MapDirections Inverse(this MapDirections current) { return((MapDirections)(((int)current + 2 + 4) % 4)); }
public static MapDirections GetNeighbor(this MapDirections current, bool ccw) { int next = ((int)current + (ccw ? -1 : +1) + 4) % 4; return((MapDirections)(next)); }