Exemplo n.º 1
0
        protected override void Build()
        {
            Add(Platform.PassThrough(new Point2(8, 13), width: 3));

            Platforms[0].OnActorLanding += actor => LevelContext.DisplayMessage("That doesn't look too bad...");

            Add(Platform.Concrete(new Point2(15.35, 8.8), width: 0.5, height: 0.5));
            Platforms.Last().OnActorStanding += actor => LevelContext.DisplayMessage("If it fits, I sits");
            DeathTaunts.Add(Platforms.Last(), "Well yes, but actually no");

            Add(Platform.Concrete(new Point2(18, 7.4), width: 2, height: 2.2));
            DeathTaunts.Add(Platforms.Last(), "Absolutely but not really");

            Add(Platform.Concrete(new Point2(19.5, 7.5), width: 0.5, height: 0.1));
            DeathTaunts.Add(Platforms.Last(), "Maybe this isn't the right game for you");

            _boop = Add(Platform.Concrete(new Point2(18.8, 10.4), width: 0.9, height: 0.9));
            Platforms.Last().OnActorLanding += actor => LevelContext.DisplayMessage("This is exciting! Or is it...");
            DeathTaunts.Add(Platforms.Last(), "So cautious. Yet so dead");

            Add(Platform.Concrete(new Point2(13.1, 3), width: 1, height: 1));
            Platforms.Last().OnActorLanding += actor => LevelContext.DisplayMessage("Captain obvious to the rescue!");
            DeathTaunts.Add(Platforms.Last(), "LOL you knew this would fail");

            Add(Platform.Concrete(new Point2(22.0, 13.0), width: 0.3, height: 8.0));

            Add(Platform.Concrete(new Point2(18.3, 3), width: 2.5));

            Platforms.Last().OnActorLanding += actor => LevelContext.DisplayMessage("Deep in my heart I have always believed in you");
        }
Exemplo n.º 2
0
        protected override void PostBuild(Level level)
        {
            int numBoops = 0;

            _boop.OnActorColliding += actor =>
            {
                if (actor.Velocity.Y > 0)
                {
                    switch (numBoops)
                    {
                    case 0:
                        LevelContext.DisplayMessage("BOOP");
                        break;

                    case 1:
                        LevelContext.DisplayMessage("BOOP BOOP");
                        break;

                    case 2:
                        LevelContext.DisplayMessage("Are you looking for mushrooms?");
                        break;

                    default:
                        break;
                    }

                    numBoops++;
                }
            };
        }
Exemplo n.º 3
0
        protected override void Build()
        {
            DeathTaunts.Add(null, "What a shame, I had such high hopes for you");

            const double STEP_WIDTH = 1.2;

            Add(Platform.Concrete(new Point2(2.5, 4), width: STEP_WIDTH));
            Platforms.Last().OnActorStanding += actor => LevelContext.DisplayHint(JUMP_HINT);

            for (int i = 1; i < 5; i++)
            {
                Add(Platform.Concrete(new Point2(3 + i * i / 2.8 + 2 * i, 4 + i), width: STEP_WIDTH));
            }

            Platforms[2].OnActorStanding += actor =>
            {
                if (actor.Velocity.IsZero)
                {
                    LevelContext.DisplayHint(MOMENTUM_HINT);
                }
            };

            Platforms[3].OnActorStanding += actor => LevelContext.DisplayHint(HOLD_JUMP_HINT);

            DeathTaunts.Add(Platforms[Platforms.Count - 2], "You snooze, you lose");

            Platforms.Last().OnActorStanding += actor => LevelContext.DisplayMessage("You're not too old for this after all!");
        }
Exemplo n.º 4
0
        protected override void PostBuild(Level level)
        {
            level.OnActorDrop += actor =>
            {
                if (actor.CurrentPlatform == Platforms.First())
                {
                    LevelContext.SuppressHint(RUN_DOWN_HINT);

                    DroppedFromFirstPlatform = true;
                }
            };

            level.OnActorDeath += actor =>
            {
                if (DroppedFromFirstPlatform)
                {
                    LevelContext.DisplayMessage("EPIC");
                }
                else if (_steppedOnHighOneWay)
                {
                    LevelContext.DisplayMessage("Now I'm disappointed");
                }
            };

            _checkpoint.OnActorLanding += actor => level.SaveCheckpoint();
        }
Exemplo n.º 5
0
 protected override void PostBuild(Level level)
 {
     level.OnActorJump += actor =>
     {
         LevelContext.SuppressHint(JUMP_HINT);
         LevelContext.DisplayMessage("You got it!", seconds: 2);
     };
 }
