Esempio n. 1
0
 public twoLists BeAt(dragableLemming lemming, twoLists twoLists)
 {
     twoLists.lemmings.Add(lemming);
     twoLists.directions.Add(Direction.Down);
     lemming.savedStep = Direction.Down;
     return(twoLists);
 }
    public void manageMoves(List <dragableLemming> lemmingss, List <Direction> directionss)
    {
        lemmings   = new List <dragableLemming>(lemmingss);
        directions = new List <Direction>(directionss);

        twoLists.directions.Clear();
        twoLists.lemmings.Clear();
        twoLists = getTargetFields();

        moveLemmings(twoLists.lemmings);
        if (loss)
        {
            loose(fellOff); return;
        }

        checkForWin(startingLemmings);
        if (win)
        {
            owner.stateMachine.ChangeState(new WinState(owner, boardInput)); owner.infoGatherer.sendWin(); return;
        }

        checkForFlame(twoLists.lemmings);
        if (loss)
        {
            loose(fire); return;
        }

        checkForClockWise(twoLists.lemmings);
        checkForCounterClockwise(twoLists.lemmings);

        checkForFlame(startingLemmings);
        if (loss)
        {
            loose(fire); return;
        }

        checkForTrappedLemming(startingLemmings);
        if (loss)
        {
            loose(trapped); return;
        }

        reactToFields();

        infoGatherer.retrieveHeat(calcHeat());
        infoGatherer.retrieveWinDistances(calcDistToWin());

        if (twoLists.lemmings.Count == 0)
        {
            return;
        }
        else
        {
            manageMoves(twoLists.lemmings, twoLists.directions);
        }
    }
 void reactToFields()
 {
     lemmings = new List <dragableLemming>(twoLists.lemmings);
     twoLists.lemmings.Clear();
     twoLists.directions.Clear();
     for (int i = 0; i < lemmings.Count; i++)
     {
         twoLists = lemmings[i].Feld.BeAt(lemmings[i], twoLists);
     }
 }
Esempio n. 4
0
    public twoLists BeAt(dragableLemming lemming, twoLists twoLists)
    {
        switch (lemming.savedStep)
        {
        case Direction.Up: twoLists.lemmings.Add(lemming); twoLists.directions.Add(Direction.Up);
            lemming.savedStep = Direction.None; return(twoLists);

        case Direction.Down: twoLists.lemmings.Add(lemming); twoLists.directions.Add(Direction.Down);
            lemming.savedStep = Direction.None; return(twoLists);

        case Direction.Right: twoLists.lemmings.Add(lemming); twoLists.directions.Add(Direction.Right);
            lemming.savedStep = Direction.None; return(twoLists);

        case Direction.Left: twoLists.lemmings.Add(lemming); twoLists.directions.Add(Direction.Left);
            lemming.savedStep = Direction.None; return(twoLists);
        }
        return(twoLists);
    }
 public twoLists BeAt(dragableLemming lemming, twoLists twoLists)
 {
     twoLists.lemmings.Add(lemming);
     twoLists.directions.Add(Direction.Left);
     return(twoLists);
 }
 public twoLists BeAt(dragableLemming lemming, twoLists twoLists)
 {
     return(twoLists);
 }