@startuml
-[#blue]->
start
-[#blue]->
:game starts;
-[#blue]->
while (all characters guessed) is (false)
-[#blue]->
    repeat
    -[#blue]->
        if (wrong guesses > 11) then (yes)
            -[#green]->
            :player loses;
            -[#green]->
            :game over;
            -[#green]->
            end
        else (no)
        -[#blue]->
        endif

        :display word to guess (characters hidden);
        -[#blue]->
        :display hanged man (based on num. of wrong guesses);
        -[#blue]->
        repeat
        -[#blue]->
            :prompt user to enter a valid guess;
            -[#blue]->
        repeat while (is guess valid) is (NO)
        ->YES;
        -[#blue]->
    repeat while (is guess correct) is (NO - wrong guesses++)
    ->YES;
    -[#blue]->
    :reveal guessed character in word;
endwhile (true)
-[#green]->
:player wins;
-[#green]->
:game over;
-[#green]->
end
@enduml
