package sp.senai.br.projetojuema;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import java.util.Random;

public class PrimeiraActivity extends AppCompatActivity {

    TextView tvEscolha, tvVitorias, tvDerrota, tvEmpate, tvPartidas;
    Button btnNovaPartida, btnInformacoes;
    RadioButton rbPedra, rbPapel, rbTesoura;
    ImageView imgJogador, imgComputador;

    int vitorias = 0, derrotas = 0, empates = 0, partidas = 0;

    int[] imagens = {R.drawable.papel, R.drawable.pedra, R.drawable.tesoura};
    String[] opcoes = {"Papel", "Pedra", "Tesoura"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_primeira);

        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });

        tvEscolha = findViewById(R.id.tvEscolha);
        tvVitorias = findViewById(R.id.tvVitorias);
        tvDerrota = findViewById(R.id.tvDerrota);
        tvEmpate = findViewById(R.id.tvEmpate);
        tvPartidas = findViewById(R.id.tvPartidas);
        btnNovaPartida = findViewById(R.id.btnNovaPartida);
        btnInformacoes = findViewById(R.id.btnInformacoes);
        rbPedra = findViewById(R.id.rb1);
        rbPapel = findViewById(R.id.rb2);
        rbTesoura = findViewById(R.id.rb3);
        imgJogador = findViewById(R.id.imageView3);
        imgComputador = findViewById(R.id.imageView4);

        rbPedra.setOnClickListener(v -> jogar(0));
        rbPapel.setOnClickListener(v -> jogar(1));
        rbTesoura.setOnClickListener(v -> jogar(2));

        btnNovaPartida.setOnClickListener(v -> resetar());
        btnInformacoes.setOnClickListener(v -> informacao());
    }

    public void informacao() {
        Intent it = new Intent(PrimeiraActivity.this, SegundaActivity.class);
        startActivity(it);
    }

    public void jogar(int escolhaJogador) {
        int escolhaComputador = (int) (Math.random() * 3);

        imgJogador.setImageResource(imagens[escolhaJogador]);
        imgComputador.setImageResource(imagens[escolhaComputador]);

        tvEscolha.setText("Computador escolheu: " + opcoes[escolhaComputador]);

        if (escolhaJogador == escolhaComputador) {
            empates++;
        } else if ((escolhaJogador == 0 && escolhaComputador == 1) ||
                (escolhaJogador == 1 && escolhaComputador == 2) ||
                (escolhaJogador == 2 && escolhaComputador == 0)) {
            vitorias++;
        } else {
            derrotas++;
        }

        partidas++;
        atualizarPlacar();
    }

    public void atualizarPlacar() {
        tvPartidas.setText("Partidas: " + partidas);
        tvVitorias.setText("Vitórias: " + vitorias);
        tvDerrota.setText("Derrotas: " + derrotas);
        tvEmpate.setText("Empates: " + empates);
    }

    public void resetar() {
        vitorias = derrotas = empates = partidas = 0;

        rbPedra.setChecked(false);
        rbPapel.setChecked(false);
        rbTesoura.setChecked(false);

        tvEscolha.setText("Escolha do computador: ");
        imgJogador.setImageDrawable(null);
        imgComputador.setImageDrawable(null);

        atualizarPlacar();
    }
    public void volta(View v){
        finish();
    }
}
