Program java
Program java
Com
Auth
Config
DB.java
package com.auth.config;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@SuppressWarnings("CallToPrintStackTrace")
public class DB {
private static final String JDBC_DRIVER =
"com.mysql.cj.jdbc.Driver";
private static final String DB_URL =
"jdbc:mysql://localhost:3306/gamedb";
private static final String USER = "root";
private static final String PASSWORD = "spensa92";
static {
try {
Class.forName(JDBC_DRIVER); // Load driver saat aplikasi
dijalankan
} catch (ClassNotFoundException e) {
System.out.println("Driver MySQL tidak ditemukan!");
e.printStackTrace();
}
}
// Login akun
public static String authAkun(int id, String eml, String
password) {
String query = "SELECT EMAIL, PASSWORD FROM akun
WHERE ID = ?";
try (Connection conn = getConnection();
PreparedStatement stmt =
conn.prepareStatement(query)) {
stmt.setInt(1, id);
if (dbEmail.equals(eml) &&
dbPassword.equals(password)) {
return "Login Success";
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
return "Incorrect email or password";
}
// Register akun
public static boolean register(String email, String password) {
String query = "INSERT INTO akun (EMAIL, PASSWORD)
VALUES (?, ?)";
try (Connection conn = getConnection();
PreparedStatement stmt =
conn.prepareStatement(query)) {
stmt.setString(1, email);
stmt.setString(2, password);
LoginExtendSuperV.java
package com.auth.view;
import com.auth.config.DB;
import com.main.Game;
public class LoginExtendSuperV extends SuperV {
view();
String email = getEmail();
String password = getPassword();
int a = DB.cariData(email, password);
if (a > 0){
msg = DB.authAkun(a, email, password);
System.out.println(msg);
}else{
System.out.println("Account is not registered yet");
}
} while (!msg.equals("Login Success"));
//langsung keprogram
Game game = new Game();
game.start();
}
}
LR_View.java
package com.auth.view;
import java.util.Scanner;
option = scanner.nextInt();
switch (option) {
case 1 -> login.viewLogin();
case 2 -> register.viewRegister();
case 3 -> System.out.println("Goodbye!");
default -> System.out.println("Invalid option. Please
choose again.");
}
} while (option !=3);
}
}
}
RegisterExtendSuperV.java
package com.auth.view;
import com.auth.config.DB;
view();
String email = getEmail();
String password = getPassword();
DB register = new DB();
int a = DB.cariData(email, password);
if(a > 0){
System.out.println("Email already exsist!!");
}else{
if (register.register(email, password)) {
System.out.println("Account successfully
registered");
} else{
System.out.println("Failed to register");
}
}
}
SuperV
package com.auth.view;
import java.util.Scanner;
public SuperV(){
// this.email = email;
// this.password = password;
}
System.out.print(
"""
\nPlease Enter Your Password!!
Password: """);
setPassword();
}
}
Main
Armor.java
package com.main;
class Armor{
private int defencePower;
private String name;
void display(){
System.out.println("Armor: " + getName() + ", Def: " +
getDefencePower());
}
}
Character.java
package com.main;
class Character{
private String name;
private int health;
private int attackPower;
Game.java
package com.main;
import java.util.Scanner;
public Game(){
scanner = new Scanner(System.in);
}
battle();
}
if(player.isAlive()){
System.out.println("\nYou win!\n");
}else{
System.out.println("\nYou lose!\n");
}
}
MonsterCharacter.java
package com.main;
class Monster extends Character{
public Monster(String name){
super(name, 90, 20);
}
@Override
public void attack(Character opponent){
System.out.println(getName() + " viciously attacks " +
opponent.getName());
super.attack(opponent);
}
@Override
public void takeDamage(int damage){
System.out.println(getName() + " roars in pain!");
super.takeDamage(damage);
}
}
PlayerCharacter.java
package com.main;
class Player extends Character{
private int healAmount;
Weapon weapon;
Armor armor;
void display(){
System.out.println("\n+++++++++++++++++++++++++++");
System.out.println("Name: " + getName());
if(getHealth() <= 0){
System.out.println("(Player dead!!!)");
}else{
System.out.println("HP: " + getHealth());
weapon.display();
armor.display();
System.out.println("Total attack: " + getAttackPower());
}
System.out.println("+++++++++++++++++++++++++++");
}
@Override
public void attack(Character opponent){
System.out.println(getName() + " performs a powerful
strike on " + opponent.getName());
super.attack(opponent);
}
@Override
public void takeDamage(int damage){
if(armor != null){
int reduceDamage = damage - armor.getDefencePower();
if(reduceDamage < 0){
reduceDamage = 0;
}
System.out.println(getName() + "'s armor reduces the
damage " + armor.getDefencePower());
super.takeDamage(reduceDamage);
}else{
super.takeDamage(damage);
}
}
}
Weapon.java
package com.main;
class Weapon{
private String name;
private int damage;
void display(){
System.out.println("Weapon: " + getName() + ", Damage: "
+ getDamage());
}
App.java
import com.auth.view.LR_View;