Exemplo n.º 6
0
        protected override void Build()
        {
            for (int i = 0; i < 2; i++)
            {
                Add(Platform.PassThrough(new Point2(3, 5 + i * 2), width: i + i * i / 6.0 + 3));
            }

            var runDownPlatform = Platforms.Last();

            runDownPlatform.OnActorStanding += actor => LevelContext.DisplayHint(RUN_DOWN_HINT);

            Add(Platform.Concrete(runDownPlatform.Box.TopRight + new Vector2(0.3, 3.7), width: 1, height: 3));
            Platforms.Last().OnActorStanding += actor => LevelContext.DisplayMessage("Was it especially important to reach here?");

            Add(Platform.Concrete(runDownPlatform.Box.TopRight + new Vector2(0.5, -2), width: 0.6));

            _checkpoint = Add(Platform.Concrete(new Point2(12, 5), width: 3.5));
            Platforms.Last().OnActorStanding += actor =>
            {
                LevelContext.SuppressHint(RUN_DOWN_HINT);
                LevelContext.DisplayMessage("Good!", seconds: 1);
            };

            Add(Platform.PassThrough(new Point2(12, 7), width: 3));

            Add(Platform.PassThrough(new Point2(12, 8), width: 3));
            Platforms.Last().OnActorStanding += actor => LevelContext.DisplayMessage("Aren't you a genius...");

            Add(Platform.PassThrough(new Point2(12, 9), width: 3));
            Platforms.Last().OnActorStanding += actor => LevelContext.DisplayHint(ONE_WAY_HINT);

            Add(Platform.OneWay(new Point2(11, 10), width: 9));

            Add(Platform.OneWay(new Point2(10, 11), width: 12));
            _highOneWayPlatform = Platforms.Last();

            _highOneWayPlatform.OnActorStanding += actor =>
            {
                _steppedOnHighOneWay = true;
                LevelContext.SuppressHint(ONE_WAY_HINT);
                LevelContext.DisplayMessage("But it may disappoint you");
            };

            Add(Platform.PassThrough(new Point2(21, 8), width: 1));
        }
Exemplo n.º 7
0
        protected override void PostBuild(Level level)
        {
            level.Munches.Add(new Munch(new Point2(21.15, 9.9)));
            level.Door.Size = 2;

            _checkpoint.OnActorLanding += actor =>
            {
                if (actor.Size == 2)
                {
                    level.SaveCheckpoint();
                }
            };

            Platforms.Last().OnActorLanding += actor =>
            {
                if (actor.Size == level.Door.Size)
                {
                    LevelContext.DisplayMessage("Or a woman of culture.\n" + "I don't know, I can't really see...");
                }
                else
                {
                    LevelContext.DisplayMessage("You're too small for this world");
                }
            };

            level.OnActorMunch += (actor, munch) =>
            {
                actor.Location += new Vector2(-actor.Width / 2, actor.Height / 2);

                LevelContext.DisplayMessage("Yum! Big boys can jump higher!");
                actor.Velocity = Vector2.ZERO;
            };

            level.OnActorJump += actor =>
            {
                if (actor.Size == 2)
                {
                    LevelContext.DisplayMessage("Jumping higher is a good thing! Right?...");
                }
            };
        }
Exemplo n.º 8
0
        protected override void Build()
        {
            Add(Platform.Concrete(new Point2(1, 9.5), width: 2));

            for (int i = 0; i < 5; i++)
            {
                Add(Platform.Concrete(new Point2(3 + i * i / 6.5 + i * 2, 9.5 - i), width: 1.3));
            }

            Platforms[0].OnActorStanding += actor => LevelContext.DisplayHint(RIGHT_HINT);

            Platforms[2].OnActorStanding += actor =>
            {
                LevelContext.SuppressHint(RIGHT_HINT);
                LevelContext.DisplayMessage("Good. Was just making sure you have pulse", seconds: 2);
            };

            DeathTaunts.Add(Platforms[4], "Stop being so insecure!");
            DeathTaunts.Add(Platforms[5], "You're a goner");

            Platforms.Last().OnActorStanding += actor => LevelContext.DisplayHint(DOOR_HINT);
        }
