Skip to main content

Игра с полиморфизъм в Java

Въведение:

Вие ще създадете проста текстова ролева игра (RPG) със система от герои, която ще ви помогне да разберете основни концепции на Обектно-ориентираното програмиране (ООП), като абстрактни класове, интерфейси и масиви. В тази игра ще имате различни класове герои, като Хора, Орки и Елфи, всеки с уникални умения. Играта ще симулира битки между тези герои.

Инструкции:

  1. Character Class (Abstract):

    Създайте абстрактен клас с име Character. Този клас ще служи като образец за всички герои в играта.

    Добавете следните атрибути (променливи): name (String): The name of the character. health (int): The character's health points. damage (int): The amount of damage the character deals.

    Добавете следните абстрактни методи: takeDamage(int amount): Този метод трябва да намали живота на героя с посоченото количество. isAlive(): Метод, който връща true, ако героя е все още жив (т.е. живот > 0), и false в противен случай. useAbility(Character target): Метод, който позволява на героя да използва своето уникално умение. Добавете метод showInfo(), който да показва информация за героя. Този метод може да се използва, за да се покаже името на героя, неговото здраве, щета и допълнителна информация.

  2. Playable Interface:

    Създайте интерфейс с име (Playable). Този интерфейс ще дефинира общо действие, което всички герои могат да изпълняват - атакуване. Добавете един метод към интерфейса: attack(Character target): Този метод представлява действие на атака върху целевия герой.

  3. Character Classes (Concrete):

    Създайте три конкретни класа, Human, Orc, and Elf, като всеки от тях разширява абстрактния клас "Character". Въведете конкретните методи (takeDamage, isAlive, useAbility, showInfo) във всеки от конкретните класове спрямо характеристиките на героя: Human: По-голямо здраве, умерена щета. Умение: Healing. Orc: Голяма щета, по-ниско здраве. Умение: Berserk (режим с повишена щета). Elf: Умерено здраве, голяма щета. Умение:Dodge(намаляващо входящата щета).

    Имплементирайте Getters и Setters за всички полета. Методи които взимат или задават стойността на всяко едно от полетата. И конструктори, които приемат параметрите по-горе като аргументи и ги задават на съответните полета.

  4. Битка с Герои:

    В основната програма създайте няколко обекти Character. Тези обекти ще представляват героите в играта. Инициализирайте герои от различни класове и им дайте имена.

  5. Симулация на Битка:

    Разработете система за редови битки. Героите се редуват, за да атакуват. По време на всеки ред показвайте информация за героя с метода showInfo. Позволете на играча да избере дали да нападне врага или да използва умението си. Може да направите и така че героите сами да се бият. Симулирайте битката между героите, включително нанасянето на щета и използването на умения.

  6. Условие за Победа:

    Дефинирайте условие за победа в играта. Играта трябва да продължи, докато минат 10 хода. Героят с повече живот печели. Обявете победителя в края на играта.

Още информация:

Можете да използвате случайен генератор на числа, за да определите реда на ходовете и да добавите елемент на случайност в играта. Показвайте резултата от всяка атака, включително нанесената щета и оставащото здраве на целевия герой. Можете да направите играта по-интерактивна, като позволите на играча да прави избори по време на битките.