@startuml Loop Of Legends
title Loop Of Legends - Snake Game UML
Package lool {

    enum DIRECTION {
        UP
        DOWN
        LEFT
        RIGHT
    }

    Class Point {
        - int x
        - int y
    }

    DIRECTION "1" -- "1" Point : has >

    Package server{

        class Lobby {
        - int poolSize
        }

        class Config {
        - int frequency
        - bool useWall
        }

        class Snake{
            - int ownerId
            - int length
            - char head
            - char body
            - Color color
            + void eat()
        }

        class Board{
            - int width
            - int height

            + void Compute()
    
        }

        Lobby "1" -- "1" Config : has >
    }

    Package client {

        class ComputedBoard{
         char[x][y] computedBoard
        }

        class Player {
            - int id
            - bool master
            - string name
            - int score
        }

    }

    Snake "1" --r "1" Player : has >

    Lobby "1" --r "0..*" Player : has >

    
}

@enduml