Exemplo n.º 9
0
        protected override void PostBuild(Level level)
        {
            level.Door.Size = 2;

            level.Munches.Add(new Munch(new Point2(9, 2.5)));

            _checkpoint1.OnActorChangedOrientation += actor => level.SaveCheckpoint();

            _checkpoint2.OnActorLanding += actor =>
            {
                if (actor.Size == 2 && actor.Orientation == ActorOrientation.TALL)
                {
                    level.SaveCheckpoint();
                }
            };

            level.OnActorMunch += (actor, munch) =>
            {
                if (actor.Orientation == ActorOrientation.TALL)
                {
                    LevelContext.DisplayMessage("You know what to do now... Right?");
                }
            };
        }
Exemplo n.º 10
0
        protected override void Build()
        {
            Add(Platform.Concrete(new Point2(7, 3), width: 1, height: 0.3));
            Platforms.Last().OnActorLanding += actor => LevelContext.DisplayMessage("Find your inner peace");

            _checkpoint = Add(Platform.OneWay(new Point2(7, 7), width: 4.5));

            Add(Platform.PassThrough(new Point2(16.9, 8), width: 0.3));

            Add(Platform.OneWay(new Point2(18.3, 5), width: 1.5));
            DeathTaunts.Add(Platforms.Last(), "Such lack of creativity");

            Add(Platform.OneWay(new Point2(10, 9), width: 3.7));

            Add(Platform.OneWay(new Point2(15.6, 9), width: 5.4));
            Platforms.Last().OnActorLanding += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("Just do it");
                }
            };

            Add(Platform.PassThrough(new Point2(19, 8), width: 1.3));
            Platforms.Last().OnActorLanding += actor =>
            {
                if (actor.Size == 2)
                {
                    LevelContext.DisplayMessage("Ah! I see you are a man of culture");
                }
            };

            Add(Platform.OneWay(new Point2(14.3, 7), width: 2));
            Add(Platform.PassThrough(new Point2(9, 4), width: 1.5));
            Add(Platform.PassThrough(new Point2(10.5, 8), width: 2.6));
            Add(Platform.PassThrough(new Point2(20, 7), width: 1));
            Add(Platform.PassThrough(new Point2(12.9, 4), width: 1.5));
            Add(Platform.OneWay(new Point2(13.2, 5), width: 1.5));
            DeathTaunts.Add(Platforms.Last(), "You should use your head for thinking");

            Add(Platform.Concrete(new Point2(14.5, 3), width: 1.3, height: 0.3));
            DeathTaunts.Add(Platforms.Last(), "Suicide is never the answer");

            Add(Platform.Concrete(new Point2(16, 5.3), width: 0.3, height: 0.3));
            Add(Platform.Concrete(new Point2(18, 5.3), width: 0.3, height: 0.3));
            DeathTaunts.Add(Platforms.Last(), "Epic fail");

            Add(Platform.Concrete(new Point2(14, 7), width: 0.3, height: 0.3));
            Add(Platform.Concrete(new Point2(13.7, 9.3), width: 0.3, height: 0.3));
            Add(Platform.Concrete(new Point2(17.8, 3), width: 1, height: 0.3));
            Add(Platform.Concrete(new Point2(20.2, 3.8), width: 0.3));
            DeathTaunts.Add(Platforms.Last(), "Wow, you really blew it this time!");

            Add(Platform.Concrete(new Point2(21, 8), width: 0.3, height: 0.5));
            Add(Platform.Concrete(new Point2(21, 16.5), width: 0.3, height: 4));
            Add(Platform.Concrete(new Point2(21, 10.8), width: 0.3, height: 0.8));
            Add(Platform.Concrete(new Point2(15.1, 11.2), width: 0.3, height: 0.3));
            Add(Platform.Concrete(new Point2(17.5, 11.5), width: 0.3, height: 0.3));
            Add(Platform.OneWay(new Point2(10, 12), width: 11));
            Add(Platform.Concrete(new Point2(23.5, 4), width: 4, height: 0.3));
        }
