public void PlatformSpawnRangeTest()
    {
        //some default player values
        float grav      = 9.81f;
        float horSpeed  = 10;
        float vertSpeed = 10;

        PlatformMakerModel model = new PlatformMakerModel(grav, horSpeed, vertSpeed);

        Assert.AreEqual(model.getMaxYFromX(0), 0);                    //zero test
        Assert.LessOrEqual(model.getMaxYFromX(5) - 3.77375f, 0.005f); //calculated from wolframalpha
        Assert.LessOrEqual(model.getMaxYFromX(10) - 5.095f, 0.005f);  //calculated from wolframalpha

        //tests that the platform generation 10 times
        for (int i = 0; i < 10; i++)
        {
            Vector2 plat      = model.getPositionInRange(0, 20, 0, 20);
            float   maxY      = model.getMaxYFromX(plat.x);
            float   midPointX = vertSpeed * horSpeed / (grav);
            if (!((plat.x < midPointX && plat.y < model.getMaxYFromX(midPointX)) || plat.y < maxY))
            {
                Assert.Fail();
            }
        }
    }
示例#2
0
    void Start()
    {
        playerRigid = player.GetComponent <Rigidbody2D>();
        enemyMaker  = FindObjectOfType <EnemyMaker>();
        itemMaker   = FindObjectOfType <ItemMaker>();
        model       = new PlatformMakerModel(playerRigid.gravityScale * 9.81f, player.horizontalSpeed, player.jumpSpeed);

        //we'll start with the initial platform, and make 4 more
        makeRandomPlatformInRange();
        makeRandomPlatformInRange();
        makeRandomPlatformInRange();
        makeRandomPlatformInRange();
    }