Quase tudo comleto 2

This commit is contained in:
250408
2026-05-08 13:52:57 +01:00
parent 7d50fb7521
commit c6caa3b93a

View File

@@ -15,6 +15,7 @@ public class Mavenproject4 {
Random random = new Random();
while (true) {
System.out.println("\n╔════════════════════════════════════╗");
System.out.println("║ PORTAL PRINCIPAL ║");
System.out.println("╠════════════════════════════════════╣");
@@ -31,31 +32,40 @@ public class Mavenproject4 {
// 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 ➜ Sair ");
System.out.println("║ 4 ➜ Logout");
System.out.println("╚════════════════════════════════════╝");
System.out.print("Opção: ");
@@ -63,19 +73,31 @@ public class Mavenproject4 {
switch (op) {
// DEPOSITAR
case 1:
System.out.print("Valor a depositar: ");
int deposito = scanner.nextInt();
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
case 3:
menuJogos:
while (true) {
System.out.println("\n╔════════════════════════════════════╗");
@@ -84,93 +106,115 @@ public class Mavenproject4 {
System.out.println("║ 1 ➜ Golden Number ║");
System.out.println("║ 2 ➜ Slot Machine Simples ║");
System.out.println("║ 3 ➜ Par ou Ímpar ║");
System.out.println("║ 4 ➜ Sair ");
System.out.println("║ 4 ➜ Voltar");
System.out.println("╚════════════════════════════════════╝");
System.out.print("Opção: ");
int opcao = scanner.nextInt();
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();
saldoAtual -= dinheiroApostado;
atualizarSaldo("utilizadores.txt");
int numeroRandom = random.nextInt(9) + 1;
int saldo2x = dinheiroApostado * 2;
System.out.println("O número aleatório entre 1 a 9 foi " + numeroRandom);
System.out.println("O número aleatório foi: " + numeroRandom);
if (numeroEscolhido == numeroRandom) {
System.out.println("GANHASTE! Conseguiu adquirir o dobro do dinheiro que apostaste!");
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("Seu saldo atual é: " + saldoAtual);
System.out.println("Saldo atual: " + saldoAtual);
break;
// SLOT MACHINE
case 2:
System.out.println("|==========| Slot Machine |==========|");
System.out.println("Regras: \n"
+ "🍒 🍒 🍒 = x5\n"
+ "💎 💎 💎 = x50\n"
+ "7 7 7 = JackPot");
System.out.print("Insira o valor a apostar: ");
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 = {"🍒", "💎", "7"};
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!");
saldoAtual += premio;
System.out.println("💎💎💎 MEGA WIN x50!");
System.out.println("Prémio: " + premio);
} else if (s1.equals("7") && s2.equals("7") && s3.equals("7")) {
} else if (s1.equals("🎰") && s2.equals("🎰") && s3.equals("🎰")) {
int premio = dinheiroApostado2 * 1000;
saldoAtual += premio;
System.out.println("🎰 JACKPOT 777 x1000 🎰");
System.out.println("Prémio: " + premio);
} else if (s1.equals(s2) && s2.equals(s3)) {
int premio = dinheiroApostado2 * 2;
saldoAtual += premio;
System.out.println("3 símbolos iguais! x2");
System.out.println("🎰 JACKPOT x1000 🎰");
System.out.println("Prémio: " + premio);
} else {
@@ -179,39 +223,55 @@ public class Mavenproject4 {
}
atualizarSaldo("utilizadores.txt");
System.out.println("Saldo atual: " + saldoAtual);
break;
// PAR OU ÍMPAR
case 3:
System.out.println("|==========| Par ou Ímpar |==========|");
System.out.println("Regras do jogo: Dependendo do que escolher (Par ou Ímpar) irá ser sorteado um numero aleatório (Par ou Ímpar) se Ganhar multiplica-se por 2");
System.out.println("Qunto desejas apostar?");
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("Escolhe:");
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)) {
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);
@@ -221,21 +281,26 @@ public class Mavenproject4 {
}
System.out.println("Saldo atual: " + saldoAtual);
break;
// VOLTAR
case 4:
System.out.println("Adeus!");
return;
System.out.println("A voltar ao Menu Utilizador...");
break menuJogos;
default:
System.out.println("Opção inválida");
}
}
break;
// LOGOUT
case 4:
System.out.println("Logout...");
break;
@@ -244,130 +309,143 @@ public class Mavenproject4 {
System.out.println("Opção inválida");
}
if (op == 3) {
if (op == 4) {
break;
}
}
} else {
System.out.println("Nome ou senha incorretos.");
System.out.println("Nome ou senha incorretos.");
}
break;
// SAIR
case 3:
System.out.println("Adeus!");
System.out.println("Adeus!");
return;
default:
System.out.println("Opção inválida");
}
}
}
// ESCREVER UTILIZADOR
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.");
}
}
// 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 + CARREGAR SALDO
// 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) && senha.equals(senhaGuardada)) {
if (email.equals(emailGuardado)
&& senha.equals(senhaGuardada)) {
saldoAtual = saldo;
indexUtilizador = i;
return true;
}
}
} catch (Exception e) {
System.out.println("Erro no login.");
}
return false;
}
// ATUALIZAR SALDO NO FICHEIRO
// 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.");
}
}
}