Пример #1
0
            public void UpdatePlayer(playerClass play)
            {
                play.handleInput();

                play.player.x += play.player.dx;
                play.player.y += play.player.dy;
            }
Пример #2
0
    public void setPlayer(int controler, playerClass thisClass)
    {
        currentRot    = Quaternion.identity;
        controllerNum = (PlayerIndex)controler;
        prestate      = state;
        Class         = thisClass;
        switch (Class)
        {
        case playerClass.Rogue:
            index  = 0;
            script = new Rogue();
            break;

        case playerClass.Mage:
            index  = 1;
            script = new Mage();
            break;

        case playerClass.Tank:
            index  = 2;
            script = new Tank(gameObject);
            break;

        case playerClass.Ranged:
            index  = 3;
            script = new Ranged(gameObject);
            break;
        }
    }
Пример #3
0
    public Player(GameObject gameObject, uint playerNumber, playerClass pc)
    {
        myGameObject = gameObject;
        this.playerNumber = playerNumber;

        myPlayerMovement = myGameObject.GetComponent<playerMovement>();
        characterController = myGameObject.GetComponent<CharacterController>();

        myPlayerMovement.thisPlayer = PlayerNumConverter.IndexToPlayerNum(playerNumber);
        myPlayerMovement.myClass = pc;
    }
 public void chooseWizardClass()
 {
     chosenClass = playerClass.Wizard;
     classType   = pClassType.Magic_Attacker;
     //Setting Buttons Interactable or not Interactable
     WizardButton.interactable   = false;
     AssassinButton.interactable = true;
     BardButton.interactable     = true;
     ClericButton.interactable   = true;
     FighterButton.interactable  = true;
     MonkButton.interactable     = true;
 }
 //////Switching the choosen class when a button is pressed///////
 public void chooseAssassinClass()
 {
     chosenClass = playerClass.Assassin;
     classType   = pClassType.Physical_Attacker;
     //Setting Buttons Interactable or not Interactable
     AssassinButton.interactable = false;
     BardButton.interactable     = true;
     ClericButton.interactable   = true;
     FighterButton.interactable  = true;
     MonkButton.interactable     = true;
     WizardButton.interactable   = true;
 }
 public void chooseClericClass()
 {
     chosenClass = playerClass.Cleric;
     classType   = pClassType.Combat_Support;
     //Setting Buttons Interactable or not Interactable
     ClericButton.interactable   = false;
     AssassinButton.interactable = true;
     BardButton.interactable     = true;
     FighterButton.interactable  = true;
     MonkButton.interactable     = true;
     WizardButton.interactable   = true;
 }
 public void chooseMonkClass()
 {
     chosenClass = playerClass.Monk;
     classType   = pClassType.Guardian;
     //Setting Buttons Interactable or not Interactable
     MonkButton.interactable     = false;
     AssassinButton.interactable = true;
     BardButton.interactable     = true;
     ClericButton.interactable   = true;
     FighterButton.interactable  = true;
     WizardButton.interactable   = true;
 }
Пример #8
0
 private void Awake()
 {
     if (!menu)
     {
         this.character       = (playerClass)PlayerPrefs.GetInt("CharacterSelected");
         this.gameObject.name = "Player";
         //if (control == null)
         //{
         //    DontDestroyOnLoad(gameObject);
         //    control = this;
         //}
         //else if (control != this)
         //{
         //    Destroy(gameObject);
         //}
     }
 }
Пример #9
0
    private playerClass checkRoundWinner()
    {
        //A princípio, o vencedor será o primeiro a jogar, assim sempre teremos um valor de coins a ser comparado
        playerClass highestCoinsPlayer = players[0];

        //O vencedor será o player que tiver mais moedas ao final, independente da condição que fez o jogo acabar
        for (int i = 0; i < players.Length; i++)
        {
            //Mantém o player anterior caso o número de moedas seja igual
            if (players [i].getPlayerCoins() > highestCoinsPlayer.getPlayerCoins())
            {
                highestCoinsPlayer = players [i];
            }
        }

        return(highestCoinsPlayer);
    }
Пример #10
0
    private void initializePlayers()
    {
        //Define o tipo dos players e diz aos jogadores quantas casas o tabuleiro tem
        for (var i = 0; i < numberOfPlayers; i++)
        {
            players [i] = new playerClass();
            players [i].setPlayerId(i);
            players [i].setBoardNumberOfHouses(props.Length);
            players [i].setPlayerStartingCoins(startCoins);
            players [i].setBoardCircuitReward(coinsRewardPerCompleteCircuit);
        }

        //Define o comportamento dos players
        players [0].setPlayerBehaviour(behaviourEnum.Impulsivo);
        players [1].setPlayerBehaviour(behaviourEnum.Exigente);
        players [2].setPlayerBehaviour(behaviourEnum.Cauteloso);
        players [3].setPlayerBehaviour(behaviourEnum.Aleatorio);
    }
