diff --git a/Java-Knight/src/main/java/org/project/constants/gameConstant/PlayerRoles.java b/Java-Knight/src/main/java/org/project/constants/gameConstant/PlayerRoles.java new file mode 100644 index 0000000..e77977d --- /dev/null +++ b/Java-Knight/src/main/java/org/project/constants/gameConstant/PlayerRoles.java @@ -0,0 +1,7 @@ +package org.project.constants.gameConstant; + +public enum PlayerRoles { + KNIGHT, + WIZARD, + ASSASSIN +} diff --git a/Java-Knight/src/main/java/org/project/constants/gameConstant/PlayerRolesExt.java b/Java-Knight/src/main/java/org/project/constants/gameConstant/PlayerRolesExt.java new file mode 100644 index 0000000..695ef72 --- /dev/null +++ b/Java-Knight/src/main/java/org/project/constants/gameConstant/PlayerRolesExt.java @@ -0,0 +1,26 @@ +package org.project.constants.gameConstant; + +import org.project.entity.players.Assassin; +import org.project.entity.players.Knight; +import org.project.entity.players.Player; +import org.project.entity.players.Wizard; + +public final class PlayerRolesExt { + private PlayerRolesExt() {} + + public static Player CreatePlayer(PlayerRoles role, String name, int level) { + return switch (role) { + case KNIGHT -> new Knight(name, level); + case ASSASSIN -> new Assassin(name, level); + case WIZARD -> new Wizard(name, level); + }; + } + + public static Player CreatePlayer(PlayerRoles role, String name) { + return switch (role) { + case KNIGHT -> new Knight(name); + case ASSASSIN -> new Assassin(name); + case WIZARD -> new Wizard(name); + }; + } +}