๐Ÿ“ฆ sleepyfran / duets

๐Ÿ“„ SpinDrumsticks.Command.fs ยท 26 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26namespace Duets.Cli.Components.Commands

open Duets.Cli.Components
open Duets.Cli.Components.Commands
open Duets.Cli.Text
open Duets.Simulation.Concerts.Live

[<RequireQualifiedAccess>]
module SpinDrumsticksCommand =
    /// Command which performs the action of spinning the drumsticks for drummers.
    let rec create ongoingConcert =
        Concert.createCommand
            "spin drumstick"
            Command.makeCrowdSingDescription
            spinDrumsticks
            (fun result points ->
                match result with
                | LowPerformance _ -> Concert.drumstickSpinningBadResult points
                | AveragePerformance _
                | GoodPerformance _
                | GreatPerformance ->
                    Concert.drumstickSpinningGoodResult points
                | _ -> Concert.tooManyDrumstickSpins
                |> showMessage)
            ongoingConcert