@startuml

title Aubie's Memory Game Domain Model

class PlayGame {
    playSimon
    playAubie
    Board
    GameOver: boolean
    replayCount
    Sounds
}

class Options {
    difficulty
}

class Board {
    redLight
    blueLight
    greenLight
    yellowLight
    orangeLight
    score
    userInput
    Animations
}


class Leaderboard {
    Database
}

class Lights {
    Button
    Sounds
    color
}

class MainMenu {
    playAubieButton
    playSimonButton
    optionsButton
    leaderboardsButton
}

Class User {
    username
    id
    score
    playDate
}

MainMenu "1" *-- "1" PlayGame : Starts >
MainMenu "1" *-- "1" Leaderboard : Starts >
MainMenu "1" *-- "1" Options : Starts >
Options "1" -- "1" PlayGame : Influences >
User "*" -- "1" PlayGame : Controls >
User "*" -- "1" Leaderboard : Gets Added To >
PlayGame "1" *-- "1" Board : Contains >
Board "1" *-- "5" Lights : Contains >

hide methods
@enduml
