package Ġcom . min es . games Ċ Ċ import Ġcom . min es . games . Near Coordinates Calculator . bom bs Near Ċ Ċ class ĠMap Generator ( private Ġval Ġwidth : ĠInt , Ġprivate Ġval Ġheight : ĠInt , Ġprivate Ġval Ġb om bs Count : ĠInt ) Ġ{ ĊĠĠĠ Ġdata Ġclass ĠMap Cell ( val Ġx : ĠInt , Ġval Ġy : ĠInt , Ġval Ġis B omb : ĠBoolean Ġ= Ġfalse , Ġval Ġb om bs Near : ĠInt ) ĊĊĠĠĠ Ġprivate Ġval Ġb om bs Locations Ġ= Ġmutable ListOf < ArrayList < Int >>() ĊĠĠĠ Ġprivate Ġval Ġmap Ġ= Ġmutable ListOf < Map Cell >() ĊĊĠĠĠ Ġfun Ġgenerate Map (): ĠMutable List < Map Cell > Ġ{ ĊĠĠĠĠĠĠĠ Ġinstall B om bs () ĊĊĠĠĠĠĠĠĠ Ġ( 0 Ġuntil Ġheight ). forEach Ġ{ Ġy Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( 0 Ġuntil Ġwidth ). forEach Ġ{ Ġx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMap Cell ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġy , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb om bs Locations . contains ( array ListOf ( x , Ġy )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb om bs Near ( x , Ġy , Ġb om bs Locations ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinstall B om bs () Ġ{ ĊĠĠĠĠĠĠĠ Ġ( 0 Ġuntil Ġb om bs Count ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstall @ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġarray ListOf (( 0 Ġuntil Ġwidth ). random (), Ġ( 0 Ġuntil Ġheight ). random ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bom bs Locations . contains ( position )) Ġcontinue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb om bs Locations . add ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak @ install ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