Exemplo n.º 11
0
        protected override void Build()
        {
            _checkpoint2 = Add(Platform.OneWay(new Point2(2, 8), width: 9));
            Platforms.Last().OnActorStanding += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayHint(POINT_HINT);
                }
                else
                {
                    LevelContext.DisplayMessage("Don't think twice, it's alright");
                }
            };

            Add(Platform.OneWay(new Point2(2, 9), width: 2));
            Platforms.Last().OnActorStanding += actor => LevelContext.DisplayHint(POINT_HINT);

            Add(Platform.Flipper(bottomLeft: new Point2(4.5, 9.9)));

            var lowVelocityFails = 0;
            var verticalVelocityUnnecessaryFails = 0;

            Platforms.Last().OnActorColliding += actor =>
            {
                if (actor.Orientation == ActorOrientation.FLAT)
                {
                    LevelContext.DisplayMessage("You're flat out missing the point.\n" +
                                                "There were two puns in that sentence.", seconds: 7);
                }
                else if (actor.Velocity.Y < -2)
                {
                    if (verticalVelocityUnnecessaryFails == 0)
                    {
                        LevelContext.DisplayMessage("You're heading in the wrong direction! I mean, generally in life, it's not a clue or anything", seconds: 7);
                    }
                    else
                    {
                        LevelContext.DisplayMessage("What are your expectations from doing this?");
                    }

                    verticalVelocityUnnecessaryFails++;
                }
                else if (actor.Velocity.Y > 0)
                {
                    LevelContext.DisplayMessage("Not like this!");
                }
                else if (actor.Velocity.X > 2.0)
                {
                    if (lowVelocityFails == 0)
                    {
                        LevelContext.DisplayMessage("Have you forgotten your breakfast?\n" +
                                                    "They are STRONGLY recommended!", seconds: 10);
                    }
                    else
                    {
                        LevelContext.DisplayMessage("It's not about hitting the point as much as it's about hitting yourself with the point", seconds: 10);
                    }

                    lowVelocityFails++;
                }
            };

            Platforms.Last().OnActorChangedOrientation += actor =>
            {
                LevelContext.SuppressHint(POINT_HINT);

                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("VROOM VROOM! All aboard on the bullet... ehm... brain?", seconds: 7);
                }
                else if (actor.Orientation == ActorOrientation.FLAT)
                {
                    LevelContext.DisplayMessage("I'll just assume that was by mistake. Wink, wink");
                }
                else
                {
                    LevelContext.DisplayMessage("You were once so naive.\n" +
                                                "Now you think you've got everything sorted out.", seconds: 7);
                }
            };

            Add(Platform.OneWay(new Point2(8, 9), width: 1.5));
            Add(Platform.OneWay(new Point2(7, 10), width: 3));
            Add(Platform.Concrete(new Point2(19, 2), width: 2));
            Platforms.Last().OnActorStanding += actor =>
            {
                if (actor.Orientation == ActorOrientation.FLAT)
                {
                    LevelContext.DisplayMessage("Are you f****d or what? Am I right guys?");
                }
            };

            Add(Platform.Flipper(bottomLeft: new Point2(18.5, 2.9)));
            Platforms.Last().OnActorChangedOrientation += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("That was soooo down to earth man");
                }
                else
                {
                    LevelContext.DisplayMessage("Do you have De ja vu?", seconds: 2);
                }
            };

            Add(Platform.PassThrough(new Point2(20, 4), width: 1));
            Add(Platform.PassThrough(new Point2(20, 6), width: 1));
            Add(Platform.OneWay(new Point2(18, 8), width: 12));

            _checkpoint1 = Add(Platform.Flipper(bottomLeft: new Point2(26, 10.4)));
            Platforms.Last().OnActorChangedOrientation += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("You grew up so fast... sniff");
                }
                else
                {
                    LevelContext.DisplayMessage("Do you have De ja vu again??");
                }
            };

            Add(Platform.PassThrough(new Point2(8, 4), width: 2));
            Platforms.Last().OnActorStanding += actor => LevelContext.DisplayMessage(
                "If you liked this game so far, well... be prepared to hate your own life as well", seconds: 7);

            Add(Platform.Concrete(new Point2(2, 1), width: 9));
            Platforms.Last().OnActorStanding += actor =>
            {
                if (actor.Orientation == ActorOrientation.FLAT)
                {
                    LevelContext.DisplayMessage("It is possible that you will begin losing your mind just about... now", seconds: 7);
                }
            };

            Add(Platform.Flipper(bottomLeft: new Point2(4, 2)));
            Platforms.Last().OnActorChangedOrientation += actor =>
            {
                LevelContext.DisplayMessage("You've figured something out on your own! That's new!");
            };

            Add(Platform.Concrete(new Point2(12.8, 10), width: 0.2, height: 0.5));

            Platforms.Last().OnActorStanding += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("You have just unlocked a new ability: Uselesness", seconds: 7);
                }
                else if (actor.Orientation == ActorOrientation.FLAT)
                {
                    LevelContext.DisplayMessage("Well well well. Look who's back in town");
                }
            };

            Platforms.Last().OnActorColliding += actor =>
            {
                if (actor.Velocity.X >= 0)
                {
                    LevelContext.DisplayMessage("Yes, yes, but why?");
                }
                else
                {
                    LevelContext.DisplayMessage("It's a shame to see you go");
                }
            };

            Add(Platform.Concrete(new Point2(12.8, 16), width: 0.2, height: 0.2));
            Add(Platform.Concrete(new Point2(12.8, 15), width: 0.2, height: 2.7));
            Platforms.Last().OnActorColliding += actor =>
            {
                if (actor.Velocity.X < 0)
                {
                    LevelContext.DisplayMessage("I would pity you but I'm not human");
                }
            };

            Add(Platform.PassThrough(new Point2(21.5, 9.5), width: 4.5));

            Add(Platform.OneWay(new Point2(21, 11), width: 5));
            Platforms.Last().OnActorStanding += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("Did you lose something here?");
                }
            };

            Add(Platform.OneWay(new Point2(5, 10), width: 5));
            Add(Platform.OneWay(new Point2(7.25, 10.75), width: 0.5));
            Add(Platform.OneWay(new Point2(6.5, 12), width: 2.1));
            Add(Platform.PassThrough(new Point2(3, 12.9), width: 6));

            Add(Platform.OneWay(new Point2(2.5, 13.6), width: 7));
            Add(Platform.OneWay(new Point2(2, 14), width: 8));
            Platforms.Last().OnActorStanding += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("Remind me of your strategy...");
                }
                else if (actor.Orientation == ActorOrientation.TALL)
                {
                    LevelContext.DisplayMessage("The cake was a lie");
                }
            };

            Add(Platform.Concrete(new Point2(5, 12.3), width: 0.3, height: 1.8));

            Add(Platform.Concrete(new Point2(10, 12.8), width: 0.3, height: 0.6));
            Platforms.Last().OnActorStanding += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("Define 'pointless'");
                }
            };

            Add(Platform.Concrete(new Point2(10, 15.1), width: 0.3, height: 0.2));
            Platforms.Last().OnActorColliding += actor =>
            {
                if (actor.Size == 2)
                {
                    LevelContext.DisplayMessage("Muhahahaha");
                }
            };

            Add(Platform.Concrete(new Point2(2, 17.3), width: 10));

            Add(Platform.Concrete(new Point2(10.8, 11.3), width: 1.5));
            Platforms.Last().OnActorStanding += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("It's nice think that being a KNOB should be enough to open this door, isn't it?", seconds: 7);
                }
                else if (actor.Orientation == ActorOrientation.FLAT)
                {
                    LevelContext.DisplayMessage("May I help you?");
                }
            };
        }
