showForeignAffairs :: Maybe String -> Font -> IO ()
showForeignAffairs mst f =
  let strs =
        case mst of
          Nothing -> ["This colony is in anarchy!"]
          Just st -> map relToStr rs
            where rs = relationshipsOf st
                  relToStr (l, v) | v <= (-4) = printf "We despise the state of %s." l
                  relToStr (l, v) | v <= (-1) = printf "We are not very fond of %s." l
                  relToStr (l, v) | v <= 1 = printf "Our relationship with the state of %s is neutral." l
                  relToStr (l, v) | v <= 4 = printf "%s is a friend of ours." l
                  relToStr (l, _) | otherwise = printf "We are allied with the state of %s." l
      drawfunc = makeTextScreen (100, 420) 
                                (map (\s -> (f, Color4 1.0 1.0 1.0 1.0, s)) 
                                     (strs ++ ["\n\nPress any key to continue"])) 
                                (return ())
  in pressAnyKeyScreen drawfunc
showForeignAffairs :: Maybe String -> Font -> IO ()
showForeignAffairs mst f =
  let strs =
        case mst of
          Nothing -> ["This colony is in anarchy!"]
          Just st -> map relToStr rs
            where rs = relationshipsOf st
                  relToStr (l, v) | v <= (-4) = printf "We despise the state of %s." l
                  relToStr (l, v) | v <= (-1) = printf "We are not very fond of %s." l
                  relToStr (l, v) | v <= 1 = printf "Our relationship with the state of %s is neutral." l
                  relToStr (l, v) | v <= 4 = printf "%s is a friend of ours." l
                  relToStr (l, _) | otherwise = printf "We are allied with the state of %s." l
      drawfunc = makeTextScreen (100, 420) 
                                (map (\s -> (f, Color4 1.0 1.0 1.0 1.0, s)) 
                                     (strs ++ ["\n\nPress any key to continue"])) 
                                (return ())
  in pressAnyKeyScreen drawfunc
showForeignAffairs mst f =
  let strs =
        case mst of
          Nothing -> ["This colony is in anarchy!"]
          Just st -> map relToStr rs
            where rs = relationshipsOf st
                  relToStr (l, v) | v <= (-4) = printf "We despise the state of %s." l
                  relToStr (l, v) | v <= (-1) = printf "We are not very fond of %s." l
                  relToStr (l, v) | v <= 1 = printf "Our relationship with the state of %s is neutral." l
                  relToStr (l, v) | v <= 4 = printf "%s is a friend of ours." l
                  relToStr (l, _) | otherwise = printf "We are allied with the state of %s." l
      drawfunc = makeTextScreen (100, 420) 
                                (map (\s -> (f, Color4 1.0 1.0 1.0 1.0, s)) 
                                     (strs ++ ["\n\nPress any key to continue"])) 
                                (return ())
  in pressAnyKeyScreen drawfunc