public void setModel(SharpML model)
 {
     sml = model;
 }
Beispiel #2
0
    private void LoadLevel()
    {
        LevelData level = LevelData.instance;

        // set level
        switch (level.type)
        {
        case LEVEL_TYPE.SOLO:
            levelTitle.text = "LVL " + level.level;
            break;

        case LEVEL_TYPE.DUEL:
            levelTitle.text = "DUEL";
            break;

        case LEVEL_TYPE.TEST:
            levelTitle.text = "TEST";
            break;
        }

        // set names
        switch (level.type)
        {
        case LEVEL_TYPE.SOLO:
            nameUI[0].text = level.playerNames[0];
            if (level.control[1] == PLAYER_TYPE.FOLLOWER)
            {
                nameUI[1].text = level.control[1].ToString();
            }
            else
            {
                nameUI[1].text = level.ai[1].ToString();
            }
            break;

        case LEVEL_TYPE.DUEL:
            nameUI[0].text = level.playerNames[0];
            nameUI[1].text = level.playerNames[1];
            break;

        case LEVEL_TYPE.TEST:
            if (level.control[0] == PLAYER_TYPE.FOLLOWER)
            {
                nameUI[0].text = level.control[0].ToString();
            }
            else
            {
                nameUI[0].text = level.ai[0].ToString();
            }
            if (level.control[1] == PLAYER_TYPE.FOLLOWER)
            {
                nameUI[1].text = level.control[1].ToString();
            }
            else
            {
                nameUI[1].text = level.ai[1].ToString();
            }
            break;
        }


        // set colors
        for (int i = 0; i < 2; i++)
        {
            players[i].setColor(level.playerColors[i]);
            nameUI[i].color  = level.playerColors[i];
            scoreUI[i].color = level.playerColors[i];
        }

        // set controls
        if (level.type == LEVEL_TYPE.SOLO)
        {
            controls[0].SetActive(true);
            controls[1].SetActive(false);
        }
        else
        {
            controls[0].SetActive(false);
            controls[1].SetActive(true);
        }

        // set stages
        for (int i = 0; i < 4; i++)
        {
            stages[i].SetActive(i == level.stage);
        }

        // set autostart after score
        autoStart = level.control[0] != PLAYER_TYPE.PLAYER && level.control[1] != PLAYER_TYPE.PLAYER;
        //autoStart = true;

        // set player controlers
        for (int i = 0; i < 2; i++)
        {
            players[i].playerController = level.control[i];
        }

        // machine learning data
        if (LevelData.instance.type == LEVEL_TYPE.SOLO)
        {
            trainData = new List <PongData>(10000);
            roundData = new List <PongData>(2000);
        }

        // set machine learning models
        for (int i = 0; i < 2; i++)
        {
            if (players[i].playerController == PLAYER_TYPE.MACHINE)
            {
                SharpML sml = new SharpML(level.ai[i], level.dataNames[i]);
                //sml.LoadModel(LevelData.instance.stage, LevelData.instance.playerID);
                //sml.Train(LevelData.instance.dataNames[i]);
                players[i].GetComponent <MachinePlayer>().setModel(sml);
            }
        }
    }