Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        Vector2 pos           = transform.position;
        Vector2 cameraLeftPos = Camera.main.ScreenToWorldPoint(new Vector2(0, 0));

        if (pos.x < cameraLeftPos.x)
        {
            PlayerMovement pm = gameObject.GetComponent <PlayerMovement>();

            GameObject    winnerChecker = GameObject.Find("WinnerChecker");
            WinnerChecker script        = winnerChecker.GetComponent <WinnerChecker>();
            script.removePlayer(gameObject.name, pm);

            GameObject    itemGenerator = GameObject.Find("ItemGenerator");
            GenerateItems igScript      = itemGenerator.GetComponent <GenerateItems>();

            PlayerCollision pc = gameObject.GetComponent <PlayerCollision>();

            GameObject    playerSpawner = GameObject.Find("PlayerSpawner");
            PlayerSpawner psScript      = playerSpawner.GetComponent <PlayerSpawner>();

            psScript.registerInactivePlayer(gameObject, pm.playerKey);

            igScript.playerDied(pm.playerKey, gameObject.GetComponent <PlayerMovement>().playerColour, pc.getLastCollidedObstacle());

            gameObject.SetActive(false);
            Instantiate(bloodEffect,
                        new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, bloodEffect.transform.position.z),
                        bloodEffect.transform.rotation);
            RandomShake.randomShake.PlayShakeX();

            //Instantiate(deathSoundObject,transform.position,transform.rotation);
            LevelSounds.inst.playDeath(gameObject.transform.position);
        }
    }
Ejemplo n.º 2
0
        public void  CheckPaperTestTheory(int player1, int player2, string expectedResult)
        {
            WinnerChecker winnerChecker = new WinnerChecker();
            var           result        = winnerChecker.Game(player1, player2);

            Assert.Equal(expectedResult, result);
        }
Ejemplo n.º 3
0
    public void playerDied(KeyCode _tag, Color _col, GameObject lastCollision)
    {
        GameObject    wc       = GameObject.Find("WinnerChecker");
        WinnerChecker wcscript = wc.GetComponent <WinnerChecker>();

        if (lastCollision != null && lastCollision.tag == "deadplayer" && wcscript.getNumPlayersActive() > 1)
        {
            KeyCode    rpk;
            Color      rpc;
            DeadPlayer rpscript = lastCollision.GetComponent <DeadPlayer>();
            rpscript.getInfo(out rpk, out rpc);
            DeadPlayerInfo respawnPlayerInfo = new DeadPlayerInfo(rpk, rpc);
            if (!mDeadPlayers.Contains(respawnPlayerInfo))
            {
                obstaclePrefabs.Add(deadPlayer);
            }
            else
            {
                mDeadPlayers.Remove(respawnPlayerInfo);
                GameObject    ps       = GameObject.Find("PlayerSpawner");
                PlayerSpawner psscript = ps.GetComponent <PlayerSpawner>();
                psscript.respawnPlayer(rpk, rpc);
            }

            mDeadPlayers.Add(new DeadPlayerInfo(_tag, _col));
        }
        else
        {
            mDeadPlayers.Add(new DeadPlayerInfo(_tag, _col));
            obstaclePrefabs.Add(deadPlayer);
        }
    }
Ejemplo n.º 4
0
    public void respawnPlayer(KeyCode _kc, Color _col)
    {
        GameObject player = mInactivePlayers[_kc];

        mInactivePlayers.Remove(_kc);
        player.SetActive(true);

        player.GetComponent <Rigidbody2D>().velocity = new Vector2(VariableSpeed.current, 10);

        offset = Random.Range(-1f, 1f);
        Vector3 spawnPos = Camera.main.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, Camera.main.nearClipPlane));

        player.transform.position = new Vector3(spawnPos.x + offset, 0.59f, 0);

        player.GetComponent <PlayerMovement>().playerColour = _col;
        player.GetComponent <PlayerPowerups>().createPowerupEffect();

        if (LevelTypeManager.currentLevel != LevelTypeManager.Level.flappyBird)
        {
            player.GetComponent <PlayerMovement>().animationBoard.FlappyMode = false;
        }

        GameObject    wc       = GameObject.Find("WinnerChecker");
        WinnerChecker wcscript = wc.GetComponent <WinnerChecker>();

        wcscript.addPlayer(player.name);
    }
