コード例 #1
0
ファイル: AStar.cs プロジェクト: facybenbook/tunnelwars-ai
    // 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);
        }
    }
コード例 #2
0
    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);
    }