tudo comleto!!

This commit is contained in:
250408
2026-05-29 15:40:43 +01:00
parent 2c10eb79be
commit fe4297c663

View File

@@ -16,7 +16,6 @@ public class Mavenproject4 {
Random random = new Random(); Random random = new Random();
while (true) { while (true) {
System.out.println("\n╔════════════════════════════════════╗"); System.out.println("\n╔════════════════════════════════════╗");
System.out.println("║ PORTAL PRINCIPAL ║"); System.out.println("║ PORTAL PRINCIPAL ║");
System.out.println("╠════════════════════════════════════╣"); System.out.println("╠════════════════════════════════════╣");
@@ -30,94 +29,106 @@ public class Mavenproject4 {
scanner.nextLine(); scanner.nextLine();
switch (R) { switch (R) {
// REGISTAR // REGISTAR
case 1: case 1:
System.out.print("Nome: "); System.out.print("Nome: ");
String email = scanner.nextLine(); String email = scanner.nextLine();
System.out.print("Senha: "); System.out.print("Senha: ");
String senha = scanner.nextLine(); String senha = scanner.nextLine();
escreverNoFicheiro(email, senha, "0", "utilizadores.txt"); escreverNoFicheiro(email, senha, "0", "utilizadores.txt");
System.out.println("Registado com sucesso!"); System.out.println("Registado com sucesso!");
break; break;
// LOGIN // LOGIN
case 2: case 2:
System.out.print("Nome: "); System.out.print("Nome: ");
String emailLogin = scanner.nextLine(); String emailLogin = scanner.nextLine();
System.out.print("Senha: "); System.out.print("Senha: ");
String senhaLogin = scanner.nextLine(); String senhaLogin = scanner.nextLine();
if (verificarLogin(emailLogin, senhaLogin, "utilizadores.txt")) { if (verificarLogin(emailLogin, senhaLogin, "utilizadores.txt")) {
System.out.println("Login bem-sucedido!"); System.out.println("Login bem-sucedido!");
while (true) { while (true) {
System.out.println("\n╔════════════════════════════════════╗"); System.out.println("\n╔════════════════════════════════════╗");
System.out.println("║ MENU UTILIZADOR ║"); System.out.println("║ MENU UTILIZADOR ║");
System.out.println("╠════════════════════════════════════╣"); System.out.println("╠════════════════════════════════════╣");
System.out.println("║ 1 ➜ Depositar ║"); System.out.println("║ 1 ➜ Depositar ║");
System.out.println("║ 2 ➜ Ver Saldo "); System.out.println("║ 2 ➜ Sacar Dinheiro");
System.out.println("║ 3 ➜ Menu de Jogos"); System.out.println("║ 3 ➜ Ver Saldo ");
System.out.println("║ 4 ➜ Logout "); System.out.println("║ 4 ➜ Menu de Jogos");
System.out.println("║ 5 ➜ Logout ║");
if (admin) { if (admin) {
System.out.println("║ 5 ➜ Painel Admin ║");
System.out.println("║ 6 ➜ Painel Admin ║");
} }
System.out.println("╚════════════════════════════════════╝"); System.out.println("╚════════════════════════════════════╝");
System.out.print("Opção: "); System.out.print("Opção: ");
int op = scanner.nextInt(); int op = scanner.nextInt();
switch (op) { switch (op) {
// DEPOSITAR // DEPOSITAR
case 1: case 1:
System.out.print("Valor a depositar: "); System.out.print("Valor a depositar: ");
int deposito = scanner.nextInt(); int deposito = scanner.nextInt();
if (deposito > 100000) { if (deposito > 100000) {
System.out.println("Não podes depositar mais de 100.000€!"); System.out.println("Não podes depositar mais de 100.000€!");
break; break;
} }
if (deposito <= 0) { if (deposito <= 0) {
System.out.println("Valor inválido!"); System.out.println("Valor inválido!");
break; break;
} }
saldoAtual += deposito; saldoAtual += deposito;
atualizarSaldo("utilizadores.txt"); atualizarSaldo("utilizadores.txt");
System.out.println("Novo saldo: " + saldoAtual); System.out.println("Novo saldo: " + saldoAtual);
break; break;
// VER SALDO // SACAR DINHEIRO
case 2: case 2:
System.out.print("Valor a sacar: ");
int saque = scanner.nextInt();
System.out.println("Seu saldo é: " + saldoAtual); if (saque <= 0) {
System.out.println("Valor inválido!");
break;
}
if (saque > saldoAtual) {
System.out.println("Saldo insuficiente!");
break;
}
saldoAtual -= saque;
atualizarSaldo("utilizadores.txt");
System.out.println("Levantaste: " + saque + "");
System.out.println("Saldo atual: " + saldoAtual + "");
break; break;
// MENU DE JOGOS // VER SALDO
case 3: case 3:
System.out.println("Seu saldo é: " + saldoAtual + "");
break;
// MENU DE JOGOS
case 4:
menuJogos: menuJogos:
while (true) {
while (true) {
System.out.println("\n╔════════════════════════════════════╗"); System.out.println("\n╔════════════════════════════════════╗");
System.out.println("║ MENU DE JOGOS ║"); System.out.println("║ MENU DE JOGOS ║");
System.out.println("╠════════════════════════════════════╣"); System.out.println("╠════════════════════════════════════╣");
@@ -131,181 +142,231 @@ public class Mavenproject4 {
int opcao = scanner.nextInt(); int opcao = scanner.nextInt();
switch (opcao) { switch (opcao) {
// GOLDEN NUMBER // GOLDEN NUMBER
case 1: case 1:
while (true) {
System.out.println("|==========| Golden Number |==========|"); System.out.println("|==========| Golden Number |==========|");
System.out.println("Quanto desejas apostar?"); System.out.println("Quanto desejas apostar?");
int dinheiroApostado = scanner.nextInt(); int dinheiroApostado = scanner.nextInt();
if (dinheiroApostado > saldoAtual) { if (dinheiroApostado > saldoAtual) {
System.out.println("Saldo insuficiente!");
break;
}
System.out.println("Saldo insuficiente!"); if (dinheiroApostado <= 0) {
break; System.out.println("Valor inválido!");
break;
}
System.out.println("Introduza um número de 1 a 9");
int numeroEscolhido = scanner.nextInt();
if (numeroEscolhido > 9 || numeroEscolhido < 1) {
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);
System.out.println("\nDesejas continuar?");
System.out.println("1 - Sim");
System.out.println("2 - Não");
int continuar = scanner.nextInt();
if (continuar != 1) {
break;
}
} }
System.out.println("Introduza um número de 1 a 9"); break;
int numeroEscolhido = scanner.nextInt();
if (numeroEscolhido > 9) {
System.out.println("Número não reconhecido");
break;
}
saldoAtual -= dinheiroApostado; //////////////////// SLOT MACHINE ////////////////////
case 2:
while (true) {
atualizarSaldo("utilizadores.txt"); System.out.println("|==========| Slot Machine |==========|");
int numeroRandom = random.nextInt(9) + 1; System.out.println("Regras:");
System.out.println("🍒 🍒 🍒 = x5");
System.out.println("💎 💎 💎 = x50");
System.out.println("🎰 🎰 🎰 = x1000");
System.out.println("O número aleatório foi: " + numeroRandom); System.out.print("Valor a apostar: ");
if (numeroEscolhido == numeroRandom) { int dinheiroApostado2 = scanner.nextInt();
int premio = dinheiroApostado * 2; if (dinheiroApostado2 > saldoAtual) {
System.out.println("Saldo insuficiente!");
break;
}
saldoAtual += premio; if (dinheiroApostado2 <= 0) {
System.out.println("Valor inválido!");
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"); atualizarSaldo("utilizadores.txt");
System.out.println("GANHASTE!"); System.out.println("Saldo atual: " + saldoAtual);
System.out.println("Recebeste: " + premio);
} else { System.out.println("\nDesejas continuar?");
System.out.println("1 - Sim");
System.out.println("2 - Não");
System.out.println("Perdeste..."); int continuar = scanner.nextInt();
if (continuar != 1) {
break;
}
} }
System.out.println("Saldo atual: " + saldoAtual);
break; break;
//////////////////// PAR OU ÍMPAR ////////////////////
case 3:
while (true) {
// SLOT MACHINE System.out.println("|==========| Par ou Ímpar |==========|");
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: "); System.out.println("Quanto desejas apostar?");
int dinheiroApostado2 = scanner.nextInt(); int dinheiroApostado3 = scanner.nextInt();
if (dinheiroApostado2 > saldoAtual) { if (dinheiroApostado3 > saldoAtual) {
System.out.println("Saldo insuficiente!");
break;
}
System.out.println("Saldo insuficiente!"); if (dinheiroApostado3 <= 0) {
System.out.println("Valor inválido!");
break; break;
}
}
saldoAtual -= dinheiroApostado2; System.out.println("1 - Par");
System.out.println("2 - Ímpar");
atualizarSaldo("utilizadores.txt"); int escolha = scanner.nextInt();
String[] simbolos = {"🍒", "💎", "🎰"}; if (escolha != 1 && escolha != 2) {
System.out.println("Opção inválida!");
String s1 = simbolos[random.nextInt(simbolos.length)]; break;
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;
saldoAtual -= dinheiroApostado3;
atualizarSaldo("utilizadores.txt"); atualizarSaldo("utilizadores.txt");
System.out.println("GANHASTE!"); int numero = random.nextInt(100) + 1;
System.out.println("Recebeste: " + premio);
} else { System.out.println("Número sorteado: " + numero);
System.out.println("Perdeste!"); 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);
System.out.println("\nDesejas continuar?");
System.out.println("1 - Sim");
System.out.println("2 - Não");
int continuar = scanner.nextInt();
if (continuar != 1) {
break;
}
} }
System.out.println("Saldo atual: " + saldoAtual);
break; break;
// VOLTAR // VOLTAR
case 4: case 4:
System.out.println("A voltar ao Menu Utilizador..."); System.out.println("A voltar ao Menu Utilizador...");
@@ -314,22 +375,24 @@ public class Mavenproject4 {
default: default:
System.out.println("Opção inválida"); System.out.println("Opção inválida");
} }
} }
break; break;
// LOGOUT // LOGOUT
case 4: case 5:
System.out.println("Logout..."); System.out.println("Logout...");
break; break;
// PAINEL ADMIN // PAINEL ADMIN
case 5: case 6:
if (admin) { if (admin) {
System.out.println("\n╔════════════════════════════════════╗"); System.out.println("\n╔════════════════════════════════════╗");
System.out.println("║ PAINEL DE ADMIN ║"); System.out.println("║ PAINEL DE ADMIN ║");
System.out.println("╚════════════════════════════════════╝"); System.out.println("╚════════════════════════════════════╝");
@@ -337,52 +400,58 @@ public class Mavenproject4 {
String[] dados = lerFicheiro("utilizadores.txt"); String[] dados = lerFicheiro("utilizadores.txt");
for (int i = 0; i < dados.length; i += 3) { for (int i = 0; i < dados.length; i += 3) {
if (i + 2 >= dados.length) { if (i + 2 >= dados.length) {
break; break;
} }
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━"); System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━");
System.out.println("Utilizador: " + dados[i]); System.out.println("Utilizador: " + dados[i]);
System.out.println("Senha: " + dados[i + 1]); System.out.println("Senha: " + dados[i + 1]);
System.out.println("Saldo: " + dados[i + 2]); System.out.println("Saldo: " + dados[i + 2]);
} }
} else { } else {
System.out.println("Acesso negado."); System.out.println("Acesso negado.");
} }
break; break;
default: default:
System.out.println("Opção inválida"); System.out.println("Opção inválida");
} }
if (op == 4) { if (op == 5) {
break; break;
} }
} }
} else { } else {
System.out.println("Nome ou senha incorretos."); System.out.println("Nome ou senha incorretos.");
} }
break; break;
// SAIR // SAIR
case 3: case 3:
System.out.println("Adeus!"); System.out.println("Adeus!");
return; return;
default: default:
System.out.println("Opção inválida"); System.out.println("Opção inválida");
} }
} }
} }
// ESCREVER UTILIZADOR // ESCREVER UTILIZADOR
@@ -391,70 +460,66 @@ public class Mavenproject4 {
try { try {
BufferedWriter bw = new BufferedWriter(new FileWriter(nomeFicheiro, true)); BufferedWriter bw = new BufferedWriter(new FileWriter(nomeFicheiro, true));
bw.write(email); bw.write(email);
bw.newLine(); bw.newLine();
bw.write(senha); bw.write(senha);
bw.newLine(); bw.newLine();
bw.write(saldo); bw.write(saldo);
bw.newLine(); bw.newLine();
bw.close(); bw.close();
} catch (IOException e) { } catch (IOException e) {
System.out.println("Erro ao escrever."); System.out.println("Erro ao escrever.");
} }
} }
// LER FICHEIRO // LER FICHEIRO
private static String[] lerFicheiro(String nomeFicheiro) { private static String[] lerFicheiro(String nomeFicheiro) {
try { try {
File ficheiro = new File(nomeFicheiro); File ficheiro = new File(nomeFicheiro);
if (!ficheiro.exists()) { if (!ficheiro.exists()) {
ficheiro.createNewFile(); ficheiro.createNewFile();
} }
Scanner leitor = new Scanner(ficheiro); Scanner leitor = new Scanner(ficheiro);
String conteudo = ""; String conteudo = "";
while (leitor.hasNextLine()) { while (leitor.hasNextLine()) {
conteudo += leitor.nextLine() + "\n"; conteudo += leitor.nextLine() + "\n";
} }
leitor.close(); leitor.close();
return conteudo.split("\n"); return conteudo.split("\n");
} catch (IOException e) { } catch (IOException e) {
System.out.println("Erro ao ler ficheiro."); System.out.println("Erro ao ler ficheiro.");
return new String[0]; return new String[0];
} }
} }
// LOGIN // LOGIN
private static boolean verificarLogin(String email, String senha, String nomeFicheiro) { private static boolean verificarLogin(String email, String senha, String nomeFicheiro) {
try { try {
String[] dados = lerFicheiro(nomeFicheiro); String[] dados = lerFicheiro(nomeFicheiro);
for (int i = 0; i < dados.length; i += 3) { for (int i = 0; i < dados.length; i += 3) {
if (i + 2 >= dados.length) { if (i + 2 >= dados.length) {
break; break;
} }
String emailGuardado = dados[i]; String emailGuardado = dados[i];
String senhaGuardada = dados[i + 1]; String senhaGuardada = dados[i + 1];
int saldo = Integer.parseInt(dados[i + 2]); int saldo = Integer.parseInt(dados[i + 2]);
if (email.equals(emailGuardado) if (email.equals(emailGuardado)
@@ -463,50 +528,51 @@ public class Mavenproject4 {
saldoAtual = saldo; saldoAtual = saldo;
indexUtilizador = i; indexUtilizador = i;
// ADMIN
if (email.equalsIgnoreCase("Admin")) { if (email.equalsIgnoreCase("Admin")) {
admin = true; admin = true;
} else { } else {
admin = false; admin = false;
} }
return true; return true;
} }
} }
} catch (Exception e) { } catch (Exception e) {
System.out.println("Erro no login."); System.out.println("Erro no login.");
} }
return false; return false;
} }
// ATUALIZAR SALDO // ATUALIZAR SALDO
private static void atualizarSaldo(String nomeFicheiro) { private static void atualizarSaldo(String nomeFicheiro) {
try { try {
String[] dados = lerFicheiro(nomeFicheiro); String[] dados = lerFicheiro(nomeFicheiro);
dados[indexUtilizador + 2] = String.valueOf(saldoAtual); dados[indexUtilizador + 2] = String.valueOf(saldoAtual);
BufferedWriter bw = new BufferedWriter(new FileWriter(nomeFicheiro)); BufferedWriter bw = new BufferedWriter(new FileWriter(nomeFicheiro));
for (String linha : dados) { for (String linha : dados) {
bw.write(linha); bw.write(linha);
bw.newLine(); bw.newLine();
} }
bw.close(); bw.close();
} catch (IOException e) { } catch (IOException e) {
System.out.println("Erro ao atualizar saldo."); System.out.println("Erro ao atualizar saldo.");
} }
} }
} }