Work on placements
This commit is contained in:
+33
-145
@@ -1,163 +1,51 @@
|
|||||||
Seed: 7114951007332849727
|
Seed: 7114951007332849727
|
||||||
Room layout (compact):
|
Room layout (compact):
|
||||||
0,1,2,3,4,5,6
|
0,1,2,3
|
||||||
|
|
|
|
||||||
+- 7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
|
+- 4,5
|
||||||
| |
|
|
||||||
| +- 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
|
|
||||||
|
|
|
|
||||||
70,71,72
|
+- 6,7
|
||||||
|
|
|
||||||
|
8,9,10,11,12,13,14,15,16,17,18,19
|
||||||
|
|
||||||
Layout with room names:
|
Layout with room names:
|
||||||
rezBox-0
|
tutRezBox-0
|
||||||
|
|
|
|
||||||
autoDoor-1
|
autoDoor-1
|
||||||
|
|
|
|
||||||
rectPillars-2
|
Corridor-2
|
||||||
|
|
|
|
||||||
autoDoor-3
|
doorToggle-6gon-3
|
||||||
|
|
|
|
||||||
Corridor-4
|
+- triggerDoorRoom-4
|
||||||
|
| |
|
||||||
|
| autoRect-5
|
||||||
|
|
|
|
||||||
autoDoor-5
|
+- triggerDoorRoom-6
|
||||||
|
| |
|
||||||
|
| autoRect-7
|
||||||
|
|
|
|
||||||
ElecautoRect-6
|
Corridor-8
|
||||||
|
|
|
|
||||||
+- triggerDoorRoom-7
|
autoDoor-9
|
||||||
| |
|
|
||||||
| autoDoor-8
|
|
||||||
| |
|
|
||||||
| 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
|
|
||||||
|
|
|
|
||||||
autoDoor-70
|
Corridor-10
|
||||||
|
|
|
|
||||||
Corridor-71
|
Corridor-11
|
||||||
|
|
|
|
||||||
defaultRoom-72
|
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
|
||||||
73 rooms in total
|
20 rooms in total
|
||||||
|
|||||||
+24
-222
@@ -1,65 +1,23 @@
|
|||||||
Seed: 7114951007332849727
|
Seed: 7114951007332849727
|
||||||
0:startThenWeaponRoom
|
0:TutStartRez
|
||||||
|
|
|
|
||||||
1:corDoor
|
1:corDoor
|
||||||
|
|
|
|
||||||
2:PassthroughLockKeyLists-HELD {_ibtHeld = SPARKGUN}
|
2:DoorTest
|
||||||
|
|
|
|
||||||
3:corDoor
|
3:corDoor
|
||||||
|
|
|
|
||||||
4:lasSensorTurretTest
|
4:critroom
|
||||||
|
|
|
|
||||||
5:corDoor
|
5:corDoor
|
||||||
|
|
|
|
||||||
6:anRoom
|
6:TutDrop
|
||||||
|
|
|
|
||||||
7:corDoor
|
7:cor
|
||||||
|
|
|
||||||
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:startThenWeaponRoom
|
0:0:TutStartRez
|
||||||
|
|
|
||||||
0:1:weaponBetweenPillars_BANGSTICK4
|
|
||||||
|
|
||||||
0:0:0:rezBox'
|
0:0:0:tutRezBox
|
||||||
|
|
||||||
0:0:0:0:rezBox
|
|
||||||
|
|
|
||||||
0:0:0:1:autoDoor
|
|
||||||
|
|
||||||
0:1:0:rectPillars
|
|
||||||
|
|
||||||
1:0:corDoor
|
1:0:corDoor
|
||||||
|
|
||||||
@@ -67,27 +25,19 @@ Seed: 7114951007332849727
|
|||||||
|
|
|
|
||||||
1:0:1:Corridor
|
1:0:1:Corridor
|
||||||
|
|
||||||
2:0:PassthroughLockKeyLists-HELD {_ibtHeld = SPARKGUN}
|
2:0:DoorTest
|
||||||
|
|
||||||
2:0:0:RassThroughLockKeyLists
|
2:0:0:doorToggle-6gon
|
||||||
|
|
|
|
||||||
2:0:1:roomsContaining chaseCritchaseCritchaseCritTRANSFORMERCANCAN
|
+- 2:0:1:triggerDoorRoom
|
||||||
|
|
||||||
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:0:0:3:autoDoor
|
| 2:0:2:autoRect
|
||||||
|
|
|
|
||||||
2:0:0:0:4:autoDoor
|
+- 2:0:3:triggerDoorRoom
|
||||||
|
| |
|
||||||
|
| 2:0:4:autoRect
|
||||||
|
|
|
|
||||||
2:0:0:0:5:Corridor
|
2:0:5:Corridor
|
||||||
|
|
||||||
2:0:1:0:defaultRoom
|
|
||||||
|
|
||||||
3:0:corDoor
|
3:0:corDoor
|
||||||
|
|
||||||
@@ -95,15 +45,13 @@ Seed: 7114951007332849727
|
|||||||
|
|
|
|
||||||
3:0:1:Corridor
|
3:0:1:Corridor
|
||||||
|
|
||||||
4:0:lasSensorTurretTest
|
4:0:critroom
|
||||||
|
|
||||||
4:0:0:autoDoor
|
4:0:0:Corridor
|
||||||
|
|
|
|
||||||
4:0:1:8gon
|
4:0:1:roomCenterPillar
|
||||||
|
|
|
|
||||||
4:0:2:triggerDoorRoom
|
4:0:2:corridorN
|
||||||
|
|
|
||||||
4:0:3:autoDoor
|
|
||||||
|
|
||||||
5:0:corDoor
|
5:0:corDoor
|
||||||
|
|
||||||
@@ -111,159 +59,13 @@ Seed: 7114951007332849727
|
|||||||
|
|
|
|
||||||
5:0:1:Corridor
|
5:0:1:Corridor
|
||||||
|
|
||||||
6:0:anRoom
|
6:0:TutDrop
|
||||||
|
|
||||||
6:0:0:autoRect
|
6:0:0:6gon
|
||||||
|
|
||||||
7:0:corDoor
|
|
||||||
|
|
||||||
7:0:0:autoDoor
|
|
||||||
|
|
|
|
||||||
7:0:1:Corridor
|
6:0:1:defaultRoom
|
||||||
|
|
||||||
8:0:PassthroughLockKeyLists-HELD {_ibtHeld = KEYCARD 0}
|
|
||||||
|
|
||||||
8:0:0:RassThroughLockKeyLists
|
|
||||||
|
|
|
|
||||||
8:0:1:roomsContaining chaseCritKEYCARD 0
|
6:0:2:autoRect
|
||||||
|
|
||||||
8:0:0:0:keyCardRoomRunPast
|
7:0:Corridor
|
||||||
|
|
||||||
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
@@ -52,8 +52,8 @@ layoutLevelFromSeed i seed = do
|
|||||||
putStrLnAppend "log/attemptedSeeds" $ "Generating level with seed " ++ show seed
|
putStrLnAppend "log/attemptedSeeds" $ "Generating level with seed " ++ show seed
|
||||||
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 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:"
|
||||||
|
|||||||
+21
-29
@@ -44,6 +44,7 @@ lightSensInsideDoor i rm =
|
|||||||
, psPt atFstLnkOut (PutForeground $ verticalWire (V2 20 0) 0 80)
|
, psPt atFstLnkOut (PutForeground $ verticalWire (V2 20 0) 0 80)
|
||||||
, sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100) & plExternalID ?~ i
|
, sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100) & plExternalID ?~ i
|
||||||
]
|
]
|
||||||
|
|
||||||
-- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100)
|
-- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100)
|
||||||
|
|
||||||
lightSensByDoor :: Int -> Room -> Room
|
lightSensByDoor :: Int -> Room -> Room
|
||||||
@@ -53,10 +54,11 @@ lightSensByDoor i rm =
|
|||||||
.++~ [ psPt atFstLnkOut $ PutForeground $ verticalWire (V2 20 0) 0 80
|
.++~ [ psPt atFstLnkOut $ PutForeground $ verticalWire (V2 20 0) 0 80
|
||||||
, heightWallPS (atNthLnkOutShiftInward 1 100) 30 covershape
|
, heightWallPS (atNthLnkOutShiftInward 1 100) 30 covershape
|
||||||
, heightWallPS (atFstLnkOutShiftInward 100) 30 covershape
|
, heightWallPS (atFstLnkOutShiftInward 100) 30 covershape
|
||||||
, sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift) & plExternalID ?~ i
|
, sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift) & plExternalID ?~ i
|
||||||
]
|
]
|
||||||
-- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift)
|
|
||||||
where
|
where
|
||||||
|
-- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift)
|
||||||
|
|
||||||
covershape = rectNSWE 10 (-10) (-20) 20
|
covershape = rectNSWE 10 (-10) (-20) 20
|
||||||
sensorshift (p, a) = (p +.+ rotateV a (V2 60 (-20)), a)
|
sensorshift (p, a) = (p +.+ rotateV a (V2 60 (-20)), a)
|
||||||
|
|
||||||
@@ -83,38 +85,28 @@ analyserByNthLink n proxreq i rm =
|
|||||||
rm
|
rm
|
||||||
& rmPmnts
|
& rmPmnts
|
||||||
.++~ [ psPt (atNthLinkOut n) $ PutForeground $ verticalWire (V2 20 0) 0 80
|
.++~ [ psPt (atNthLinkOut n) $ PutForeground $ verticalWire (V2 20 0) 0 80
|
||||||
, analyser
|
, analyser
|
||||||
(SensorWithRequirement proxreq)
|
(SensorWithRequirement proxreq)
|
||||||
(atNthLnkOutShiftBy n (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
|
(atNthLnkOutShiftBy n (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
|
||||||
(atNthLnkOutShiftBy n sensorshift)
|
(atNthLnkOutShiftBy n sensorshift)
|
||||||
& plExternalID ?~ i
|
& plExternalID ?~ i
|
||||||
]
|
]
|
||||||
-- & rmOutPmnt . at i ?~
|
|
||||||
-- analyser
|
|
||||||
-- (SensorWithRequirement proxreq)
|
|
||||||
-- (atNthLnkOutShiftBy n (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
|
|
||||||
-- (atNthLnkOutShiftBy n sensorshift)
|
|
||||||
where
|
where
|
||||||
sensorshift (p, a) = (p +.+ rotateV a (V2 (-30) (-10)), a)
|
sensorshift (p, a) = (p +.+ rotateV a (V2 (-30) (-10)), a)
|
||||||
|
|
||||||
analyserByNthLinkWithPrompt
|
analyserByNthLinkWithPrompt ::
|
||||||
:: Int -> [TerminalLine] -> ProximityRequirement -> Int -> Room -> Room
|
Int -> [TerminalLine] -> ProximityRequirement -> Int -> Placement
|
||||||
analyserByNthLinkWithPrompt n l proxreq i rm =
|
analyserByNthLinkWithPrompt n l proxreq i =
|
||||||
rm
|
-- rm
|
||||||
& rmPmnts
|
-- & rmPmnts
|
||||||
.++~ [ psPt (atNthLinkOut n) $ PutForeground $ verticalWire (V2 20 0) 0 80
|
-- .++~ [-- psPt (atNthLinkOut n) $ PutForeground $ verticalWire (V2 20 0) 0 80
|
||||||
,
|
analyserWithPrompt
|
||||||
analyserWithPrompt l
|
l
|
||||||
(SensorWithRequirement proxreq)
|
(SensorWithRequirement proxreq)
|
||||||
(atNthLnkOutShiftBy n (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
|
(atNthLnkOutShiftBy n (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
|
||||||
(atNthLnkOutShiftBy n sensorshift)
|
(atNthLnkOutShiftBy n sensorshift)
|
||||||
& plExternalID ?~ i
|
& plExternalID ?~ i
|
||||||
]
|
-- ]
|
||||||
-- & rmOutPmnt . at i ?~
|
|
||||||
-- analyserWithPrompt l
|
|
||||||
-- (SensorWithRequirement proxreq)
|
|
||||||
-- (atNthLnkOutShiftBy n (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
|
|
||||||
-- (atNthLnkOutShiftBy n sensorshift)
|
|
||||||
where
|
where
|
||||||
sensorshift (p, a) = (p +.+ rotateV a (V2 (-30) (-10)), a)
|
sensorshift (p, a) = (p +.+ rotateV a (V2 (-30) (-10)), a)
|
||||||
|
|
||||||
@@ -122,7 +114,7 @@ analyserByDoor :: ProximityRequirement -> Int -> Room -> Room
|
|||||||
analyserByDoor = analyserByNthLink 0
|
analyserByDoor = analyserByNthLink 0
|
||||||
|
|
||||||
analyserByDoorWithPrompt :: [TerminalLine] -> ProximityRequirement -> Int -> Room -> Room
|
analyserByDoorWithPrompt :: [TerminalLine] -> ProximityRequirement -> Int -> Room -> Room
|
||||||
analyserByDoorWithPrompt = analyserByNthLinkWithPrompt 0
|
analyserByDoorWithPrompt s x i = rmPmnts .:~ analyserByNthLinkWithPrompt 0 s x i
|
||||||
|
|
||||||
healthTest :: RandomGen g => Int -> State g (Tree Room)
|
healthTest :: RandomGen g => Int -> State g (Tree Room)
|
||||||
healthTest n = do
|
healthTest n = do
|
||||||
|
|||||||
@@ -37,13 +37,14 @@ import TreeHelp
|
|||||||
--import Data.List (intersperse)
|
--import Data.List (intersperse)
|
||||||
|
|
||||||
tutAnoTree :: State LayoutVars MTRS
|
tutAnoTree :: State LayoutVars MTRS
|
||||||
tutAnoTree =
|
tutAnoTree = do
|
||||||
|
(is,wbp) <- setTreeInts =<< weaponBehindPillar
|
||||||
foldMTRS
|
foldMTRS
|
||||||
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
||||||
, corDoor
|
, corDoor
|
||||||
, tutRooms
|
, tutRooms is
|
||||||
, corDoor
|
, corDoor
|
||||||
, tToBTree "critroom" <$> weaponBehindPillar
|
, tToBTree "critroom" <$> return wbp
|
||||||
, corDoor
|
, corDoor
|
||||||
, tutDrop
|
, tutDrop
|
||||||
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
@@ -64,6 +65,11 @@ setRoomInt x = do
|
|||||||
where
|
where
|
||||||
f i rm _ = genInts . at i ?~ (rm ^?! rmMID . _Just)
|
f i rm _ = genInts . at i ?~ (rm ^?! rmMID . _Just)
|
||||||
|
|
||||||
|
setTreeInts :: Tree Room -> State LayoutVars ([Int],Tree Room)
|
||||||
|
setTreeInts x = do
|
||||||
|
y <- traverse setRoomInt x
|
||||||
|
return (foldMap ((:[]) . fst) y, fmap snd y)
|
||||||
|
|
||||||
tutDrop :: State LayoutVars (MetaTree Room String)
|
tutDrop :: State LayoutVars (MetaTree Room String)
|
||||||
tutDrop = do
|
tutDrop = do
|
||||||
x <- shuffleLinks =<< roomNgon 6 100
|
x <- shuffleLinks =<< roomNgon 6 100
|
||||||
@@ -97,12 +103,16 @@ tutDrop = do
|
|||||||
, makeTermLine "-------------------------------------------"
|
, makeTermLine "-------------------------------------------"
|
||||||
]
|
]
|
||||||
|
|
||||||
tutRooms :: State LayoutVars (MetaTree Room String)
|
tutRooms :: [Int] -> State LayoutVars (MetaTree Room String)
|
||||||
tutRooms = do
|
tutRooms is = do
|
||||||
i <- nextLayoutInt
|
i <- nextLayoutInt
|
||||||
j <- nextLayoutInt
|
j <- nextLayoutInt
|
||||||
|
k <- nextLayoutInt
|
||||||
|
let a gw = analyserByNthLinkWithPrompt 3 sensorTut (RequireEquipment (AMMOMAG DRUMMAG)) k
|
||||||
x <-
|
x <-
|
||||||
shuffleLinks . analyserByDoorWithPrompt sensorTut (RequireEquipment (AMMOMAG DRUMMAG)) i
|
shuffleLinks
|
||||||
|
. analyserByDoorWithPrompt sensorTut (RequireEquipment (AMMOMAG DRUMMAG)) i
|
||||||
|
. (rmInPmnt .:~ a)
|
||||||
=<< addDoorAtNthLinkToggleTerminal 1 ss j
|
=<< addDoorAtNthLinkToggleTerminal 1 ss j
|
||||||
<$> roomNgon 6 100
|
<$> roomNgon 6 100
|
||||||
bcor <- blockedCorridor
|
bcor <- blockedCorridor
|
||||||
@@ -115,6 +125,7 @@ tutRooms = do
|
|||||||
[ treeFromPost [triggerDoorRoom i] r1
|
[ treeFromPost [triggerDoorRoom i] r1
|
||||||
, treeFromPost [triggerDoorRoom j] r2
|
, treeFromPost [triggerDoorRoom j] r2
|
||||||
, bcor
|
, bcor
|
||||||
|
-- , treeFromPost [triggerDoorRoom k] r2
|
||||||
]
|
]
|
||||||
where
|
where
|
||||||
ss =
|
ss =
|
||||||
|
|||||||
Reference in New Issue
Block a user