Ejemplo n.º 5
0
 private void Awake()
 {
     horCellsCount      = GameData.Instance.fieldSettings.width;
     vertCellsCount     = GameData.Instance.fieldSettings.height;
     rectTransform      = GetComponent <RectTransform>();
     textMoveController = GetComponent <TextMoveController>();
     winnerChecker      = GetComponent <WinnerChecker>();
 }
Ejemplo n.º 6
0
        public void Test(RSP player1, RSP player2, Result winner)
        {
            // Arrange
            WinnerChecker winnerChecker = new WinnerChecker();

            // Act
            var result = winnerChecker.Fight((int)player1, (int)player2);

            // Assert
            Assert.Equal(winner, result);
        }
Ejemplo n.º 7
0
        public void IfUserAnswer_DoesNotEqualAllBlack_UserHasNotWon()
        {
            var winnerChecker     = new WinnerChecker(Constants.MasterColoursCount);
            var colourMatchResult = new List <ResultColour>()
            {
                ResultColour.Black, ResultColour.Black, ResultColour.Black
            };

            var result = winnerChecker.HasUserWon(colourMatchResult);

            Assert.False(result);
        }
Ejemplo n.º 8
0
        public void WinningAndChosenDoorAreSameShouldReturnTrue()
        {
            var gameStage     = new GameStage();
            var winnerChecker = new WinnerChecker();

            var alldoors = gameStage.AllDoors;

            alldoors[1].Winner = true;
            alldoors[1].Chosen = true;
            var result = winnerChecker.IsWinner(alldoors);

            Assert.True(result);
        }
Ejemplo n.º 9
0
        private int Win(Layout currentGame, char icon)
        {
            for (int i = 0; i < 9; i++)
            {
                if (currentGame.CanMove(i))
                {
                    var testLayout = new Layout(currentGame.Positions);

                    testLayout.Move(i, icon);

                    var win = WinnerChecker.CheckAll(testLayout);

                    if (win)
                    {
                        return(i);
                    }
                }
            }

            return(-1);
        }
Ejemplo n.º 10
0
 private bool Win()
 {
     return(WinnerChecker.CheckAll(_currentGame));
 }
Ejemplo n.º 11
0
        protected override int Find(ComputerBrain computerBrain, Layout currentGame)
        {
            var afterWinners = computerBrain.Memory.Where(i => i.Turn >= currentGame.Turn && WinnerChecker.CheckAll(i));

            List <int?> possibleMovements = new List <int?>(afterWinners.Count());

            foreach (var afterWinner in afterWinners)
            {
                var nextTurn = computerBrain.Memory.FirstOrDefault(i => i.GameId == afterWinner.GameId && i.Turn == currentGame.Turn + 1);

                if (currentGame.CanMove(nextTurn.TurnPosition))
                {
                    possibleMovements.Add(nextTurn.TurnPosition);
                }
            }

            var bestMovement = possibleMovements.GroupBy(i => i).OrderByDescending(i => i.Count()).FirstOrDefault();

            return(bestMovement?.First().Value ?? -1);
        }
Ejemplo n.º 12
0
 public void Test1()
 {
     WinnerChecker winnerChecker = new WinnerChecker();
 }
