Example #1
0
    public int[,] alteraMatriz(int[,] matrizTabuleiroInt, Jogada jogada)
    {
        int linInicio = jogada.posInicial[0];
        int colInicio = jogada.posInicial[1];

        int[] ultimoMovimento = jogada.ultimoMovimento();
        int   linFim          = ultimoMovimento[0];
        int   colFim          = ultimoMovimento[1];

        Posicao    posInicio        = Tabuleiro.instance.matrizTabuleiroPosicoes[linInicio, colInicio].GetComponent <Posicao>();
        GameObject pecaSelecionada  = posInicio.peca;
        Peca       _pecaSelecionada = pecaSelecionada.GetComponent <Peca>();

        Posicao posFim = Tabuleiro.instance.matrizTabuleiroPosicoes[linFim, colFim].GetComponent <Posicao>();

        //Atualiza matriz de inteiros
        matrizTabuleiroInt[linInicio, colInicio] = Tipos.vazio;
        matrizTabuleiroInt[linFim, colFim]       = _pecaSelecionada.tipo;
        //atualiza objetos
        posInicio.peca           = null;
        posFim.peca              = pecaSelecionada;
        _pecaSelecionada.posicao = posFim;

        for (int i = 0; i < jogada.pecasComidas.Count; i++)
        {
            int linComida = jogada.pecasComidas[i][0];
            int colComida = jogada.pecasComidas[i][1];

            matrizTabuleiroInt[linComida, colComida] = Tipos.vazio;
        }

        if (jogada.virouDama)
        {
            int jogador = Tipos.jogador(_pecaSelecionada.tipo);
            _pecaSelecionada.tipo = Tipos.getPecaJogadorX(Tipos.dama, jogador);
            matrizTabuleiroInt[linFim, colFim] = _pecaSelecionada.tipo;
        }

        return(matrizTabuleiroInt);
    }