Temporary de-randomisation of random seed
This commit is contained in:
+34
-34
@@ -36,41 +36,41 @@ lev1 = do
|
||||
++ [return $ connectRoom corridor
|
||||
,return $ connectRoom door
|
||||
,glassSwitchBack >>= randomiseLinks]
|
||||
++ [return $ connectRoom corridor
|
||||
,return $ connectRoom door]
|
||||
++ [miniRoom3]
|
||||
++ [return $ connectRoom corridor
|
||||
,return $ connectRoom door]
|
||||
++ [roomCCrits]
|
||||
++ [return $ connectRoom corridor
|
||||
,return $ connectRoom door]
|
||||
++[roomMiniIntro]
|
||||
++ [longRoom >>= randomiseLinks]
|
||||
++ [return $ connectRoom corridor
|
||||
,return $ connectRoom door]
|
||||
-- ++ [return $ connectRoom corridor
|
||||
-- ,return $ connectRoom door]
|
||||
-- ++ [miniRoom3]
|
||||
-- ++ [return $ connectRoom corridor
|
||||
-- ,return $ connectRoom door]
|
||||
-- ++ [roomCCrits]
|
||||
-- ++ [return $ connectRoom corridor
|
||||
-- ,return $ connectRoom door]
|
||||
-- ++[roomMiniIntro]
|
||||
-- ++ [longRoom >>= randomiseLinks]
|
||||
-- ++ [return $ connectRoom corridor
|
||||
-- ,return $ connectRoom door]
|
||||
++ firstWeapon
|
||||
++ [return $ connectRoom corridor
|
||||
,return $ connectRoom door]
|
||||
++ [randomiseLinks =<< pistolerRoom]
|
||||
++ [return $ connectRoom door]
|
||||
++ [randomiseLinks =<< shooterRoom]
|
||||
++ (replicate 3 $ randomiseLinks corridor)
|
||||
++ [return $ connectRoom (set rmPS [PS (20,40) 0 basicLS] corridor)]
|
||||
++ [return $ connectRoom corridor]
|
||||
++ (replicate 3 $ randomiseLinks corridor)
|
||||
++ [return $ connectRoom corridor]
|
||||
++[return $ connectRoom corridor,return $ connectRoom door]
|
||||
++ [shootingRange]
|
||||
++ (replicate 3 $ randomiseLinks corridor)
|
||||
++[roomMiniIntro]
|
||||
++ (replicate 3 $ randomiseLinks corridor)
|
||||
++ [return $ connectRoom corridor
|
||||
,return $ connectRoom door
|
||||
,slowDoorRoom]
|
||||
++ [return $ connectRoom corridor
|
||||
,spawnerRoom
|
||||
,return $ connectRoom corridor
|
||||
]
|
||||
-- ++ [return $ connectRoom corridor
|
||||
-- ,return $ connectRoom door]
|
||||
-- ++ [randomiseLinks =<< pistolerRoom]
|
||||
-- ++ [return $ connectRoom door]
|
||||
-- ++ [randomiseLinks =<< shooterRoom]
|
||||
-- ++ (replicate 3 $ randomiseLinks corridor)
|
||||
-- ++ [return $ connectRoom (set rmPS [PS (20,40) 0 basicLS] corridor)]
|
||||
-- ++ [return $ connectRoom corridor]
|
||||
-- ++ (replicate 3 $ randomiseLinks corridor)
|
||||
-- ++ [return $ connectRoom corridor]
|
||||
-- ++[return $ connectRoom corridor,return $ connectRoom door]
|
||||
-- ++ [shootingRange]
|
||||
-- ++ (replicate 3 $ randomiseLinks corridor)
|
||||
-- ++[roomMiniIntro]
|
||||
-- ++ (replicate 3 $ randomiseLinks corridor)
|
||||
-- ++ [return $ connectRoom corridor
|
||||
-- ,return $ connectRoom door
|
||||
-- ,slowDoorRoom]
|
||||
-- ++ [return $ connectRoom corridor
|
||||
-- ,spawnerRoom
|
||||
-- ,return $ connectRoom corridor
|
||||
-- ]
|
||||
)
|
||||
$ randomiseLinks corridor
|
||||
|
||||
|
||||
@@ -20,7 +20,10 @@ initializeWorld :: World -> World
|
||||
initializeWorld w = w
|
||||
|
||||
firstWorld :: IO World
|
||||
firstWorld = return $ generateFromTree lev1 $ initialWorld
|
||||
firstWorld = do
|
||||
i <- randomRIO (0,5000)
|
||||
putStrLn $ "Random seed for level generation: " ++ show ( i :: Int)
|
||||
return $ generateFromTree lev1 $ initialWorld {_randGen = mkStdGen i}
|
||||
|
||||
initialWorld :: World
|
||||
initialWorld = defaultWorld
|
||||
|
||||
@@ -10,6 +10,7 @@ import Control.Lens
|
||||
|
||||
import Data.Function (on)
|
||||
|
||||
import Data.Graph
|
||||
import Data.List
|
||||
import Data.Maybe
|
||||
import qualified Data.IntMap as IM
|
||||
@@ -48,10 +49,10 @@ checkWallLeft (x,y) wls = case filter (\(a,b) -> b == x ) wls of
|
||||
-- ie returns a new set of walls with a hole determined by anticlockwise ordering of the points
|
||||
cutWalls' :: [Point2] -> [WallP] -> [WallP]
|
||||
cutWalls' qs walls =
|
||||
nub
|
||||
. filter (not.wallIsZeroLength)
|
||||
. fuseWallsWith zs
|
||||
. addPolyWalls rs
|
||||
-- nub
|
||||
-- . filter (not.wallIsZeroLength)
|
||||
-- . fuseWallsWith zs
|
||||
addPolyWalls rs
|
||||
-- . removeWallsInPolygon ps
|
||||
-- . filter (not.wallIsZeroLength)
|
||||
-- . fuseWallsWith zs
|
||||
@@ -161,6 +162,22 @@ wallIsZeroLength (x,y) = x == y
|
||||
removeWallsInPolygon :: [Point2] -> [WallP] -> [WallP]
|
||||
removeWallsInPolygon ps walls = filter (not . cond) walls
|
||||
where
|
||||
cond wall = pointInsidePolygon (fst wall) ps
|
||||
&& pointInsidePolygon (snd wall) ps
|
||||
cond wall = pointInsidePolygon (0.5 *.* (fst wall +.+ snd wall)) ps
|
||||
-- pointInsidePolygon (fst wall) ps
|
||||
-- && pointInsidePolygon (snd wall) ps
|
||||
|
||||
|
||||
|
||||
--pairElems :: Eq a => [(a,a)] -> [a]
|
||||
--pairElems = concatMap flat2
|
||||
-- where
|
||||
-- flat2 (x,y) = [x,y]
|
||||
--
|
||||
--findLinkedPairs :: Eq a => (a,a) -> [(a,a)] -> [(a,a)]
|
||||
--findLinkedPairs (x,y) = ( (x,y) : ) . filter f
|
||||
-- where
|
||||
-- f (a,b) = b == x || a == y
|
||||
--
|
||||
--
|
||||
--combineListsWithID :: Eq a => [[a]] -> [[a]]
|
||||
--combineListsWithID (x:
|
||||
|
||||
Reference in New Issue
Block a user