// Render public void Render(Game resourceScript, int startIndex = 0) { for (int i = startIndex; i < States.Count; i++) { BlockWorld world = States[i]; BlockWorld.BlockPlayer player = world.Player; GameObject obj = Object.Instantiate(resourceScript.Protopath); obj.transform.position = new Vector3(World.IToXMin(player.I), World.JToYMin(player.J)); SpriteRenderer renderer = obj.GetComponent <SpriteRenderer>(); renderer.color = new Color(1.0f, 1.0f, 1.0f, 0.25f); } }
override public float Level2HeuristicFunction(BlockWorld blockWorld) { BlockWorld.BlockPlayer player = blockWorld.Player; // Return distance to nearest ammo float minDistance = float.MaxValue; foreach (BlockWorld.BlockPowerup powerup in blockWorld.Powerups) { float d = Util.ManhattanDistance(powerup.I, powerup.J, player.I, player.J); if (d < minDistance) { minDistance = d; } } return(minDistance); }