Example #1
0
    private void ShowPlayer(EnumPlayer enumPlayer)
    {
        _pressStartImages[(int)enumPlayer].gameObject.SetActive(false);
        _playerContainers[(int)enumPlayer].gameObject.SetActive(true);

        SpawnPlayer(enumPlayer);
    }
Example #2
0
        public List <Position> GetMoves(Position current, EnumPlayer player, EnumPiece piece)
        {
            switch (piece)
            {
            case EnumPiece.Bishop:
                return(GetBishopMoveOptions(current, player));

            case EnumPiece.King:
                return(new List <Position>());

            case EnumPiece.Knight:
                return(GetKnightMoveOptions(current, player));

            case EnumPiece.Pawn:
                return(GetPawnMoveOptions(current, player));

            case EnumPiece.Queen:
                return(GetQueenMoveOptions(current, player));

            case EnumPiece.Rook:
                return(GetRookMoveOptions(current, player));

            default:
                return(new List <Position>());
            }
        }
Example #3
0
    private void SpawnPlayer(EnumPlayer enumPlayer)
    {
        var player = GameManager.Instance.SpawnPlayer(enumPlayer, _playerSpawns[(int)enumPlayer]);

        _players.Add(player);
        _gameInputController.SetPlayer(enumPlayer, player);
    }
    private void ShowPlayer(EnumPlayer enumPlayer)
    {
        _pressStartImages[(int)enumPlayer].gameObject.SetActive(false);
        _playerContainers[(int)enumPlayer].gameObject.SetActive(true);

        GameManager.Instance.SpawnPlayer(enumPlayer, _playerSpawns[(int)enumPlayer]);
    }
Example #5
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            GL.Light(LightName.Light0, LightParameter.Position, new Vector4(-40, 200, 100, 0.0f));
            GL.Light(LightName.Light0, LightParameter.Ambient, new Vector4(0.2f, 0.2f, 0.2f, 1.0f));
            GL.Light(LightName.Light0, LightParameter.Diffuse, new Vector4(0.5f, 0.5f, 0.5f, 1.0f));
            GL.Enable(EnableCap.Light0);
            GL.Enable(EnableCap.Lighting);

            GL.Enable(EnableCap.Texture2D);
            GL.Enable(EnableCap.ColorMaterial);
            GL.ShadeModel(ShadingModel.Smooth);
            GL.Hint(HintTarget.PerspectiveCorrectionHint, HintMode.Nicest);

            LoadTextures();

            _camera = new Camera();
            _audio  = new Audio();
            _dice   = new Dice();
            _board  = new Board("Content/BoardMap.tmx");
            InitializePlayers();


            MouseMove  += BoardGame_MouseMove;
            MouseWheel += BoardGame_MouseWheel;
            KeyDown    += BoardGame_KeyDown;

            _currentPlayer = EnumPlayer.Player1;
            StartGamePosition();

            _watch = System.Diagnostics.Stopwatch.StartNew();
            _audio.PlayIntro();
            RandomizeCube();
        }
Example #6
0
 public void SetOrigin(EnumPlayer player, Transform itemHolder)
 {
     _origin                = player;
     _transform.position    = itemHolder.position;
     _boxCollider2D.enabled = false;
     Destroy(_rigidbody2D);
     _transform.parent = itemHolder;
 }
Example #7
0
        public List <Position> GetQueenMoveOptions(Position current, EnumPlayer player)
        {
            var result = new List <Position>();

            result.AddRange(GetRookMoveOptions(current, player));
            result.AddRange(GetBishopMoveOptions(current, player));

            return(result);
        }
Example #8
0
 public Player(Vector2 startPos, Vector2 positionToCut, string fileNameIconTexture, EnumPlayer name)
 {
     Position           = startPos;
     PositionToCut      = positionToCut;
     Size               = new Vector2(40, 40);
     _playerSprite      = TextureLoader.LoadTexture("Shockbolt_64x64_01.png");
     _playerIconTexture = TextureLoader.LoadTexture(fileNameIconTexture);
     Name               = name;
 }