Exemplo n.º 12
0
        protected override void PostBuild(Level level)
        {
            level.Door.Size = 2;

            var upperMunch = new Munch(new Point2(12, 7.5));
            var lowerMunch = new Munch(new Point2(11.5, 4.6));

            level.Munches.Add(upperMunch);
            level.Munches.Add(lowerMunch);

            level.OnActorMunch += (actor, munch) =>
            {
                if (actor.Size > 2)
                {
                    LevelContext.DisplayMessage("Not body shaming or anything, but you're quite large");
                }
                else if (actor.Orientation != ActorOrientation.SQUARE)
                {
                    if (munch == lowerMunch)
                    {
                        LevelContext.DisplayMessage("You're in for a disappointment mate");
                    }
                    else
                    {
                        LevelContext.DisplayMessage("Good luck with that one");
                    }
                }
            };

            _splitter.OnActorColliding += actor =>
            {
                LevelContext.DisplayMessage("Why like this...");
            };

            _splitter.OnActorSplit += actor =>
            {
                if (actor.Size == 1)
                {
                    LevelContext.DisplayMessage("Two are better than one!");
                    LevelContext.SuppressHint(SPLITTER_HINT);

                    level.SaveCheckpoint();
                }
                else
                {
                    LevelContext.DisplayMessage("This ain't gonna work");
                }
            };

            level.OnActorUnion += actor =>
            {
                if (actor.Size == 2 && actor.Orientation == ActorOrientation.TALL)
                {
                    LevelContext.DisplayMessage("Make rectangles great again!");
                }
                else
                {
                    LevelContext.DisplayMessage("What the hell is this?");
                }
            };
        }
Exemplo n.º 13
0
 protected override void PostBuild(Level level)
 {
     level.CanActorJump = false;
     level.OnActorJump += actor => LevelContext.DisplayMessage("When exactly did we say you can jump?");
 }