Пример #11
0
    // Start is called before the first frame update
    void Start()
    {
        pClass = playerClass.Fighter;
        //gameObject.AddComponent<FighterClass>();//new FighterClass();
        //aClass = gameObject.GetComponent<FighterClass>();
        aClass = new FighterClass();

        /*switch (pClass)
         * {
         *  case playerClass.Fighter:
         *      aClass = new FighterClass();
         *      break;
         *  case playerClass.Rogue:
         *      break;
         *  case playerClass.Mage:
         *      break;
         * }*/


        hitPoints      = aClass.maxHitPoints;
        currentAttacks = aClass.numAttacks;
        playerMoving   = false;
        speed          = 5;
        remainingSpeed = 5;
        tempSpeed      = 5;
        atkRange       = 1;
        defense        = 15;
        targetList     = new List <GameObject>();
        skillReady     = false;
        if (displayName == "")
        {
            displayName = "Player";
        }
        playState = GameplayState.none;

        rand = new System.Random();
    }
Пример #12
0
    //Initialize the player
    void Awake()
    {
        numKills        = 0;
        dead            = false;
        finalBossLoaded = false;
        DontDestroyOnLoad(this.gameObject);

        //Create new player when single player is selected
        singlePlayer = GameObject.Find("Button Manager").GetComponent <createGame>().singleDepressed;
        if (singlePlayer)
        {
            playerOne              = new playerClass();
            playerOne.name         = "playerOne";
            playerOne.playerType   = GameObject.Find("Button Manager").GetComponent <createGame>().playerOneType.options[GameObject.Find("Button Manager").GetComponent <createGame>().playerOneType.value].text;
            playerOne.playerHealth = 5;
            playerOne.attackLevel  = 0;
            playerOne.attackSpeed  = 0;
            playerOne.defenseLevel = 0;
        }


        hubLoaded   = false;
        slimeLoaded = false;
    }
Пример #13
0
 public void playerReady(int a, playerClass b)
 {
     readyPlayers++;
     playersClasses[a] = b;
 }
 public void chooseDruidClass()
 {
     chosenClass = playerClass.Druid;
     classType   = pClassType.Combat_Support;
     //Setting Buttons Interactable or not Interactable
 }
Пример #15
0
    protected override void ThreadFunction()
    {
        int currentRound = 0;

        //Laço principal que controla o número de rounds
        while (currentRound < numberOfRounds)
        {
            //Prepara o início da partida
            int currentTurn = 0;

            //Prepara os jogadores
            for (int i = 0; i < players.Length; i++)
            {
                players [i].setPlayerCoins(players [i].getPlayerStartingCoins());
                players [i].setPlayerPos(0);
                players [i].setPlayerIsPlaying(true);
                players [i].setPlayerPropsReleased(false);
            }

            //Prepara as propriedades
            for (int i = 0; i < props.Length; i++)
            {
                props [i].owner = null;
            }

            //Inicia o jogo, só acaba depois que passar o número máximo de turnos ou só existir um jogador com coins
            while ((currentTurn < maxNumberOfTurns) && (!checkOnlyOneLeft()))
            {
                //Randomizar a ordem dos players
                for (int i = 0; i < players.Length; i++)
                {
                    System.Random rndSeed    = new System.Random();
                    int           rnd        = rndSeed.Next(0, players.Length);
                    playerClass   tempPlayer = players[rnd];
                    players[rnd] = players[i];
                    players[i]   = tempPlayer;
                }



                //Cada jogador executa seu turno
                for (int i = 0; i < players.Length; i++)
                {
                    //Se o player não puder jogar, verifica se as suas propriedades foram devolvidas e pula a vez
                    if (!players [i].getPlayerIsPlaying())
                    {
                        if (!players [i].getPlayerPropsReleased())
                        {
                            //Marca propriedades como devolvidas se forem do player
                            for (int j = 0; j < props.Length; j++)
                            {
                                if (props [j].owner == players [i])
                                {
                                    props [j].owner = null;
                                }
                            }

                            //Marca que o player devolveu as propriedades
                            players [i].setPlayerPropsReleased(true);
                        }

                        continue;
                    }

                    //Rolar um d6 e mover-se
                    System.Random rnd      = new System.Random();
                    int           diceRoll = rnd.Next(1, 7);
                    players [i].movePlayer(diceRoll);

                    //Se o player estiver em uma casa diferente da inicial
                    if (players [i].getPlayerPos() > 0)
                    {
                        //Verifica se a casa tem dono
                        if (props [players [i].getPlayerPos()].owner == null)
                        {
                            //Grava os valores na propriedade caso o player decida comprar e deduz suas moedas
                            if (players [i].decidePurchase(props [players [i].getPlayerPos()]))
                            {
                                props [players [i].getPlayerPos()].owner = players [i];
                                players [i].changeCoins(-props [players [i].getPlayerPos()].valueSale);
                            }
                        }
                        else
                        {
                            //Se o dono não for o próprio player
                            if (props [players [i].getPlayerPos()].owner != players [i])
                            {
                                //Pega o valor da propriedade
                                int ammount = props [players [i].getPlayerPos()].valueRent;

                                //Remove as coins do player que caiu na casa e dá ao outro player
                                players[i].changeCoins(-ammount);
                                props [players [i].getPlayerPos()].owner.changeCoins(ammount);
                            }
                        }
                    }
                }

                //Guarda o número de turnos
                absoluteTurnsNumber++;

                //Turno acabou, começar o próximo
                currentTurn++;
            }

            if (currentTurn >= maxNumberOfTurns)
            {
                roundsTimedEnd++;
            }

            //Verifica qual player ganhou a partida
            switch (checkRoundWinner().getPlayerBehaviour())
            {
            case behaviourEnum.Aleatorio:
                absoluteVictoryRandom++;
                break;

            case behaviourEnum.Cauteloso:
                absoluteVictoryCautious++;
                break;

            case behaviourEnum.Exigente:
                absoluteVictoryDemanding++;
                break;

            case behaviourEnum.Impulsivo:
                absoluteVictoryImpulsive++;
                break;

            default:
                break;
            }

            //Partida acabou, começar a próxima
            currentRound++;
        }

        //Calcula os resultados finais
        avgTurnsNumber          = absoluteTurnsNumber / currentRound;
        percentVictoryRandom    = 100 * absoluteVictoryRandom / currentRound;
        percentVictoryCautious  = 100 * absoluteVictoryCautious / currentRound;
        percentVictoryDemanding = 100 * absoluteVictoryDemanding / currentRound;
        percentVictoryImpulsive = 100 * absoluteVictoryImpulsive / currentRound;
    }
