package Ġk ot city . ui . layers Ċ Ċ import Ġjavafx . scene . paint . Color Ċ import Ġk ot city . data . Block Coordinate Ċ import Ġk ot city . data . City Map Ċ import Ġk ot city . data . T unable Ċ import Ġk ot city . ui . Algorithms Ċ import Ġk ot city . ui . map . City Renderer ĊĊ Ċ class ĠLand Value Renderer ( private Ġval Ġcity Renderer : ĠCity Renderer , Ġprivate Ġval Ġcity Map : ĠCity Map ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠNE G ATIVE _ COLOR : ĠColor Ġ= ĠColor . RED ĊĠĠĠĠĠĠĠ Ġval ĠPOS ITIVE _ COLOR : ĠColor Ġ= ĠColor . GREEN ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrender () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( start Block , Ġend Block ) Ġ= Ġcity Renderer . visible Block Range () ĊĊĠĠĠĠĠĠĠ ĠBlock Coordinate . iterate All ( start Block , Ġend Block ) Ġ{ Ġcoordinate Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġland Value Ġ= Ġcity Map . land Value Layer [ coordinate ] Ġ?: Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcity Renderer . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd X Ġ= Ġ( coordinate . x Ġ- Ġblock Offset X ) Ġ* ĠblockSize ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Y Ġ= Ġ( coordinate . y Ġ- Ġblock Offset Y ) Ġ* ĠblockSize ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . graphics Context 2 D . apply Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOK Ġwe Ġgot ta Ġscale Ġbetween Ġmin Ġand Ġmax ... ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscaled Land Value Ġ= ĠAlgorithms . scale ( land Value , Ġ 0 . 0 , ĠT unable . MAX _ LAND _ VALUE , Ġ 0 . 0 , Ġ 1 . 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġland Value Color Ġ= ĠNE G ATIVE _ COLOR . interpolate ( POSITIVE _ COLOR , Ġscaled Land Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfill Ġ= ĠColor ( land Value Color . red , Ġland Value Color . green , Ġland Value Color . blue , Ġ 0 . 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfill Rect ( dX , Ġd Y , ĠblockSize , ĠblockSize ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