1.11 HW Hacks
Popcorn Hack #1: Power Level Calculator
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int base = 100;
// Get user input to determine level
System.out.print("Enter the level: ");
int level = scanner.nextInt();
System.out.print("");
// Calculate final power based off base and level
double finalPower = base * Math.pow(1.2, level);
// Print variables
System.out.printf("Level: %d\n", level);
System.out.printf("Base Power: %d\n", base);
System.out.printf("Final Power: %,.2f\n", finalPower);
scanner.close();
}
}
Main.main(null);
Enter the level: Level: 2
Base Power: 100
Final Power: 144.00
Popcorn Hack #2: Loot Drop Simulator
public class Main {
public static void main(String[] args) {
int gold = 0;
String rarityCategory;
// Store a random number 1-100
double rarityNumber = (int)(Math.random() * 100) + 1;
// Assign rarity category based off random number
if (rarityNumber < 60) {
rarityCategory = "Common";
gold = (int)(Math.random() * 20 + 10);
} else if (rarityNumber < 85) {
rarityCategory = "Rare";
gold = (int)(Math.random() * 30 + 30);
} else {
rarityCategory = "Legendary";
gold = (int)(Math.random() * 30 + 70);
}
// Print item that was retrieved and its value
System.out.println("Loot Drop!");
System.out.printf("You got: %s item\n", rarityCategory.toUpperCase());
System.out.printf("Gold value: %d\n", gold);
}
}
Main.main(null);
Loot Drop!
You got: LEGENDARY item
Gold value: 86
Homework Hack
Part A: Health Difference Calculator
Write a method that calculates the absolute difference between two players’ health values.
public static int healthDifference(int player1Health, int player2Health) {
return Math.abs(player1Health - player2Health);
}
System.out.println(healthDifference(20,100));
System.out.println(healthDifference(100,20));
System.out.println(healthDifference(35,78));
System.out.println(healthDifference(67,76));
80
80
43
9
Part B: Attack Damage Calculator
Write a method that calculates attack damage using a base damage and a power multiplier.
public static double calculateDamage(double baseDamage, double powerLevel) {
return baseDamage * Math.pow(1.5, powerLevel);
}
System.out.println(calculateDamage(5,2));
System.out.println(calculateDamage(6,7));
11.25
102.515625
Part C: Distance Detector
Write a method that calculates the distance between a player and an enemy using the distance formula.
public static double findDistance(int playerX, int playerY, int enemyX, int enemyY) {
return Math.sqrt(Math.pow(enemyX - playerX, 2) + Math.pow(enemyY - playerY, 2));
}
System.out.printf("%,.2f\n", findDistance(0,0,6,7));
System.out.printf("%,.2f\n", findDistance(20,32,50,34));
9.22
30.07
java.io.PrintStream@2e4af9e3
Part D: Random Loot Generator
Write a method that generates a random loot value within a specific range.
public static int generateLoot(int minValue, int maxValue) {
return (int)(Math.random() * (maxValue - minValue + 1) + minValue);
}
System.out.println(generateLoot(6,70));
System.out.println(generateLoot(1,100));
11
20