34 lines
613 B
Haskell
34 lines
613 B
Haskell
--
|
|
|
|
module Proj2
|
|
( Pitch,
|
|
toPitch,
|
|
feedback,
|
|
GameState,
|
|
initialGuess,
|
|
nextGuess,
|
|
)
|
|
where
|
|
|
|
type GameState = ()
|
|
|
|
data Pitch = Pitch
|
|
{ note :: Char,
|
|
octave :: Int
|
|
}
|
|
deriving (Eq)
|
|
|
|
instance Show Pitch where
|
|
show (Pitch note octave) = note : show octave
|
|
|
|
toPitch :: String -> Maybe Pitch
|
|
toPitch _ = Just (Pitch 'A' 1)
|
|
|
|
feedback :: [Pitch] -> [Pitch] -> (Int, Int, Int)
|
|
feedback _ _ = (0, 0, 0)
|
|
|
|
initialGuess :: ([Pitch], GameState)
|
|
initialGuess = ([Pitch 'A' 1], ())
|
|
|
|
nextGuess :: ([Pitch], GameState) -> (Int, Int, Int) -> ([Pitch], GameState)
|
|
nextGuess _ _ = ([Pitch 'A' 1], ())
|