Example #9
0
    public void AddPlayer(EnumPlayer player)
    {
        var players = GetPlayers();

        players.list.Add(player);
        var json = JsonUtility.ToJson(players);

        PlayerPrefs.SetString("Players", json);
    }
Example #10
0
    public void ScoreDeath(EnumPlayer enumPlayer)
    {
        var currentScoreText = _playerContainers[(int)enumPlayer].transform.Find("DeathCounter").transform.Find("Text").gameObject.GetComponent <Text>().text;
        var currentScore     = Int32.Parse(currentScoreText);

        currentScore += 1;

        _playerContainers[(int)enumPlayer].transform.Find("DeathCounter").transform.Find("Text").gameObject.GetComponent <Text>().text = (currentScore < 10 && (currentScore % 10) > 0)?"0" + currentScore.ToString():currentScore.ToString();
    }
Example #11
0
        public List <Position> GetBishopMoveOptions(Position current, EnumPlayer player)
        {
            var result = new List <Position>();

            for (int i = current.rank + 1, j = current.file + 1;
                 i < Board.GetLength(0) && j < Board.GetLength(1); i++, j++)
            {
                if (Board[i, j].Player != EnumPlayer.Undefined)
                {
                    break;
                }

                result.Add(new Position {
                    rank = i, file = j
                });
            }
            for (int i = current.rank + 1, j = current.file - 1;
                 i < Board.GetLength(0) && j >= 0; i++, j--)
            {
                if (Board[i, j].Player != EnumPlayer.Undefined)
                {
                    break;
                }

                result.Add(new Position {
                    rank = i, file = j
                });
            }

            for (int i = current.rank - 1, j = current.file + 1;
                 i >= 0 && j < Board.GetLength(1); i--, j++)
            {
                if (Board[i, j].Player != EnumPlayer.Undefined)
                {
                    break;
                }

                result.Add(new Position {
                    rank = i, file = j
                });
            }
            for (int i = current.rank - 1, j = current.file - 1;
                 i >= 0 && j >= 0; i--, j--)
            {
                if (Board[i, j].Player != EnumPlayer.Undefined)
                {
                    break;
                }

                result.Add(new Position {
                    rank = i, file = j
                });
            }

            return(result);
        }
Example #12
0
 private void SwitchPlayer()
 {
     if (_currentPlayer == EnumPlayer.Player1)
     {
         _currentPlayer = EnumPlayer.Player2;
     }
     else
     {
         _currentPlayer = EnumPlayer.Player1;
     }
 }
Example #13
0
        public List <Position> GetRookMoveOptions(Position current, EnumPlayer player)
        {
            var result = new List <Position>();

            for (int i = current.rank + 1; i < Board.GetLength(0); i++)
            {
                if (Board[i, current.file].Player != EnumPlayer.Undefined)
                {
                    break;
                }

                result.Add(new Position {
                    rank = i, file = current.file
                });
            }
            for (int i = current.rank - 1; i >= 0; i--)
            {
                if (Board[i, current.file].Player != EnumPlayer.Undefined)
                {
                    break;
                }

                result.Add(new Position {
                    rank = i, file = current.file
                });
            }
            for (int i = current.file + 1; i < Board.GetLength(1); i++)
            {
                if (Board[current.rank, i].Player != EnumPlayer.Undefined)
                {
                    break;
                }

                result.Add(new Position {
                    rank = current.rank, file = i
                });
            }
            for (int i = current.file - 1; i >= 0; i--)
            {
                if (Board[current.rank, i].Player != EnumPlayer.Undefined)
                {
                    break;
                }

                result.Add(new Position {
                    rank = current.rank, file = i
                });
            }
            return(result);
        }
Example #14
0
    public void AddScore(EnumPlayer player, int points)
    {
        switch (player)
        {
        case EnumPlayer.Player1:
            P1CurrentScore += points;
            break;

        case EnumPlayer.Player2:
            P2CurrentScore += points;
            break;

        case EnumPlayer.Both:
            P1CurrentScore += points;
            P2CurrentScore += points;
            break;
        }
    }
