package Ġorg . ge ep aw h ill . d ungeon Ċ Ċ import Ġjava . util .* Ċ Ċ class ĠRandom s Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġsource Ġ= ĠRandom ( 9 9 9 ) ĊĊĊĠĠĠ Ġfun Ġre seed ( seed : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsource Ġ= ĠRandom ( seed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinterval ( from : ĠInt , Ġto : ĠInt ) Ġ= Ġfrom Ġ+ Ġsource . nextInt ( to Ġ- Ġfrom Ġ+ Ġ 1 ) ĊĊĠĠĠ Ġfun Ġor thogonal (): ĠDirection Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( source . nextInt ( 4 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠDirection . NORTH ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠDirection . SO UTH ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠDirection . EAST ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> ĠDirection . WEST ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠRuntimeException (" Bounded Ġrandom Ġreturned Ġillegal Ġvalue ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġchoose ( from : ĠList < T >): ĠT Ġ= Ġfrom [ source . nextInt ( from . size )] Ċ }