Move towards removing Annotation
This commit is contained in:
+146
-34
@@ -1,51 +1,163 @@
|
|||||||
Seed: 7114951007332849727
|
Seed: 7114951007332849727
|
||||||
Room layout (compact):
|
Room layout (compact):
|
||||||
0,1,2,3
|
0,1,2,3,4,5,6
|
||||||
|
|
|
|
||||||
+- 4,5
|
+- 7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
|
||||||
|
| |
|
||||||
|
| +- 22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46
|
||||||
|
| | |
|
||||||
|
| | +- 47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64
|
||||||
|
| | |
|
||||||
|
| | 65,66
|
||||||
|
| |
|
||||||
|
| 67,68,69
|
||||||
|
|
|
|
||||||
+- 6,7
|
70,71,72
|
||||||
|
|
|
||||||
8,9,10,11,12,13,14,15,16,17,18,19
|
|
||||||
|
|
||||||
Layout with room names:
|
Layout with room names:
|
||||||
tutRezBox-0
|
rezBox-0
|
||||||
|
|
|
|
||||||
autoDoor-1
|
autoDoor-1
|
||||||
|
|
|
|
||||||
Corridor-2
|
rectPillars-2
|
||||||
|
|
|
|
||||||
doorToggle-6gon-3
|
autoDoor-3
|
||||||
|
|
|
|
||||||
+- triggerDoorRoom-4
|
Corridor-4
|
||||||
|
|
|
||||||
|
autoDoor-5
|
||||||
|
|
|
||||||
|
ElecautoRect-6
|
||||||
|
|
|
||||||
|
+- triggerDoorRoom-7
|
||||||
| |
|
| |
|
||||||
| autoRect-5
|
| autoDoor-8
|
||||||
|
|
|
||||||
+- triggerDoorRoom-6
|
|
||||||
| |
|
| |
|
||||||
| autoRect-7
|
| autoDoor-9
|
||||||
|
| |
|
||||||
|
| Corridor-10
|
||||||
|
| |
|
||||||
|
| autoDoor-11
|
||||||
|
| |
|
||||||
|
| 8gon-12
|
||||||
|
| |
|
||||||
|
| triggerDoorRoom-13
|
||||||
|
| |
|
||||||
|
| autoDoor-14
|
||||||
|
| |
|
||||||
|
| autoDoor-15
|
||||||
|
| |
|
||||||
|
| Corridor-16
|
||||||
|
| |
|
||||||
|
| autoRect-17
|
||||||
|
| |
|
||||||
|
| autoDoor-18
|
||||||
|
| |
|
||||||
|
| Corridor-19
|
||||||
|
| |
|
||||||
|
| autoDoor-20
|
||||||
|
| |
|
||||||
|
| 6gon-21
|
||||||
|
| |
|
||||||
|
| +- triggerDoorRoom-22
|
||||||
|
| | |
|
||||||
|
| | autoDoor-23
|
||||||
|
| | |
|
||||||
|
| | autoDoor-24
|
||||||
|
| | |
|
||||||
|
| | Corridor-25
|
||||||
|
| | |
|
||||||
|
| | autoDoor-26
|
||||||
|
| | |
|
||||||
|
| | doorToggle-autoRect-27
|
||||||
|
| | |
|
||||||
|
| | triggerDoorRoom-28
|
||||||
|
| | |
|
||||||
|
| | autoDoor-29
|
||||||
|
| | |
|
||||||
|
| | autoDoor-30
|
||||||
|
| | |
|
||||||
|
| | Corridor-31
|
||||||
|
| | |
|
||||||
|
| | autoRect-32
|
||||||
|
| | |
|
||||||
|
| | autoDoor-33
|
||||||
|
| | |
|
||||||
|
| | Corridor-34
|
||||||
|
| | |
|
||||||
|
| | autoDoor-35
|
||||||
|
| | |
|
||||||
|
| | Corridor-36
|
||||||
|
| | |
|
||||||
|
| | 8gon-37
|
||||||
|
| | |
|
||||||
|
| | triggerDoorRoom-38
|
||||||
|
| | |
|
||||||
|
| | autoDoor-39
|
||||||
|
| | |
|
||||||
|
| | autoDoor-40
|
||||||
|
| | |
|
||||||
|
| | Corridor-41
|
||||||
|
| | |
|
||||||
|
| | tanksRoom-42
|
||||||
|
| | |
|
||||||
|
| | autoDoor-43
|
||||||
|
| | |
|
||||||
|
| | Corridor-44
|
||||||
|
| | |
|
||||||
|
| | autoDoor-45
|
||||||
|
| | |
|
||||||
|
| | 8gon-46
|
||||||
|
| | |
|
||||||
|
| | +- triggerDoorRoom-47
|
||||||
|
| | | |
|
||||||
|
| | | autoDoor-48
|
||||||
|
| | | |
|
||||||
|
| | | autoDoor-49
|
||||||
|
| | | |
|
||||||
|
| | | Corridor-50
|
||||||
|
| | | |
|
||||||
|
| | | autoRect-51
|
||||||
|
| | | |
|
||||||
|
| | | defaultRoom-52
|
||||||
|
| | | |
|
||||||
|
| | | autoRect-53
|
||||||
|
| | | |
|
||||||
|
| | | defaultRoom-54
|
||||||
|
| | | |
|
||||||
|
| | | autoRect-55
|
||||||
|
| | | |
|
||||||
|
| | | autoDoor-56
|
||||||
|
| | | |
|
||||||
|
| | | Corridor-57
|
||||||
|
| | | |
|
||||||
|
| | | autoDoor-58
|
||||||
|
| | | |
|
||||||
|
| | | 8gon-59
|
||||||
|
| | | |
|
||||||
|
| | | triggerDoorRoom-60
|
||||||
|
| | | |
|
||||||
|
| | | autoDoor-61
|
||||||
|
| | | |
|
||||||
|
| | | autoDoor-62
|
||||||
|
| | | |
|
||||||
|
| | | Corridor-63
|
||||||
|
| | | |
|
||||||
|
| | | defaultRoom-64
|
||||||
|
| | |
|
||||||
|
| | autoDoor-65
|
||||||
|
| | |
|
||||||
|
| | Corridor-66
|
||||||
|
| |
|
||||||
|
| autoDoor-67
|
||||||
|
| |
|
||||||
|
| Corridor-68
|
||||||
|
| |
|
||||||
|
| rect-69
|
||||||
|
|
|
|
||||||
Corridor-8
|
autoDoor-70
|
||||||
|
|
|
|
||||||
autoDoor-9
|
Corridor-71
|
||||||
|
|
|
|
||||||
Corridor-10
|
defaultRoom-72
|
||||||
|
|
|
||||||
Corridor-11
|
|
||||||
|
|
|
||||||
roomCenterPillar-12
|
|
||||||
|
|
|
||||||
corridorN-13
|
|
||||||
|
|
|
||||||
autoDoor-14
|
|
||||||
|
|
|
||||||
Corridor-15
|
|
||||||
|
|
|
||||||
6gon-16
|
|
||||||
|
|
|
||||||
defaultRoom-17
|
|
||||||
|
|
|
||||||
autoRect-18
|
|
||||||
|
|
|
||||||
Corridor-19
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
Generating level with seed 7114951007332849727
|
Generating level with seed 7114951007332849727
|
||||||
|
|
||||||
After 1 attempt(s), Successful generation of level with seed 7114951007332849727
|
After 1 attempt(s), Successful generation of level with seed 7114951007332849727
|
||||||
20 rooms in total
|
73 rooms in total
|
||||||
|
|||||||
+222
-24
@@ -1,23 +1,65 @@
|
|||||||
Seed: 7114951007332849727
|
Seed: 7114951007332849727
|
||||||
0:TutStartRez
|
0:startThenWeaponRoom
|
||||||
|
|
|
|
||||||
1:corDoor
|
1:corDoor
|
||||||
|
|
|
|
||||||
2:DoorTest
|
2:PassthroughLockKeyLists-HELD {_ibtHeld = SPARKGUN}
|
||||||
|
|
|
|
||||||
3:corDoor
|
3:corDoor
|
||||||
|
|
|
|
||||||
4:critroom
|
4:lasSensorTurretTest
|
||||||
|
|
|
|
||||||
5:corDoor
|
5:corDoor
|
||||||
|
|
|
|
||||||
6:TutDrop
|
6:anRoom
|
||||||
|
|
|
|
||||||
7:cor
|
7:corDoor
|
||||||
|
|
|
||||||
|
8:PassthroughLockKeyLists-HELD {_ibtHeld = KEYCARD 0}
|
||||||
|
|
|
||||||
|
9:corDoor
|
||||||
|
|
|
||||||
|
10:warningRooms
|
||||||
|
|
|
||||||
|
11:corDoor
|
||||||
|
|
|
||||||
|
12:chaseCrit+armourChaseCrit rectRoom
|
||||||
|
|
|
||||||
|
13:corDoor
|
||||||
|
|
|
||||||
|
14:healthTest
|
||||||
|
|
|
||||||
|
15:corDoor
|
||||||
|
|
|
||||||
|
16:empty tanksRoom
|
||||||
|
|
|
||||||
|
17:corDoor
|
||||||
|
|
|
||||||
|
18:PassthroughLockKeyLists-LASER
|
||||||
|
|
|
||||||
|
19:corDoor
|
||||||
|
|
|
||||||
|
20:shootingRange
|
||||||
|
|
|
||||||
|
21:corDoor
|
||||||
|
|
|
||||||
|
22:lasSensorTurretTest
|
||||||
|
|
|
||||||
|
23:corDoor
|
||||||
|
|
|
||||||
|
24:randomFourCornerRoom
|
||||||
|
|
||||||
0:0:TutStartRez
|
0:0:startThenWeaponRoom
|
||||||
|
|
|
||||||
|
0:1:weaponBetweenPillars_BANGSTICK4
|
||||||
|
|
||||||
0:0:0:tutRezBox
|
0:0:0:rezBox'
|
||||||
|
|
||||||
|
0:0:0:0:rezBox
|
||||||
|
|
|
||||||
|
0:0:0:1:autoDoor
|
||||||
|
|
||||||
|
0:1:0:rectPillars
|
||||||
|
|
||||||
1:0:corDoor
|
1:0:corDoor
|
||||||
|
|
||||||
@@ -25,19 +67,27 @@ Seed: 7114951007332849727
|
|||||||
|
|
|
|
||||||
1:0:1:Corridor
|
1:0:1:Corridor
|
||||||
|
|
||||||
2:0:DoorTest
|
2:0:PassthroughLockKeyLists-HELD {_ibtHeld = SPARKGUN}
|
||||||
|
|
||||||
2:0:0:doorToggle-6gon
|
2:0:0:RassThroughLockKeyLists
|
||||||
|
|
|
|
||||||
+- 2:0:1:triggerDoorRoom
|
2:0:1:roomsContaining chaseCritchaseCritchaseCritTRANSFORMERCANCAN
|
||||||
|
|
||||||
|
2:0:0:0:sensorRoomRunPast
|
||||||
|
|
||||||
|
2:0:0:0:0:autoDoor
|
||||||
|
|
|
||||||
|
2:0:0:0:1:ElecautoRect
|
||||||
|
|
|
||||||
|
+- 2:0:0:0:2:triggerDoorRoom
|
||||||
| |
|
| |
|
||||||
| 2:0:2:autoRect
|
| 2:0:0:0:3:autoDoor
|
||||||
|
|
|
|
||||||
+- 2:0:3:triggerDoorRoom
|
2:0:0:0:4:autoDoor
|
||||||
| |
|
|
||||||
| 2:0:4:autoRect
|
|
||||||
|
|
|
|
||||||
2:0:5:Corridor
|
2:0:0:0:5:Corridor
|
||||||
|
|
||||||
|
2:0:1:0:defaultRoom
|
||||||
|
|
||||||
3:0:corDoor
|
3:0:corDoor
|
||||||
|
|
||||||
@@ -45,13 +95,15 @@ Seed: 7114951007332849727
|
|||||||
|
|
|
|
||||||
3:0:1:Corridor
|
3:0:1:Corridor
|
||||||
|
|
||||||
4:0:critroom
|
4:0:lasSensorTurretTest
|
||||||
|
|
||||||
4:0:0:Corridor
|
4:0:0:autoDoor
|
||||||
|
|
|
|
||||||
4:0:1:roomCenterPillar
|
4:0:1:8gon
|
||||||
|
|
|
|
||||||
4:0:2:corridorN
|
4:0:2:triggerDoorRoom
|
||||||
|
|
|
||||||
|
4:0:3:autoDoor
|
||||||
|
|
||||||
5:0:corDoor
|
5:0:corDoor
|
||||||
|
|
||||||
@@ -59,13 +111,159 @@ Seed: 7114951007332849727
|
|||||||
|
|
|
|
||||||
5:0:1:Corridor
|
5:0:1:Corridor
|
||||||
|
|
||||||
6:0:TutDrop
|
6:0:anRoom
|
||||||
|
|
||||||
6:0:0:6gon
|
6:0:0:autoRect
|
||||||
|
|
||||||
|
7:0:corDoor
|
||||||
|
|
||||||
|
7:0:0:autoDoor
|
||||||
|
|
|
|
||||||
6:0:1:defaultRoom
|
7:0:1:Corridor
|
||||||
|
|
||||||
|
8:0:PassthroughLockKeyLists-HELD {_ibtHeld = KEYCARD 0}
|
||||||
|
|
||||||
|
8:0:0:RassThroughLockKeyLists
|
||||||
|
|
|
|
||||||
6:0:2:autoRect
|
8:0:1:roomsContaining chaseCritKEYCARD 0
|
||||||
|
|
||||||
7:0:Corridor
|
8:0:0:0:keyCardRoomRunPast
|
||||||
|
|
||||||
|
8:0:0:0:0:autoDoor
|
||||||
|
|
|
||||||
|
8:0:0:0:1:6gon
|
||||||
|
|
|
||||||
|
+- 8:0:0:0:2:triggerDoorRoom
|
||||||
|
| |
|
||||||
|
| 8:0:0:0:3:autoDoor
|
||||||
|
|
|
||||||
|
8:0:0:0:4:autoDoor
|
||||||
|
|
|
||||||
|
8:0:0:0:5:Corridor
|
||||||
|
|
||||||
|
8:0:1:0:rect
|
||||||
|
|
||||||
|
9:0:corDoor
|
||||||
|
|
||||||
|
9:0:0:autoDoor
|
||||||
|
|
|
||||||
|
9:0:1:Corridor
|
||||||
|
|
||||||
|
10:0:warningRooms
|
||||||
|
|
||||||
|
10:0:0:autoDoor
|
||||||
|
|
|
||||||
|
10:0:1:doorToggle-autoRect
|
||||||
|
|
|
||||||
|
10:0:2:triggerDoorRoom
|
||||||
|
|
|
||||||
|
10:0:3:autoDoor
|
||||||
|
|
||||||
|
11:0:corDoor
|
||||||
|
|
||||||
|
11:0:0:autoDoor
|
||||||
|
|
|
||||||
|
11:0:1:Corridor
|
||||||
|
|
||||||
|
12:0:chaseCrit+armourChaseCrit rectRoom
|
||||||
|
|
||||||
|
12:0:0:autoRect
|
||||||
|
|
||||||
|
13:0:corDoor
|
||||||
|
|
||||||
|
13:0:0:autoDoor
|
||||||
|
|
|
||||||
|
13:0:1:Corridor
|
||||||
|
|
||||||
|
14:0:healthTest
|
||||||
|
|
||||||
|
14:0:0:autoDoor
|
||||||
|
|
|
||||||
|
14:0:1:Corridor
|
||||||
|
|
|
||||||
|
14:0:2:8gon
|
||||||
|
|
|
||||||
|
14:0:3:triggerDoorRoom
|
||||||
|
|
|
||||||
|
14:0:4:autoDoor
|
||||||
|
|
||||||
|
15:0:corDoor
|
||||||
|
|
||||||
|
15:0:0:autoDoor
|
||||||
|
|
|
||||||
|
15:0:1:Corridor
|
||||||
|
|
||||||
|
16:0:empty tanksRoom
|
||||||
|
|
||||||
|
16:0:0:tanksRoom
|
||||||
|
|
||||||
|
17:0:corDoor
|
||||||
|
|
||||||
|
17:0:0:autoDoor
|
||||||
|
|
|
||||||
|
17:0:1:Corridor
|
||||||
|
|
||||||
|
18:0:PassthroughLockKeyLists-LASER
|
||||||
|
|
||||||
|
18:0:0:RassThroughLockKeyLists
|
||||||
|
|
|
||||||
|
18:0:1:roomsContaining chaseCritPRISMTRANSFORMERPIPE
|
||||||
|
|
||||||
|
18:0:0:0:lasCenSensEdge
|
||||||
|
|
||||||
|
18:0:0:0:0:autoDoor
|
||||||
|
|
|
||||||
|
18:0:0:0:1:8gon
|
||||||
|
|
|
||||||
|
+- 18:0:0:0:2:triggerDoorRoom
|
||||||
|
| |
|
||||||
|
| 18:0:0:0:3:autoDoor
|
||||||
|
|
|
||||||
|
18:0:0:0:4:autoDoor
|
||||||
|
|
|
||||||
|
18:0:0:0:5:Corridor
|
||||||
|
|
||||||
|
18:0:1:0:autoRect
|
||||||
|
|
||||||
|
19:0:corDoor
|
||||||
|
|
||||||
|
19:0:0:autoDoor
|
||||||
|
|
|
||||||
|
19:0:1:Corridor
|
||||||
|
|
||||||
|
20:0:shootingRange
|
||||||
|
|
||||||
|
20:0:0:autoRect
|
||||||
|
|
|
||||||
|
20:0:1:defaultRoom
|
||||||
|
|
|
||||||
|
20:0:2:autoRect
|
||||||
|
|
|
||||||
|
20:0:3:defaultRoom
|
||||||
|
|
|
||||||
|
20:0:4:autoRect
|
||||||
|
|
||||||
|
21:0:corDoor
|
||||||
|
|
||||||
|
21:0:0:autoDoor
|
||||||
|
|
|
||||||
|
21:0:1:Corridor
|
||||||
|
|
||||||
|
22:0:lasSensorTurretTest
|
||||||
|
|
||||||
|
22:0:0:autoDoor
|
||||||
|
|
|
||||||
|
22:0:1:8gon
|
||||||
|
|
|
||||||
|
22:0:2:triggerDoorRoom
|
||||||
|
|
|
||||||
|
22:0:3:autoDoor
|
||||||
|
|
||||||
|
23:0:corDoor
|
||||||
|
|
||||||
|
23:0:0:autoDoor
|
||||||
|
|
|
||||||
|
23:0:1:Corridor
|
||||||
|
|
||||||
|
24:0:defaultRoom
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+4
-8
@@ -18,13 +18,8 @@ import Dodge.Tree
|
|||||||
import LensHelp
|
import LensHelp
|
||||||
import RandomHelp
|
import RandomHelp
|
||||||
|
|
||||||
-- | A test level tree.
|
|
||||||
initialRoomTree :: State LayoutVars (MetaTree Room String)
|
|
||||||
initialRoomTree = annoToRoomTree initialAnoTree
|
|
||||||
--initialRoomTree = annoToRoomTree startWorldTreeTest
|
|
||||||
|
|
||||||
tutRoomTree :: State LayoutVars (MetaTree Room String)
|
tutRoomTree :: State LayoutVars (MetaTree Room String)
|
||||||
tutRoomTree = annoToRoomTree tutAnoTree
|
tutRoomTree = tutAnoTree
|
||||||
|
|
||||||
--startWorldTreeTest :: Annotation
|
--startWorldTreeTest :: Annotation
|
||||||
--startWorldTreeTest =
|
--startWorldTreeTest =
|
||||||
@@ -32,8 +27,9 @@ tutRoomTree = annoToRoomTree tutAnoTree
|
|||||||
-- [ IntAnno $ AnTree . startRoom
|
-- [ IntAnno $ AnTree . startRoom
|
||||||
-- ]
|
-- ]
|
||||||
|
|
||||||
initialAnoTree :: Annotation
|
initialRoomTree :: State LayoutVars MTRS
|
||||||
initialAnoTree =
|
initialRoomTree =
|
||||||
|
annoToRoomTree $
|
||||||
OnwardList $
|
OnwardList $
|
||||||
intersperse
|
intersperse
|
||||||
(AnTree $ zoom lyGen corDoor)
|
(AnTree $ zoom lyGen corDoor)
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ layoutLevelFromSeed i seed = do
|
|||||||
appendFile "log/attemptedSeeds" "\n"
|
appendFile "log/attemptedSeeds" "\n"
|
||||||
let g = mkStdGen seed
|
let g = mkStdGen seed
|
||||||
let treecluster = evalState tutRoomTree (LayVars g 0)
|
let treecluster = evalState tutRoomTree (LayVars g 0)
|
||||||
|
--let treecluster = evalState initialRoomTree (LayVars g 0)
|
||||||
let labts = decomposeSelfTree $ numSelfTree $ combineTree _rmName treecluster
|
let labts = decomposeSelfTree $ numSelfTree $ combineTree _rmName treecluster
|
||||||
appendFile "log/treeCluster" ("Seed: " ++ show seed ++ "\n")
|
appendFile "log/treeCluster" ("Seed: " ++ show seed ++ "\n")
|
||||||
putStrLn "MetaTree clusters:"
|
putStrLn "MetaTree clusters:"
|
||||||
|
|||||||
@@ -1,18 +1,13 @@
|
|||||||
module Dodge.Room.Tutorial where
|
module Dodge.Room.Tutorial where
|
||||||
|
|
||||||
|
import Dodge.Annotation
|
||||||
import Dodge.Room.Room
|
import Dodge.Room.Room
|
||||||
import Dodge.Annotation.Data
|
|
||||||
import Dodge.Cleat
|
import Dodge.Cleat
|
||||||
--import Control.Monad
|
|
||||||
--import qualified Data.Set as S
|
|
||||||
--import Dodge.Cleat
|
|
||||||
import Dodge.Data.GenWorld
|
import Dodge.Data.GenWorld
|
||||||
import Dodge.Default.Terminal
|
import Dodge.Default.Terminal
|
||||||
import Dodge.Item.Ammo
|
import Dodge.Item.Ammo
|
||||||
import Dodge.Item.Held.Cane
|
import Dodge.Item.Held.Cane
|
||||||
--import Dodge.Item.Random
|
|
||||||
import Dodge.LevelGen.PlacementHelper
|
import Dodge.LevelGen.PlacementHelper
|
||||||
--import Dodge.LightSource
|
|
||||||
import Dodge.Placement.Instance
|
import Dodge.Placement.Instance
|
||||||
import Dodge.PlacementSpot
|
import Dodge.PlacementSpot
|
||||||
import Dodge.Room.Airlock
|
import Dodge.Room.Airlock
|
||||||
@@ -41,11 +36,10 @@ import TreeHelp
|
|||||||
|
|
||||||
--import Data.List (intersperse)
|
--import Data.List (intersperse)
|
||||||
|
|
||||||
tutAnoTree :: Annotation
|
tutAnoTree :: State LayoutVars MTRS
|
||||||
tutAnoTree =
|
tutAnoTree =
|
||||||
|
annoToRoomTree $
|
||||||
OnwardList
|
OnwardList
|
||||||
-- [ AnTree $ return $ tToBTree "teststart" $ return $ cleatOnward corridor
|
|
||||||
-- , AnTree $ tutDrop
|
|
||||||
[ AnTree $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
[ AnTree $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
||||||
, AnTree corDoor
|
, AnTree corDoor
|
||||||
, AnTree tutRooms
|
, AnTree tutRooms
|
||||||
@@ -58,6 +52,12 @@ tutAnoTree =
|
|||||||
---- , AnTree $ weaponTut
|
---- , AnTree $ weaponTut
|
||||||
]
|
]
|
||||||
|
|
||||||
|
foldMTRS :: [State LayoutVars (MetaTree Room String)]
|
||||||
|
-> State LayoutVars (MetaTree Room String)
|
||||||
|
foldMTRS xs = do
|
||||||
|
ys <- sequence xs
|
||||||
|
return $ foldr1 attachOnward' ys
|
||||||
|
|
||||||
setRoomInt :: Room -> State LayoutVars (Int,Room)
|
setRoomInt :: Room -> State LayoutVars (Int,Room)
|
||||||
setRoomInt x = do
|
setRoomInt x = do
|
||||||
i <- nextLayoutInt
|
i <- nextLayoutInt
|
||||||
|
|||||||
Reference in New Issue
Block a user