caua_coelho/testemercurial

Adicionando arquivos .java de Baralho

Commit 543dba5415b9 · caua_coelho · 2026-05-07 14:39 -0300

Changeset
543dba5415b9faf00f422e40bb50235de4aa1829

View source at this commit

Comments

No comments yet.

Log in to comment

Diff

diff --git a/testemercurial/baralho/Baralho.java b/testemercurial/baralho/Baralho.java
new file mode 100644
--- /dev/null
+++ b/testemercurial/baralho/Baralho.java
@@ -0,0 +1,13 @@
+package br.unitins.baralho;
+
+public interface Baralho {
+    public enum Naipe {
+        OUROS, PAUS, COPAS, ESPADAS
+    }
+    
+    public void embaralhar(int numeroVezes);
+    public Carta distribuir();
+    public void reiniciar();
+    public int tamanho();
+
+}
diff --git a/testemercurial/baralho/BaralhoImplementacao.java b/testemercurial/baralho/BaralhoImplementacao.java
new file mode 100644
--- /dev/null
+++ b/testemercurial/baralho/BaralhoImplementacao.java
@@ -0,0 +1,57 @@
+package br.unitins.baralho;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Scanner;
+
+public class BaralhoImplementacao implements Baralho {
+    Scanner scan = new Scanner(System.in);
+    Carta cartas[] = new Carta[52];
+    List<Carta> baralho = new ArrayList<>(Arrays.asList(cartas));
+    Carta jogador1[] = new Carta[scan.nextInt()];
+    Carta jogador2[] = new Carta[scan.nextInt()];
+
+    @Override
+    public void embaralhar(int numeroVezes) {
+        for (int i = 0; i < numeroVezes; i++) {
+            Collections.shuffle(baralho);
+        }
+    }
+
+    @Override
+    public Carta distribuir() {
+        int numCartasJogador = scan.nextInt();
+        if (numCartasJogador == 0) {
+            System.out.print("Digite o número de cartas para o jogador: ");
+            return baralho.remove(scan.nextInt());
+        }
+
+        return baralho.remove(0); // Retornar a carta distribuída
+    }
+
+    @Override
+    public void reiniciar() {
+        // Adicionar cartas dos jogadores de volta ao baralho
+        for (Carta carta : jogador1) {
+            if (carta != null) {
+                baralho.add(carta);
+            }
+        }
+        for (Carta carta : jogador2) {
+            if (carta != null) {
+                baralho.add(carta);
+            }
+        }
+        // Zerar as cartas dos jogadores
+        jogador1 = new Carta[0];
+        jogador2 = new Carta[0];
+    }
+
+    @Override
+    public int tamanho() {
+        return baralho.size(); // Retornar o tamanho atual do baralho
+    }
+
+}
diff --git a/testemercurial/baralho/Carta.java b/testemercurial/baralho/Carta.java
new file mode 100644
--- /dev/null
+++ b/testemercurial/baralho/Carta.java
@@ -0,0 +1,13 @@
+package br.unitins.baralho;
+
+public interface Carta {
+
+    void setValorFace(int valorDaCarta);
+
+    int getValorFace(int valorDaCarta);
+
+    void setNaipe(Baralho.Naipe naipe);
+
+    Baralho.Naipe getNaipe();
+
+}
diff --git a/testemercurial/baralho/CartaImplementacao.java b/testemercurial/baralho/CartaImplementacao.java
new file mode 100644
--- /dev/null
+++ b/testemercurial/baralho/CartaImplementacao.java
@@ -0,0 +1,5 @@
+package br.unitins.baralho;
+
+public class CartaImplementacao {
+    
+}
diff --git a/testemercurial/baralho/Main.java b/testemercurial/baralho/Main.java
new file mode 100644
--- /dev/null
+++ b/testemercurial/baralho/Main.java
@@ -0,0 +1,24 @@
+package br.unitins.baralho;
+
+import java.util.Scanner;
+
+public class Main {
+    public static void main(String[] args) {
+        Scanner scan = new Scanner(System.in);
+        Carta jogador1[] = new Carta[scan.nextInt()];
+        Carta jogador2[] = new Carta[scan.nextInt()];
+        BaralhoImplementacao baralhoImplementacao = new BaralhoImplementacao();
+        
+        System.out.println("Digite o número de vezes para embaralhar o baralho: ");
+        baralhoImplementacao.embaralhar(scan.nextInt());
+        
+        System.out.println("Digite o número de cartas para o jogador 1: ");
+        baralhoImplementacao.distribuir();
+        
+        System.out.println("Digite o número de cartas para o jogador 2: ");
+        baralhoImplementacao.distribuir();
+        
+        System.out.println("Número de cartas restantes no baralho: " + baralhoImplementacao.tamanho());
+        baralhoImplementacao.reiniciar();
+    }
+}