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