Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package entidades;
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- import java.util.Scanner;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import javax.swing.JLabel;
- public class Jogo extends JFrame {
- private static JLabel carta1 = new JLabel("");
- private static JLabel carta2 = new JLabel("");
- private static JLabel carta3 = new JLabel("");
- private static JLabel carta4 = new JLabel("");
- private JPanel contentPane;
- public static Baralho baralho;
- public static Scanner sc = new Scanner(System.in);
- public static Jogador truco = new Jogador();
- public static List<Rodada> rodada = new ArrayList<>();
- public static List<Jogador> jogadores = new ArrayList<>();
- public static List<String> nomes = new ArrayList<>();
- public static String[] pesoDasCartas = { "4", "5", "6", "7", "Q", "J", "K", "A", "2", "3" };
- public static int pontosTimeParRodada = 0;
- public static int pontosTimeParTotal = 0;
- public static int pontosTimeImparRodada = 0;
- public static int pontosTimeImparTotal = 0;
- public static Carta vira = new Carta();
- public static Jogo frame = new Jogo();
- public static tela tela = new tela();
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- darCartas();
- iniciarJogo();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public Jogo() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 450, 300);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
- JLabel lblNewLabel = new JLabel("Jogador 1");
- lblNewLabel.setBounds(193, 236, 65, 14);
- contentPane.add(lblNewLabel);
- JLabel lblNewLabel_1 = new JLabel("Jogador 4");
- lblNewLabel_1.setBounds(10, 115, 65, 14);
- contentPane.add(lblNewLabel_1);
- JLabel lblNewLabel_2 = new JLabel("Jogador 2");
- lblNewLabel_2.setBounds(378, 115, 46, 14);
- contentPane.add(lblNewLabel_2);
- JLabel lblNewLabel_3 = new JLabel("Jogador 3");
- lblNewLabel_3.setBounds(193, 11, 65, 14);
- contentPane.add(lblNewLabel_3);
- carta1.setBounds(193, 179, 46, 14);
- contentPane.add(carta1);
- carta4.setBounds(111, 115, 46, 14);
- contentPane.add(carta4);
- carta2.setBounds(275, 115, 46, 14);
- contentPane.add(carta2);
- carta3.setBounds(193, 54, 46, 14);
- contentPane.add(carta3);
- }
- private static String mostrarPlacar() {
- return "Time Par " + pontosTimeParTotal + " x " + pontosTimeImparTotal + " Time Impar";
- }
- public static void iniciarJogo() {
- verificaGanhadorUtilizandoACarta1();
- verificaGanhadorUtilizandoACarta2();
- if (pontosTimeParRodada == pontosTimeImparRodada) {
- verificaGanhadorUtilizandoACarta3();
- }
- verificaGanhadorDaRodada();
- limparRegistros();
- System.out.println(mostrarPlacar());
- }
- private static void limparRegistros() {
- pontosTimeParRodada = 0;
- pontosTimeImparRodada = 0;
- jogadores.clear();
- }
- private static void verificaGanhadorDaRodada() {
- if (pontosTimeParRodada > pontosTimeImparRodada) {
- System.out.println("Time Par Venceu a Mão");
- pontosTimeParTotal++;
- } else if (pontosTimeParRodada < pontosTimeImparRodada) {
- System.out.println("Time Impar Venceu a Mão");
- pontosTimeImparTotal++;
- } else {
- System.out.println("Houve empate entre as 3 carta, rodada desconsiderada");
- }
- }
- private static void verificaGanhadorUtilizandoACarta3() {
- mostrarCartas3();
- List<Integer> pesos = new ArrayList<>();
- int empate = 0;
- String timeVencedor = "";
- for (Jogador jog : jogadores) {
- rodada.add(new Rodada(defineTime(jog.time), definirPesos(jog.carta3)));
- pesos.add(definirPesos(jog.carta3));
- }
- for (Rodada rod : rodada) {
- if (rod.getPesoCarta() == Collections.max(pesos)) {
- timeVencedor = rod.getTime();
- empate++;
- }
- }
- adicionarPontoRodada(verificaSeHouveEmpate(empate), timeVencedor);
- rodada.clear();
- }
- private static void verificaGanhadorUtilizandoACarta2() {
- mostrarCartas2();
- List<Integer> pesos = new ArrayList<>();
- int empate = 0;
- String timeVencedor = "";
- for (Jogador jog : jogadores) {
- rodada.add(new Rodada(defineTime(jog.time), definirPesos(jog.carta2)));
- pesos.add(definirPesos(jog.carta2));
- }
- for (Rodada rod : rodada) {
- if (rod.getPesoCarta() == Collections.max(pesos)) {
- timeVencedor = rod.getTime();
- empate++;
- }
- }
- adicionarPontoRodada(verificaSeHouveEmpate(empate), timeVencedor);
- rodada.clear();
- }
- private static void verificaGanhadorUtilizandoACarta1() {
- mostrarCartas1();
- List<Integer> pesos = new ArrayList<>();
- int empate = 0;
- String timeVencedor = "";
- Integer nrodada = 1;
- cartasNaTela(nrodada);
- System.out.println(" sfafsfasf");
- for (Jogador jog : jogadores) {
- rodada.add(new Rodada(defineTime(jog.time), definirPesos(jog.carta1)));
- pesos.add(definirPesos(jog.carta1));
- }
- for (Rodada rod : rodada) {
- if (rod.getPesoCarta() == Collections.max(pesos)) {
- timeVencedor = rod.getTime();
- empate++;
- }
- }
- adicionarPontoRodada(verificaSeHouveEmpate(empate), timeVencedor);
- rodada.clear();
- }
- private static void cartasNaTela(Integer nrodada) {
- if (nrodada == 1) {
- for (Jogador jog : jogadores) {
- carta1.setText(jog.carta1.getCarta() + " " + jog.carta1.getNaipe());;
- }}else if (nrodada == 2){
- for (Jogador jog : jogadores) {
- }}else {
- for (Jogador jog : jogadores) {
- }
- }
- }
- private static void adicionarPontoRodada(boolean verificaSeHouveEmpate, String timeVencedor) {
- if (verificaSeHouveEmpate == true) {
- System.out.println("Rodada Empatada");
- } else {
- adicionarPontoAoTimeRodada(timeVencedor);
- }
- }
- private static void adicionarPontoAoTimeRodada(String time) {
- if (time.equals("Time Par")) {
- pontosTimeParRodada++;
- System.out.println("Time Par venceu rodada de cartas");
- } else {
- pontosTimeImparRodada++;
- System.out.println("Time Impar venceu rodada de cartas");
- }
- }
- private static boolean verificaSeHouveEmpate(Integer empate) {
- if (empate > 1) {
- return true;
- } else {
- return false;
- }
- }
- private static String defineTime(Integer time) {
- if (time % 2 == 0) {
- return "Time Par";
- } else {
- return "Time Impar";
- }
- }
- private static Integer definirPesos(Carta carta) {
- int valorVira;
- valorVira = pesoDasCartas(vira.getCarta());
- int pesoDaCarta = 0;
- pesoDaCarta = pesoDasCartas(carta.getCarta());
- if (pesoDaCarta == valorVira + 1 || (pesoDaCarta == 0 && valorVira == 9)) {
- pesoDaCarta = verificaNipe(carta.getNaipe());
- }
- return pesoDaCarta;
- }
- private static int verificaNipe(String naipe) {
- switch (naipe) {
- case "Ouro":
- return 10;
- case "Espada":
- return 11;
- case "Copas":
- return 12;
- case "Paus":
- return 13;
- default:
- return 0;
- }
- }
- private static int pesoDasCartas(String carta) {
- int cont = 0;
- for (String peso : pesoDasCartas) {
- if (peso.equals(carta)) {
- return cont;
- }
- cont++;
- }
- return 0;
- }
- /*
- * public static void inserirNomeJogadores() { for (int i = 1; i < 5; i++) {
- * System.out.println(i % 2 == 0 ? "Insira o jogador Nº" + i +
- * "! Pertencera ao time Par" : "Insira o jogador Nº" + i +
- * "! Pertencera ao time Impar"); String nome = sc.next();
- *
- * if (verificarNomesIguais(nome) == true) {
- * System.out.println("Não pode conter o mesmo nome, diferencie!!!"); i--; }
- * else { nomes.add(nome); System.out.println(nome + " cadastrado com sucesso");
- * }
- *
- * } }
- */
- public static boolean verificarNomesIguais(String nome) {
- if (nomes.contains(nome)) {
- return true;
- } else {
- return false;
- }
- }
- public static void darCartas() {
- baralho = new Baralho();
- truco.formarBaralhoDeTruco(baralho);
- baralho.embaralharCartas();
- List<Carta> listAux = new ArrayList<>();
- int cont = 1;
- for (String nome : tela.getNomes1()) {
- for (int i = 0; i < 3; i++) {
- listAux.add(baralho.retirarCarta());
- }
- jogadores.add(new Jogador(nome, listAux.get(0), listAux.get(1), listAux.get(2), cont));
- listAux.clear();
- cont++;
- }
- vira = baralho.retirarCarta();
- System.out.println("Vira: " + vira.getCarta() + " " + vira.getNaipe());
- }
- public static void mostrarCartas1() {
- List<Carta> listAux = new ArrayList<>();
- for (Jogador jogador : jogadores) {
- System.out.println(
- jogador.getNome() + ": " + jogador.getCarta1().getCarta() + " " + jogador.getCarta1().getNaipe());
- }
- }
- public static void mostrarCartas2() {
- List<Carta> listAux = new ArrayList<>();
- for (Jogador jogador : jogadores) {
- System.out.println(
- jogador.getNome() + ": " + jogador.getCarta2().getCarta() + " " + jogador.getCarta2().getNaipe());
- }
- }
- public static void mostrarCartas3() {
- List<Carta> listAux = new ArrayList<>();
- for (Jogador jogador : jogadores) {
- System.out.println(
- jogador.getNome() + ": " + jogador.getCarta3().getCarta() + " " + jogador.getCarta3().getNaipe());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement