Skip to content

Проект за защита за дисциплината (ФМИ) Качествен Програмен Код

Notifications You must be signed in to change notification settings

vikrusev/java-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dungeons Online 🎮

Условие

Реализирайте клиент-сървърна MMORPG, в която различни играчи ще могат да развиват своите герои и да водят ожесточени битки помежду си.

Основни елементи на играта

Герои

Героите ще се управляват от клиентската част на приложението.

За улеснение, нека приемем, че едновременно ще могат да играят по 9 героя, всеки с уникален номер (от 1 до 9), които ще се визуализират на картата.

Те ще могат да:

  • се движат по картата
  • събират съкровища
  • се бият с Minions и други играчи.

Всеки герой трябва да има конкретен level. При всяка проведена битка, както и за всяко взето съкровище, героят трябва да вдига experience, като при достигане на нужния experience за следващoто ниво, то да level-up-ва.

Героите също ще си имат Backpack, в която ще пазят събраните съкровища и при желание ще могат да консумират или просто да изхвърлят някое от тях. Нека тя да има капацитет от 10 предмета.

Когато даден герой умре, нека да се изхвърля случаен предмет от раницата му (ако има такъв).

Всеки герой има Stats (health, mana, attack, deffense). В началото, нека Stats-овете им да бъдат:

  • health: 100
  • mana: 100
  • attack: 50
  • deffense: 50

При вдигане на всеки level, да се добавят към Stats-овете по 10 health, 10 mana, 5 аttack и 5 deffense.

Героите ще могат да носят оръжия, както и да правят магии, които ще намират и научават чрез събиране на съкровища по картата.

Minions

Това са статични чудовища по картата, които играчите ще могат да атакуват и да си вдигат чрез тях нивото. Minion-ите също ще имат level и Stats, който ще се определя от level-а им. Колкото по- голям level е даден Minion, толкова повече experience ще носи на играча, който го убие.

Treasure

1. Weapon

Всеки Weapon си има level и attack, като героят ще може да се бие с него само ако има level >= на level-a на Weapon-a. В противен случай просто ще може да си го вземе в раницата.

Когато героят се екипира с оръжието, към неговата атака ще се добави атаката на оръжието.

2. Spell

Тук важат същите условия, както при оръжието, като Spell-ът допълнително си има manaCost. Героят ще може да изпълни Spell-a само ако има >= mana на неговия manaCost.

  • Mana potion - 20points

    Съдържа точки mana, които зарежда на героя.

  • Health potion - 30points

    Съдържа точки health, които зарежда на героя.

Map

Default-map:

   M T # # . . M M T T
   . # # . . # # # # #
   . . . . M . # . M T
   # . M . . . # . # #
   . M . . . # # . # T
   . . . T . . # . # T
   . # M # . . . T # M
   . # # # . . . . # .
   T . . . . T . . # .
   . . M # # # . . . .

   10x - mobs
   10x - treasures
   30x - obstacles

където:

  • # - Препятствие, през което героите не могат да минават.
  • T - Съкровище.
  • . - Свободна позиция.
  • M - Minion.
  • 1-3 - Играчи отговарящи на съответните индекси.

Функционалности, които трябва да реализирате

  1. Играчите трябва да могат да се движат по картата. Когато даден играч се премести, динамично се обновява картата и на останалите играчи, които се намират на картата.

  2. Играчите трябва да могат да събират съкровища по картата. Когато даден играч вземе съкровище, то на останалите играчи трябва съкровището да изчезне от картата. За да вземе някое съкровище, играчът трябва да се намира на мястото, където е съкровището.

  3. Играчите трябва да могат да си пращат предмети от раниците на други играчи, като за да се случи това, те трябва да се намират на една и съща позиция.

  4. Играчите трябва да могат да се бият както с Minion-и по картата, така и с други играчи. За да се проведе битка с Minion или друг играч, трябва участниците да се намират на една и съща позиция. Като даден Minion бъде убит, той изчезва от картата и се появява нов, на някоя свободна позиция по картата.

About

Проект за защита за дисциплината (ФМИ) Качествен Програмен Код

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published