/
Elyumusa
/
SberJavaCourseBeginner
Обзор
Документация
Войти
/
Elyumusa
/
SberJavaCourseBeginner
Код
Запросы
2
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/hw2/task1/Main.java
89 строк
4 KB
Elyumusa
Обновленo задание 2
04 апр 2025, 01:39
04 апр 2025, 01:39
0b3abe7
Код
Авторство
О чём код?
package hw2.task1; import java.util.List; import java.util.Scanner; public class Main { private static Weapon currentWeaponPlayer1; private static Weapon currentWeaponPlayer2; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Player"); Gun gun = new Gun("Gun"); RPG rpg = new RPG("RPG"); Machine machine = new Machine("Machine"); WaterPistol waterPistol = new WaterPistol("WaterPistol"); List<Weapon> weapons = List.of(gun,rpg,machine,waterPistol);// new Weapon[]{gun, rpg, machine, waterPistol}; Player player1 = null; Player player2 = null; System.out.println("This is a game with players and weapons. \nIn this game you can choose weapon, and shoot it. \nGood luck! \n"); String choice=""; while (!choice.equals("exit")){ System.out.println("1. Register Players \n 2.Change weapon\n 3. Shoot \n N.B. To exit simply enter exit"); choice = scanner.next(); switch (choice) { case "1": try { player1=registerPlayer(scanner, weapons,"1"); currentWeaponPlayer1 = weapons.get(0); player2=registerPlayer(scanner, weapons,"2"); currentWeaponPlayer2 = weapons.get(1); System.out.printf("%s shooting: ", player1.name); player1.shoot(currentWeaponPlayer1); System.out.printf("%s shooting: ", player2.name); player2.shoot(currentWeaponPlayer2); } catch (Exception e) { System.out.println("Error" + e.getMessage()); } break; case "2": if(player1 != null && player2 != null){ System.out.println("Enter player name to change weapon"); String playerName = scanner.next(); if (playerName.equals(player1.name)) { currentWeaponPlayer1 = changeWeapon(scanner, weapons); }else if(playerName.equals(player2.name)){ currentWeaponPlayer2 = changeWeapon(scanner, weapons); } }else{ System.out.println("Register both players first and make sure the name matches registered player name"); } break; case "3": if(player1 != null && player2 != null) { System.out.printf("%s shooting:", player1.name); player1.shoot(currentWeaponPlayer1); System.out.printf("%s shooting:", player2.name); player2.shoot(currentWeaponPlayer2); }else{ System.out.println("Make sure you register both players before trying to shoot"); } break; } } } private static Weapon changeWeapon(Scanner scanner, List<Weapon> weapons) { System.out.println("Choose weapon: "); for(int i=0;i<weapons.size();i++){ System.out.printf("%d. %s\n",i+1,weapons.get(i).getWeaponName()); } try { int index=Integer.parseInt(scanner.next()); if (index>=0 && index <= weapons.size()){ System.out.println("Weapon changed successfully: " + weapons.get(index-1).getWeaponName()); return weapons.get(index-1); } } catch (NumberFormatException e) { System.out.println("Enter valid number"); } System.out.println("Error: enter valid weapon number"); return null; } private static Player registerPlayer(Scanner scanner, List<Weapon> weapons, String playerNumber) { System.out.printf("Player %s Enter your name: \n", playerNumber); String playerName = scanner.next(); return new Player(playerName, weapons); } }