com.mygdx.jogo.Humano.java Source code

Java tutorial

Introduction

Here is the source code for com.mygdx.jogo.Humano.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.mygdx.jogo;

import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Stage;
import java.util.List;

/**
 * classe que pega as entradas do pc para movimentar as peas
 *
 * @author fabio
 */
public class Humano extends Jogador {

    public Casa anterior;

    /**Mtodo utilizado para atualizar os estados do tabuleiro conforme as casas que o jogador escolher,
    * @param selecionada  a casa selecionada pelo jogador.  
    * @param estagio utilizado no mtodo de mover invocado por este mtodo para remover a pea capturada.
    * @return se a saida for verdadeira o turno do jogador  finalizado ,caso for falsa ele continua atualizando.
    */
    @Override
    public boolean update(Casa selecionada, Stage estagio) {
        if (getSelAreaPeca() != null && getSelAreaPeca().peca != null
                && getSelAreaPeca().peca.imagem.getActions().size > 0) {

        } else {

            if (getSelAreaPeca() != null && getCaminhoEscolhido() != null) {
                return moverPeca(estagio);
            } else if (selecionada != null) {

                if (selecionada.peca != null && selecionada != anterior) {// fazer algo para isso executar uma unica vez
                    if (getPecas().contains(selecionada.peca)) {
                        if (getSelAreaPeca() != null && getSelAreaPeca().peca != null) {
                            getSelAreaPeca().peca.imagem.setColor(getSelAreaPeca().peca.getColorOriginal());
                            ocultarVizinhos();
                        }
                        setSelAreaPeca(selecionada);
                        setVizinhosSelAreaPeca(Jogo.getInstance().getTabuleiro().caminhosDisponiveis(selecionada,
                                getQtdJogadas() > 0));
                        if (getVizinhosSelAreaPeca().size() == 0 && getQtdJogadas() > 0) {
                            return true;
                        }
                        getSelAreaPeca().peca.imagem.setColor(Color.RED);
                        anterior = getSelAreaPeca();
                        exibirVizinhos();
                        System.out.println("caminhos: " + getVizinhosSelAreaPeca().size());
                    }
                } else if (getVizinhosSelAreaPeca() != null) {
                    casaValida(selecionada);
                }
            }
        }
        return false;
    }

    /**Mtodo utilizado para descobrir se a casa selecionada pelo jogador pertence a um caminho possivel gerado 
     * pela casa selecionada anteriormente contendo uma pea do jogador.
    * @param selecionada  a casa selecionada pelo jogador que no deve possuir pea.  
    */
    private void casaValida(Casa selecionada) {
        for (List<MovimentoEstado> col : getVizinhosSelAreaPeca()) {
            if (col.get(0).c.equals(selecionada)) {
                setCaminhoEscolhido(col);

            }
        }
    }

}