Quase tudo comleto
This commit is contained in:
373
src/main/java/com/mycompany/mavenproject4/Mavenproject4.java
Normal file
373
src/main/java/com/mycompany/mavenproject4/Mavenproject4.java
Normal file
@@ -0,0 +1,373 @@
|
|||||||
|
package com.mycompany.mavenproject4;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Mavenproject4 {
|
||||||
|
|
||||||
|
static int saldoAtual = 0;
|
||||||
|
static int indexUtilizador = -1;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
Random random = new Random();
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
System.out.println("\n╔════════════════════════════════════╗");
|
||||||
|
System.out.println("║ PORTAL PRINCIPAL ║");
|
||||||
|
System.out.println("╠════════════════════════════════════╣");
|
||||||
|
System.out.println("║ 1 ➜ Registar ║");
|
||||||
|
System.out.println("║ 2 ➜ Iniciar Sessão ║");
|
||||||
|
System.out.println("║ 3 ➜ Sair ║");
|
||||||
|
System.out.println("╚════════════════════════════════════╝");
|
||||||
|
System.out.print("Opção: ");
|
||||||
|
|
||||||
|
int R = scanner.nextInt();
|
||||||
|
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 ➜ Sair ║");
|
||||||
|
System.out.println("╚════════════════════════════════════╝");
|
||||||
|
System.out.print("Opção: ");
|
||||||
|
|
||||||
|
int op = scanner.nextInt();
|
||||||
|
|
||||||
|
switch (op) {
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
System.out.print("Valor a depositar: ");
|
||||||
|
int deposito = scanner.nextInt();
|
||||||
|
saldoAtual += deposito;
|
||||||
|
atualizarSaldo("utilizadores.txt");
|
||||||
|
System.out.println("Novo saldo: " + saldoAtual);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
System.out.println("Seu saldo é: " + saldoAtual);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
while (true) {
|
||||||
|
|
||||||
|
System.out.println("\n╔════════════════════════════════════╗");
|
||||||
|
System.out.println("║ MENU DE JOGOS ║");
|
||||||
|
System.out.println("╠════════════════════════════════════╣");
|
||||||
|
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("╚════════════════════════════════════╝");
|
||||||
|
System.out.print("Opção: ");
|
||||||
|
int opcao = scanner.nextInt();
|
||||||
|
switch (opcao) {
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
if (numeroEscolhido == numeroRandom) {
|
||||||
|
System.out.println("GANHASTE! Conseguiu adquirir o dobro do dinheiro que apostaste!");
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
System.out.println("Perdeste...");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Seu saldo atual é: " + saldoAtual);
|
||||||
|
break;
|
||||||
|
|
||||||
|
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: ");
|
||||||
|
int dinheiroApostado2 = scanner.nextInt();
|
||||||
|
if (dinheiroApostado2 > saldoAtual) {
|
||||||
|
System.out.println("Saldo insuficiente!");
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
saldoAtual -= dinheiroApostado2;
|
||||||
|
atualizarSaldo("utilizadores.txt");
|
||||||
|
|
||||||
|
String[] simbolos = {"🍒", "💎", "7"};
|
||||||
|
|
||||||
|
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("7") && s2.equals("7") && s3.equals("7")) {
|
||||||
|
|
||||||
|
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("Prémio: " + premio);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
System.out.println("Perdeste!");
|
||||||
|
}
|
||||||
|
|
||||||
|
atualizarSaldo("utilizadores.txt");
|
||||||
|
System.out.println("Saldo atual: " + saldoAtual);
|
||||||
|
break;
|
||||||
|
|
||||||
|
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?");
|
||||||
|
|
||||||
|
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)) {
|
||||||
|
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;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
System.out.println("Adeus!");
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
|
default:
|
||||||
|
|
||||||
|
System.out.println("Opção inválida");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
System.out.println("Logout...");
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
|
||||||
|
System.out.println("Opção inválida");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (op == 3) {
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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)) {
|
||||||
|
saldoAtual = saldo;
|
||||||
|
indexUtilizador = i;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
System.out.println("Erro no login.");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ATUALIZAR SALDO NO FICHEIRO
|
||||||
|
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.");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user