Temporary de-randomisation of random seed

This commit is contained in:
jgk
2021-04-02 20:25:52 +02:00
parent 4327e94e04
commit a735977bf8
3 changed files with 61 additions and 41 deletions
+34 -34
View File
@@ -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
+4 -1
View File
@@ -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
+23 -6
View File
@@ -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: