From 2c10eb79be6d1c4d199921f4316fcae05534912f Mon Sep 17 00:00:00 2001 From: 250408 <250408@localhost> Date: Mon, 11 May 2026 12:45:33 +0100 Subject: [PATCH] tudo comleto!! --- .../mavenproject4/Mavenproject4.java | 255 +++++++++++++++--- 1 file changed, 222 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/mycompany/mavenproject4/Mavenproject4.java b/src/main/java/com/mycompany/mavenproject4/Mavenproject4.java index 70d0636..572ab40 100644 --- a/src/main/java/com/mycompany/mavenproject4/Mavenproject4.java +++ b/src/main/java/com/mycompany/mavenproject4/Mavenproject4.java @@ -66,11 +66,10 @@ public class Mavenproject4 { System.out.println("║ 1 ➜ Depositar ║"); System.out.println("║ 2 ➜ Ver Saldo ║"); System.out.println("║ 3 ➜ Menu de Jogos ║"); - System.out.println("║ 4 ➜ Sacar Dinheiro ║"); - System.out.println("║ 5 ➜ Logout ║"); + System.out.println("║ 4 ➜ Logout ║"); if (admin) { - System.out.println("║ 6 ➜ Painel Admin ║"); + System.out.println("║ 5 ➜ Painel Admin ║"); } System.out.println("╚════════════════════════════════════╝"); @@ -87,25 +86,30 @@ public class Mavenproject4 { int deposito = scanner.nextInt(); if (deposito > 100000) { + System.out.println("Não podes depositar mais de 100.000€!"); break; } if (deposito <= 0) { + System.out.println("Valor inválido!"); break; } saldoAtual += deposito; + atualizarSaldo("utilizadores.txt"); System.out.println("Novo saldo: " + saldoAtual); + break; // VER SALDO case 2: System.out.println("Seu saldo é: " + saldoAtual); + break; // MENU DE JOGOS @@ -128,45 +132,201 @@ public class Mavenproject4 { switch (opcao) { + // GOLDEN NUMBER + case 1: + + System.out.println("|==========| Golden Number |==========|"); + + System.out.println("Quanto desejas apostar?"); + int dinheiroApostado = scanner.nextInt(); + + if (dinheiroApostado > saldoAtual) { + + System.out.println("Saldo insuficiente!"); + break; + } + + System.out.println("Introduza um número de 1 a 9"); + int numeroEscolhido = scanner.nextInt(); + if (numeroEscolhido > 9) { + System.out.println("Número não reconhecido"); + break; + } + + saldoAtual -= dinheiroApostado; + + atualizarSaldo("utilizadores.txt"); + + int numeroRandom = random.nextInt(9) + 1; + + System.out.println("O número aleatório foi: " + numeroRandom); + + if (numeroEscolhido == numeroRandom) { + + int premio = dinheiroApostado * 2; + + saldoAtual += premio; + + atualizarSaldo("utilizadores.txt"); + + System.out.println("GANHASTE!"); + System.out.println("Recebeste: " + premio); + + } else { + + System.out.println("Perdeste..."); + } + + System.out.println("Saldo atual: " + saldoAtual); + + break; + + // SLOT MACHINE + case 2: + + System.out.println("|==========| Slot Machine |==========|"); + System.out.println("Regras:"); + System.out.println("🍒 🍒 🍒 = x5"); + System.out.println("💎 💎 💎 = x50"); + System.out.println("🎰 🎰 🎰 = x1000"); + + System.out.print("Valor a apostar: "); + int dinheiroApostado2 = scanner.nextInt(); + + if (dinheiroApostado2 > saldoAtual) { + + System.out.println("Saldo insuficiente!"); + + break; + + } + + saldoAtual -= dinheiroApostado2; + + atualizarSaldo("utilizadores.txt"); + + String[] simbolos = {"🍒", "💎", "🎰"}; + + String s1 = simbolos[random.nextInt(simbolos.length)]; + String s2 = simbolos[random.nextInt(simbolos.length)]; + String s3 = simbolos[random.nextInt(simbolos.length)]; + + System.out.println("\nA rodar..."); + System.out.println("| " + s1 + " | " + s2 + " | " + s3 + " |"); + + if (s1.equals("🍒") && s2.equals("🍒") && s3.equals("🍒")) { + + int premio = dinheiroApostado2 * 5; + saldoAtual += premio; + + System.out.println("🍒🍒🍒 GANHASTE x5!"); + System.out.println("Prémio: " + premio); + + } else if (s1.equals("💎") && s2.equals("💎") && s3.equals("💎")) { + + int premio = dinheiroApostado2 * 50; + saldoAtual += premio; + + System.out.println("💎💎💎 MEGA WIN x50!"); + System.out.println("Prémio: " + premio); + + } else if (s1.equals("🎰") && s2.equals("🎰") && s3.equals("🎰")) { + + int premio = dinheiroApostado2 * 1000; + saldoAtual += premio; + + System.out.println("🎰 JACKPOT x1000 🎰"); + System.out.println("Prémio: " + premio); + + } else { + + System.out.println("Perdeste!"); + } + + atualizarSaldo("utilizadores.txt"); + + System.out.println("Saldo atual: " + saldoAtual); + + break; + + // PAR OU ÍMPAR + case 3: + + System.out.println("|==========| Par ou Ímpar |==========|"); + + System.out.println("Quanto desejas apostar?"); + int dinheiroApostado3 = scanner.nextInt(); + + if (dinheiroApostado3 > saldoAtual) { + + System.out.println("Saldo insuficiente!"); + break; + } + + System.out.println("1 - Par"); + System.out.println("2 - Ímpar"); + + int escolha = scanner.nextInt(); + + if (escolha != 1 && escolha != 2) { + + System.out.println("Opção inválida!"); + break; + } + + saldoAtual -= dinheiroApostado3; + + atualizarSaldo("utilizadores.txt"); + + int numero = random.nextInt(100) + 1; + + System.out.println("Número sorteado: " + numero); + + boolean numeroPar = numero % 2 == 0; + + if ((numeroPar && escolha == 1) + || (!numeroPar && escolha == 2)) { + + int premio = dinheiroApostado3 * 2; + + saldoAtual += premio; + + atualizarSaldo("utilizadores.txt"); + + System.out.println("GANHASTE!"); + System.out.println("Recebeste: " + premio); + + } else { + + System.out.println("Perdeste!"); + } + + System.out.println("Saldo atual: " + saldoAtual); + + break; + + // VOLTAR case 4: + System.out.println("A voltar ao Menu Utilizador..."); break menuJogos; + + default: + + System.out.println("Opção inválida"); } } break; - // SACAR DINHEIRO - case 4: - - System.out.print("Valor a sacar: "); - int saque = scanner.nextInt(); - - if (saque <= 0) { - System.out.println("Valor inválido!"); - break; - } - - if (saque > saldoAtual) { - System.out.println("Não tens saldo suficiente!"); - break; - } - - saldoAtual -= saque; - atualizarSaldo("utilizadores.txt"); - - System.out.println("Saque efetuado com sucesso!"); - System.out.println("Saldo atual: " + saldoAtual); - break; - // LOGOUT - case 5: + case 4: System.out.println("Logout..."); break; - // ADMIN - case 6: + // PAINEL ADMIN + case 5: if (admin) { @@ -182,28 +342,31 @@ public class Mavenproject4 { break; } + System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━"); System.out.println("Utilizador: " + dados[i]); System.out.println("Senha: " + dados[i + 1]); System.out.println("Saldo: " + dados[i + 2]); - System.out.println("-------------------------"); } } else { + System.out.println("Acesso negado."); } break; default: + System.out.println("Opção inválida"); } - if (op == 5) { + if (op == 4) { break; } } } else { + System.out.println("Nome ou senha incorretos."); } @@ -211,10 +374,12 @@ public class Mavenproject4 { // SAIR case 3: + System.out.println("Adeus!"); return; default: + System.out.println("Opção inválida"); } } @@ -224,15 +389,22 @@ public class Mavenproject4 { private static void escreverNoFicheiro(String email, String senha, String saldo, String nomeFicheiro) { try { + BufferedWriter bw = new BufferedWriter(new FileWriter(nomeFicheiro, true)); + bw.write(email); bw.newLine(); + bw.write(senha); bw.newLine(); + bw.write(saldo); bw.newLine(); + bw.close(); + } catch (IOException e) { + System.out.println("Erro ao escrever."); } } @@ -241,6 +413,7 @@ public class Mavenproject4 { private static String[] lerFicheiro(String nomeFicheiro) { try { + File ficheiro = new File(nomeFicheiro); if (!ficheiro.exists()) { @@ -248,6 +421,7 @@ public class Mavenproject4 { } Scanner leitor = new Scanner(ficheiro); + String conteudo = ""; while (leitor.hasNextLine()) { @@ -259,6 +433,7 @@ public class Mavenproject4 { return conteudo.split("\n"); } catch (IOException e) { + System.out.println("Erro ao ler ficheiro."); return new String[0]; } @@ -268,6 +443,7 @@ public class Mavenproject4 { private static boolean verificarLogin(String email, String senha, String nomeFicheiro) { try { + String[] dados = lerFicheiro(nomeFicheiro); for (int i = 0; i < dados.length; i += 3) { @@ -281,18 +457,28 @@ public class Mavenproject4 { int saldo = Integer.parseInt(dados[i + 2]); - if (email.equals(emailGuardado) && senha.equals(senhaGuardada)) { + if (email.equals(emailGuardado) + && senha.equals(senhaGuardada)) { saldoAtual = saldo; indexUtilizador = i; - admin = email.equalsIgnoreCase("Admin"); + // ADMIN + if (email.equalsIgnoreCase("Admin")) { + + admin = true; + + } else { + + admin = false; + } return true; } } } catch (Exception e) { + System.out.println("Erro no login."); } @@ -303,6 +489,7 @@ public class Mavenproject4 { private static void atualizarSaldo(String nomeFicheiro) { try { + String[] dados = lerFicheiro(nomeFicheiro); dados[indexUtilizador + 2] = String.valueOf(saldoAtual); @@ -310,6 +497,7 @@ public class Mavenproject4 { BufferedWriter bw = new BufferedWriter(new FileWriter(nomeFicheiro)); for (String linha : dados) { + bw.write(linha); bw.newLine(); } @@ -317,6 +505,7 @@ public class Mavenproject4 { bw.close(); } catch (IOException e) { + System.out.println("Erro ao atualizar saldo."); } }