Example #15
0
    public void ResetScore(EnumPlayer player)
    {
        switch (player)
        {
        case EnumPlayer.Player1:
            P1CurrentScore = 0;
            break;

        case EnumPlayer.Player2:
            P2CurrentScore = 0;
            break;

        case EnumPlayer.Both:
            P1CurrentScore = 0;
            P2CurrentScore = 0;
            break;
        }
    }
Example #16
0
        public void Roll(EnumPlayer player)
        {
            IList <DiceTexture> textureBackup = new List <DiceTexture>(player == EnumPlayer.Player1 ? _redTextures
                                                                                          : _blueTextures);

            foreach (var side in _sides.Select((value, i) => new { i, value }))
            {
                int textId = textureBackup.ElementAt(side.i).Id;
                GL.BindTexture(TextureTarget.Texture2D, textId);
                GL.Begin(PrimitiveType.Quads);
                for (int j = 0; j < 4; j++)
                {
                    GL.TexCoord2(_textCoords.ElementAt(j));
                    GL.Vertex3(side.value.VerticesCords.ElementAt(j));
                }

                GL.End();
            }
        }
Example #17
0
 public IEnumerable <Move> IterateMoves(EnumPlayer player)
 {
     for (int i = 0; i < Ranks; i++)
     {
         for (int j = 0; j < Files; j++)
         {
             if (Board[i, j].Player == player)
             {
                 var moves = GetMoves(new Position(i, j), player, Board[i, j].Piece);
                 for (int k = 0; k < moves.Count; k++)
                 {
                     yield return(new Move {
                         fromRank = i, fromFile = j, toRank = moves[k].rank, toFile = moves[k].file
                     });
                 }
             }
         }
     }
 }
Example #18
0
        public void CreateChildren(EnumPlayer player)
        {
            if (UnprocessedChildren == null)
            {
                UnprocessedChildren = new Stack <Node>();

                foreach (var move in CurrentState.IterateMoves(player))
                {
                    var nextState = new State(CurrentState);
                    nextState.MovePieceUnchecked(move);
                    UnprocessedChildren.Push(new Node(nextState, move, this));
                }

                //var children = new List<Node>();
                //foreach (var move in CurrentState.IterateMoves(player))
                //{
                //    var nextState = new State(CurrentState);
                //    nextState.MovePieceUnchecked(move);
                //    var newNode = new Node(nextState, move, this);
                //    newNode.Value = newNode.CalculateHeuristicValue();
                //    children.Add(newNode);
                //}
                //ChildrenCount = children.Count;

                //if(player == EnumPlayer.White)
                //{
                //    foreach (var node in children.OrderBy(x => x.Value))
                //        UnprocessedChildren.Push(node);
                //}
                //else
                //{
                //    foreach (var node in children.OrderByDescending(x => x.Value))
                //        UnprocessedChildren.Push(node);
                //}
            }
        }
 public void SetPlayer(EnumPlayer enumPlayer, IPlayer player)
 {
     _player[(int)enumPlayer] = player;
 }
Example #20
0
 private void LoadWaitingRoom(EnumPlayer enumPlayer)
 {
     GameManager.Instance.AddPlayer(enumPlayer);
     _hasPlayerStarted = true;
     GameManager.Instance.LoadWaitingRoomScene("TitleScene");
 }