Ejemplo n.º 13
0
    // Update is called once per frame
    void Update()
    {
        float realDeltaTime = Time.realtimeSinceStartup - lastFrameTime;

        lastFrameTime = Time.realtimeSinceStartup;
        //Debug.Log(realDeltaTime);
        //Debug.Log(Time.timeSinceLevelLoad);
        //Debug.Log(Time.time);
        //Debug.Log(Time.realtimeSinceStartup);

        if (CurrentPlayerKeys.Instance.colourNumbers.Count > 0)
        {
            for (int i = 0; i < MenuScript.keyCodes.Length; i++)
            {
                if (Input.GetKey(MenuScript.keyCodes[i]) &&
                    !CurrentPlayerKeys.Instance.playerExists(MenuScript.keyCodes[i]))
                {
                    float temp = 0;
                    if (enteringPlayers.TryGetValue(MenuScript.keyCodes[i], out temp))
                    {
                        //Debug.Log(enteringPlayers[MenuScript.keyCodes[i]]);
                        //Debug.Log(Time.deltaTime);
                        //enteringPlayers[MenuScript.keyCodes[i]] += Time.deltaTime;
                        enteringPlayers[MenuScript.keyCodes[i]] += realDeltaTime;

                        if (enteringPlayers[MenuScript.keyCodes[i]] >= timeToHold)
                        {
                            Debug.Log("Adding player " + MenuScript.keyCodes[i].ToString());
                            //Spawn stuff here
                            GameObject player = (GameObject)Instantiate(playerPrefab);
                            player.name = MenuScript.keyCodes[i].ToString();
                            player.GetComponent <PlayerMovement>().setJumpKey(MenuScript.keyCodes[i]);
                            //Random player's spawn position near the middle
                            Vector3 screenMid = new Vector3(0.5f, 0, 0);
                            startPoint = Camera.main.ViewportToWorldPoint(screenMid).x;
                            offset     = Random.Range(-1, 1);
                            player.transform.position = new Vector3(startPoint + offset, 0.59f, 0);
                            Debug.Log("Added player " + player.name);
                            Debug.Log(player.transform.position);

                            GameObject    wc       = GameObject.Find("WinnerChecker");
                            WinnerChecker wcscript = wc.GetComponent <WinnerChecker>();
                            wcscript.addPlayer(player.name);

                            //Assign player color
                            int index       = Random.Range(0, CurrentPlayerKeys.Instance.colourNumbers.Count);
                            int colourIndex = CurrentPlayerKeys.Instance.colourNumbers[index];
                            CurrentPlayerKeys.Instance.colourNumbers.RemoveAt(index);

                            CurrentPlayerKeys.Instance.players.Add(new KeyValuePair <KeyCode, Color>(MenuScript.keyCodes[i],
                                                                                                     CurrentPlayerKeys.Instance.possibleColors[colourIndex]));

                            player.GetComponent <PlayerMovement>().playerColour = CurrentPlayerKeys.Instance.possibleColors[colourIndex];

                            enteringPlayers[MenuScript.keyCodes[i]] = -1000;
                        }
                    }
                    else
                    {
                        enteringPlayers.Add(MenuScript.keyCodes[i], 0);

                        GameObject     tempSound = (GameObject)Instantiate(SoundManager.instance.tempSound);
                        TemporarySound ts        = tempSound.GetComponent <TemporarySound>();
                        int            rnd       = Random.Range(0, SoundManager.instance.introSpawnSounds.Count);
                        ts.play(SoundManager.instance.introSpawnSounds[rnd],
                                SoundManager.instance.introSpawnVolume);
                        keysSound.Add(MenuScript.keyCodes[i], ts);
                    }
                }

                if (Input.GetKeyUp(MenuScript.keyCodes[i]) &&
                    !CurrentPlayerKeys.Instance.playerExists(MenuScript.keyCodes[i]))
                {
                    float temp = -1000;
                    if (enteringPlayers.TryGetValue(MenuScript.keyCodes[i], out temp))
                    {
                        if (temp < timeToHold && temp > -900)
                        {
                            enteringPlayers.Remove(MenuScript.keyCodes[i]);

                            TemporarySound ts      = null;
                            bool           success = keysSound.TryGetValue(MenuScript.keyCodes[i], out ts);
                            if (success)
                            {
                                ts.stop();
                                keysSound.Remove(MenuScript.keyCodes[i]);
                            }
                        }
                    }
                }
            }
        }
    }