Пример #16
0
    // Update is called once per frame
    void FixedUpdate()
    {
        state = GamePad.GetState(playerIndex, GamePadDeadZone.None);

        //join game
        if (state.Buttons.A == ButtonState.Pressed && !playerjoin)
        {
            thisChar.GetComponent <SpriteRenderer> ().color   = new Color(1, 1, 1, 1);
            background.GetComponent <SpriteRenderer> ().color = new Color(1, 1, 1, .1f);
            //background.GetComponent<SpriteRenderer> ().sprite = sp2;
            cam.playerJoin();
            playerjoin = true;
        }
        //ready
        if (playerjoin && state.Buttons.Start == ButtonState.Pressed && !playerReady)
        {
            background.GetComponent <SpriteRenderer> ().color = new Color(.3f, .8f, .4f, .1f);
            //background.GetComponent<SpriteRenderer> ().sprite = sp3;
            cam.playerReady(playerNumber, thisClass);
            playerReady = true;
            //a.InitialSpawn (playerNumber);
        }
        //select char
        if (playerjoin && !playerReady)
        {
            if (state.ThumbSticks.Left.X > .2f && selecterCool <= 0)
            {
                selecterCool = 30;
                indexor      = (indexor + 1) % 4;
            }
            else if (state.ThumbSticks.Left.X < -.2f && selecterCool <= 0)
            {
                selecterCool = 30;
                indexor      = (indexor - 1) % 4;
                if (indexor < 0)
                {
                    indexor = 3;
                }
            }
            else if (selecterCool > 0)
            {
                selecterCool--;
            }
            thisClass = (playerClass)indexor;

            switch (indexor)
            {
            case 0:
                thisChar.GetComponent <IndAnim> ().current = immortal.animations [0].getSpin();
                break;

            case 1:
                thisChar.GetComponent <IndAnim> ().current = immortal.animations [1].getSpin();
                break;

            case 2:
                thisChar.GetComponent <IndAnim> ().current = immortal.animations [2].getSpin();
                break;

            case 3:
                thisChar.GetComponent <IndAnim> ().current = immortal.animations [3].getSpin();
                break;
            }
        }
        if (state.Buttons.B == ButtonState.Released)
        {
            pressedB = false;
        }
        //go back one
        if (!pressedB)
        {
            if (state.Buttons.B == ButtonState.Pressed)
            {
                pressedB = true;
                if (playerReady)
                {
                    playerReady = false;
                    cam.playerNotReady(playerNumber);
                    //background.GetComponent<SpriteRenderer> ().sprite = sp2;
                    background.GetComponent <SpriteRenderer> ().color = new Color(1, 1, 1, .1f);
                }
                else if (playerjoin)
                {
                    playerjoin = false;
                    cam.playerLeave();
                    //background.GetComponent<SpriteRenderer> ().sprite = sp1;
                    background.GetComponent <SpriteRenderer> ().color = new Color(1, 1, 1, 0);
                    thisChar.GetComponent <SpriteRenderer> ().color   = new Color(1, 1, 1, 0);
                    thisChar.GetComponent <IndAnim> ().clear();
                }
            }
        }
        pre = state;
    }
 public void chooseRougeClass()
 {
     chosenClass = playerClass.Rouge;
     classType   = pClassType.Physical_Attacker;
     //Setting Buttons Interactable or not Interactable
 }
 public void choosePaladinClass()
 {
     chosenClass = playerClass.Paladin;
     classType   = pClassType.Guardian;
     //Setting Buttons Interactable or not Interactable
 }
 public void chooseEnchanterClass()
 {
     chosenClass = playerClass.Enchanter;
     classType   = pClassType.Magic_Attacker;
     //Setting Buttons Interactable or not Interactable
 }