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