Simplify analyser machine
This commit is contained in:
@@ -1,7 +1,4 @@
|
||||
module Dodge.Placement.Instance.Analyser (
|
||||
analyser,
|
||||
analyserWithPrompt,
|
||||
) where
|
||||
module Dodge.Placement.Instance.Analyser (analyser) where
|
||||
|
||||
import Dodge.Data.GenWorld
|
||||
import Dodge.Default
|
||||
@@ -9,20 +6,14 @@ import Dodge.Placement.Instance
|
||||
import LensHelp
|
||||
|
||||
analyser :: ProximitySensorType -> PlacementSpot -> PlacementSpot -> Placement
|
||||
analyser = analyserWithPrompt []
|
||||
|
||||
analyserWithPrompt ::
|
||||
[TerminalLine] -> ProximitySensorType -> PlacementSpot -> PlacementSpot -> Placement
|
||||
analyserWithPrompt l pst pslight psmc = extTrigLitPos pslight $ \tp ->
|
||||
analyser pst pslight psmc = extTrigLitPos pslight $ \tp ->
|
||||
Just $
|
||||
plSpot .~ psmc $
|
||||
putTerminal
|
||||
(themachine & mcMounts . at OTTrigger .~ _plMID tp)
|
||||
tparams
|
||||
where
|
||||
tparams =
|
||||
defaultTerminal & tmStatus .~ TerminalLineRead
|
||||
& tmFutureLines .~ l
|
||||
tparams = defaultTerminal & tmStatus .~ TerminalLineRead
|
||||
themachine =
|
||||
defaultMachine -- & mcColor .~ aquamarine
|
||||
& mcHP .~ 10000
|
||||
|
||||
@@ -23,7 +23,6 @@ putTerminalFull ::
|
||||
Terminal ->
|
||||
Placement
|
||||
putTerminalFull f mc tm =
|
||||
--ps0PushPS (PutTerminal (tm & tmExternalColor .~ col)) $
|
||||
ps0PushPS (PutTerminal tm) $
|
||||
\tmpl -> Just $
|
||||
ps0PushPS (PutButton defaultButton) $
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{-# LANGUAGE TupleSections #-}
|
||||
|
||||
module Dodge.Room.LasTurret (
|
||||
analyserByNthLinkWithPrompt,
|
||||
analyserByNthLink,
|
||||
analyserByDoor,
|
||||
lasCenSensEdge,
|
||||
lasTunnelRunPast,
|
||||
@@ -92,27 +92,7 @@ healthAnalyserByDoor = analyserByDoor (RequireHealth 1100)
|
||||
|
||||
analyserByNthLink :: Int -> ProximityRequirement -> Int -> Placement
|
||||
analyserByNthLink n proxreq i =
|
||||
analyser
|
||||
(SensorWithRequirement proxreq)
|
||||
( atNthLnkOutShiftBy
|
||||
n
|
||||
( \(p, a) ->
|
||||
((p +.+ rotateV a (V2 18.5 (-2.5)), a), S.singleton UsedPosLow)
|
||||
)
|
||||
)
|
||||
(atNthLnkOutShiftBy n sensorshift)
|
||||
& plExternalID ?~ i
|
||||
where
|
||||
sensorshift (p, a) = ((p +.+ rotateV a (V2 (-30) (-10)), a), S.singleton UsedPosLow)
|
||||
|
||||
analyserByNthLinkWithPrompt ::
|
||||
Int -> [TerminalLine] -> ProximityRequirement -> Int -> Placement
|
||||
analyserByNthLinkWithPrompt n l proxreq i =
|
||||
-- rm
|
||||
-- & rmPmnts
|
||||
-- .++~ [-- psPt (atNthLinkOut n) $ PutForeground $ verticalWire (V2 20 0) 0 80
|
||||
analyserWithPrompt
|
||||
l
|
||||
analyser
|
||||
(SensorWithRequirement proxreq)
|
||||
( atNthLnkOutShiftBy
|
||||
n
|
||||
@@ -123,16 +103,11 @@ analyserByNthLinkWithPrompt n l proxreq i =
|
||||
(atNthLnkOutShiftBy n sensorshift)
|
||||
& plExternalID ?~ i
|
||||
where
|
||||
-- ]
|
||||
|
||||
sensorshift (p, a) = ((p +.+ rotateV a (V2 (-30) (-10)), a), S.singleton UsedPosLow)
|
||||
|
||||
analyserByDoor :: ProximityRequirement -> Int -> Room -> Room
|
||||
analyserByDoor pr i = rmPmnts .:~ analyserByNthLink 0 pr i
|
||||
|
||||
--analyserByDoorWithPrompt :: [TerminalLine] -> ProximityRequirement -> Int -> Room -> Room
|
||||
--analyserByDoorWithPrompt s x i = rmPmnts .:~ analyserByNthLinkWithPrompt 0 s x i
|
||||
|
||||
healthTest :: RandomGen g => Int -> State g (Tree Room)
|
||||
healthTest n = do
|
||||
cenroom <- shuffleLinks . healthAnalyserByDoor n =<< roomNgon 8 200
|
||||
|
||||
@@ -258,10 +258,8 @@ tutHub = do
|
||||
j <- nextLayoutInt
|
||||
k <- nextLayoutInt
|
||||
let a gw =
|
||||
analyserByNthLinkWithPrompt
|
||||
3 --(makeTermPara $ show is <> show (getRoomsFromInts is gw)
|
||||
-- <> getCrsFromRooms' is gw)
|
||||
[]
|
||||
analyserByNthLink
|
||||
3
|
||||
(RequireDeadCreatures $ getCrsFromRooms is gw)
|
||||
k
|
||||
x <-
|
||||
|
||||
Reference in New Issue
Block a user