Scroll twit messages
[L-seed.git] / src / main.hs
1 import Lseed.Data
2 import Lseed.Data.Functions
3 import Lseed.Grammar.Parse
4 import Lseed.Constants
5 import Lseed.Mainloop
6 import Control.Monad
7 import Debug.Trace
8 import System.Environment
9 import System.Time
10 import System.Random
11 import Lseed.Renderer.Cairo
12
13 parseFile filename = do
14         content <- readFile filename
15         let result = parseGrammar filename content
16         return $ either (error.show) id result
17
18 readArgs doit = do
19         args <- getArgs
20         if null args
21           then  do
22                 putStrLn "L-Seed Demo application."
23                 putStrLn "Please pass L-Seed files on the command line."
24           else  do
25                 genomes <- mapM parseFile args
26                 doit (spread genomes)
27   where spread gs = zipWith (\g p ->
28                 Planted ((fromIntegral p + 0.5) / l)
29                         p
30                         ("Player " ++ (show p))
31                         g
32                         inititalPlant
33                 ) gs [0..]
34           where l = fromIntegral (length gs)
35                 
36 main = readArgs $ \garden -> do
37         obs <- cairoObserver
38         lseedMainLoop True
39                       obs
40                       ((constGardenSource garden) { getScreenMessage = (return (Just "bla blubb"))})
41                       30
42         obShutdown obs