Example #21
0
        public List <Position> GetPawnMoveOptions(Position current, EnumPlayer player)
        {
            var result = new List <Position>();

            if (player == EnumPlayer.White)
            {
                var rank = current.rank + 1;
                if (rank < Ranks)
                {
                    if (Board[rank, current.file].Player == EnumPlayer.Undefined)
                    {
                        result.Add(new Position {
                            rank = rank, file = current.file
                        });

                        var nextRank = rank + 1;
                        if (nextRank == 3 && Board[nextRank, current.file].Player == EnumPlayer.Undefined)
                        {
                            result.Add(new Position {
                                rank = nextRank, file = current.file
                            });
                        }
                    }

                    var file = current.file - 1;
                    if (file >= 0 && Board[rank, file].Player != player && Board[rank, file].Player != EnumPlayer.Undefined)
                    {
                        result.Add(new Position {
                            rank = rank, file = file
                        });
                    }

                    file = current.file + 1;
                    if (file < Files && Board[rank, file].Player != player && Board[rank, file].Player != EnumPlayer.Undefined)
                    {
                        result.Add(new Position {
                            rank = rank, file = file
                        });
                    }
                }
            }
            else
            {
                var rank = current.rank - 1;
                if (rank >= 0)
                {
                    if (Board[rank, current.file].Player == EnumPlayer.Undefined)
                    {
                        result.Add(new Position {
                            rank = rank, file = current.file
                        });

                        var nextrank = rank - 1;
                        if (nextrank == 5 && Board[nextrank, current.file].Player == EnumPlayer.Undefined)
                        {
                            result.Add(new Position {
                                rank = nextrank, file = current.file
                            });
                        }
                    }

                    var file = current.file - 1;
                    if (file >= 0 && Board[rank, file].Player != player && Board[rank, file].Player != EnumPlayer.Undefined)
                    {
                        result.Add(new Position {
                            rank = rank, file = file
                        });
                    }

                    file = current.file + 1;
                    if (file < Files && Board[rank, file].Player != player && Board[rank, file].Player != EnumPlayer.Undefined)
                    {
                        result.Add(new Position {
                            rank = rank, file = file
                        });
                    }
                }
            }
            return(result);
        }
Example #22
0
 public void SaveP1Score()
 {
     player      = EnumPlayer.Player1;
     Prompt.text = P1Prompt;
     ShowUI();
 }
Example #23
0
    public PlayerController SpawnPlayer(EnumPlayer enumPlayer, Transform parent)
    {
        var player = Instantiate(ResourceFacade.LoadPrefab("Player" + ((int)enumPlayer + 1)), parent, false);

        return(player.GetComponent <PlayerController>());
    }
Example #24
0
        public List <Position> GetKnightMoveOptions(Position current, EnumPlayer player)
        {
            var result = new List <Position>();

            int rank, file;

            rank = current.rank + 2;
            if (rank < Ranks)
            {
                file = current.file - 1;
                if (file >= 0 && Board[rank, file].Player != player)
                {
                    result.Add(new Position {
                        rank = rank, file = file
                    });
                }

                file = current.file + 1;
                if (file < Files && Board[rank, file].Player != player)
                {
                    result.Add(new Position {
                        rank = rank, file = file
                    });
                }
            }

            rank = current.rank + 1;
            if (rank < Ranks)
            {
                file = current.file - 2;
                if (file >= 0 && Board[rank, file].Player != player)
                {
                    result.Add(new Position {
                        rank = rank, file = file
                    });
                }

                file = current.file + 2;
                if (file < Files && Board[rank, file].Player != player)
                {
                    result.Add(new Position {
                        rank = rank, file = file
                    });
                }
            }

            rank = current.rank - 1;
            if (rank >= 0)
            {
                file = current.file - 2;
                if (file >= 0 && Board[rank, file].Player != player)
                {
                    result.Add(new Position {
                        rank = rank, file = file
                    });
                }

                file = current.file + 2;
                if (file < Files && Board[rank, file].Player != player)
                {
                    result.Add(new Position {
                        rank = rank, file = file
                    });
                }
            }

            rank = current.rank - 2;
            if (rank >= 0)
            {
                file = current.file - 1;
                if (file >= 0)
                {
                    result.Add(new Position {
                        rank = rank, file = file
                    });
                }

                file = current.file + 1;
                if (file < Files && Board[rank, file].Player != player)
                {
                    result.Add(new Position {
                        rank = rank, file = file
                    });
                }
            }

            return(result);
        }
Example #25
0
 private void OnPlayerJoinGame(EnumPlayer enumPlayer)
 {
     _timeController.StopTime();
     GameManager.Instance.AddPlayer(enumPlayer);
     GameManager.Instance.LoadMapScene(1, "Map1Scene", "New Challenger");
 }
Example #26
0
 public BoardPiece(EnumPlayer player, EnumPiece type)
 {
     Player = player;
     Piece  = type;
 }
Example #27
0
 public void SaveP2Score()
 {
     player      = EnumPlayer.Player2;
     Prompt.text = P2Prompt;
     ShowUI();
 }
Example #28
0
 public Character(EnumPlayer player)
 {
     _player = player;
 }