@startuml LOTRGame




package game{
    Class LOTRGame{
        -Turns turns

        +LOTRGame()
        +void createArmies()
        +void execute()

    }
    Class Armies{
        -Armies squadA
        -Armies squadB

        +Armies()
        +ArrayList<Character> createArmie()
        +void fight()
    }

    Class Turns{
        

        +startTurns()

    }

    package interfaces{

        interface AttackCalculator{
            +Attack getInstance()

            +int getAttack()
            +int calculateFinalDamage()

        }

    }


    package gameCharacters{

        Abstract Class Characters{
            #int armor
            #String name
            #int healthPoint


            +int getArmor()
            +String getName()
            +int getHealthPoint()
            +void getHealthPoint()

        }

        package heroes{
            Class Elves{
                +final int hateAgainstOrcs
            }

            Class Hobbits{
                +final int fearAgainstTrasgos
            }
            Class Human{

            }


        }

        package beasts{


            Class Orcs{
                +int strengthBonusAgainstAll
            }
            Class Trasgos{
            }

        }

    }
}



LOTRGame *-- Turns
LOTRGame *-- Armies

Turns --> Armies

Armies *-- Characters

Characters .up.> AttackCalculator

Characters <|-- Elves
Characters <|-- Hobbits
Characters <|-- Human

Characters <|-- Orcs
Characters <|-- Trasgos



@enduml