caua_coelho/testemercurial
Adicionando arquivos .java de Baralho
Commit 543dba5415b9 · caua_coelho · 2026-05-07 14:39 -0300
Comments
No comments yet.
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();
+ }
+}