Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- interface Monster{
- float attack();
- }
- class Zombie implements Monster{
- @Override
- public float attack(){
- return 5;
- }
- }
- class Vampire implements Monster{
- @Override
- public float attack(){
- return 10;
- }
- }
- class Dragon implements Monster{
- @Override
- public float attack(){
- return 20;
- }
- }
- class MonsterFactory{
- public static Monster createMonster(Random random){
- int monster_type = random.nextInt(3);
- return switch (monster_type) {
- case 0 -> new Zombie();
- case 1 -> new Vampire();
- case 2 -> new Dragon();
- default -> null;
- };
- }
- }
- public class Game {
- public static void main(String[] args){
- Random random = new Random();
- Monster[] monsters = new Monster[5];
- float total_attack = 0;
- for (int i = 0; i < 5; i++){
- monsters[i] = MonsterFactory.createMonster(random);
- total_attack += monsters[i].attack();
- System.out.println("Monster " + (i + 1) + " attacks with " + monsters[i].attack() + " damage.");
- }
- System.out.println("Total monsters attack damage: " + total_attack);
- if (total_attack < 50){
- System.out.println("Hero wins!");
- }
- else{
- System.out.println("Hero died!");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement