예제 #1
0
        public static void MovePlayer(this LevelGrid level, Point oldPos, Point newPos)
        {
            ElementType type = level.GetElement(oldPos);

            switch (type)
            {
            case ElementType.Man: level.SetElement(oldPos, ElementType.Floor); break;

            case ElementType.ManOnGoal: level.SetElement(oldPos, ElementType.Goal); break;

            default: return;
            }
            ElementType type2 = level.GetElement(newPos);

            switch (type2)
            {
            case ElementType.Floor: level.SetElement(newPos, ElementType.Man); break;

            case ElementType.Goal: level.SetElement(newPos, ElementType.ManOnGoal); break;

            default: return;
            }
        }
예제 #2
0
        public static void MoveBox(this LevelGrid level, Point oldPos, Point newPos)
        {
            var type = level.GetElement(oldPos);

            switch (type)
            {
            case ElementType.Box: level.SetElement(oldPos, ElementType.Floor); break;

            case ElementType.BoxOnGoal: level.SetElement(oldPos, ElementType.Goal); break;

            default: return;
            }
            var type2 = level.GetElement(newPos);

            switch (type2)
            {
            case ElementType.Floor: level.SetElement(newPos, ElementType.Box); break;

            case ElementType.Goal: level.SetElement(newPos, ElementType.BoxOnGoal); break;

            default: return;
            }
        }