package Ġtech . david per e ira . ma ze Ċ Ċ import Ġjava . awt . Color Ċ import Ġjava . awt . Graphics Ċ Ċ class ĠCell ( val Ġx : ĠInt , Ġval Ġy : ĠInt ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġwalls Ġ= Ġboolean ArrayOf ( true , Ġtrue , Ġtrue , Ġtrue ) ĊĊĠĠĠ Ġvar Ġvisited Ġ= Ġfalse ĊĊĠĠĠ Ġfun Ġshow ( g : ĠGraphics ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( visited ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . color Ġ= ĠColor . RED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg . fillRect ( x Ġ* ĠCELL _ SIZE , Ġy Ġ* ĠCELL _ SIZE , ĠCELL _ SIZE , ĠCELL _ SIZE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġg . color Ġ= ĠColor . BLACK ĊĠĠĠĠĠĠĠ Ġif Ġ( wall s [ 0 ]) Ġg . draw Line ( x Ġ* ĠCELL _ SIZE , Ġy Ġ* ĠCELL _ SIZE , Ġ( x Ġ+ Ġ 1 ) Ġ* ĠCELL _ SIZE , Ġy Ġ* ĠCELL _ SIZE ) ĊĠĠĠĠĠĠĠ Ġif Ġ( wall s [ 1 ]) Ġg . draw Line (( x Ġ+ Ġ 1 ) Ġ* ĠCELL _ SIZE , Ġy Ġ* ĠCELL _ SIZE , Ġ( x Ġ+ Ġ 1 ) Ġ* ĠCELL _ SIZE , Ġ( y Ġ+ Ġ 1 ) Ġ* ĠCELL _ SIZE ) ĊĠĠĠĠĠĠĠ Ġif Ġ( wall s [ 2 ]) Ġg . draw Line ( x Ġ* ĠCELL _ SIZE , Ġ( y Ġ+ Ġ 1 ) Ġ* ĠCELL _ SIZE , Ġ( x Ġ+ Ġ 1 ) Ġ* ĠCELL _ SIZE , Ġ( y Ġ+ Ġ 1 ) Ġ* ĠCELL _ SIZE ) ĊĠĠĠĠĠĠĠ Ġif Ġ( wall s [ 3 ]) Ġg . draw Line ( x Ġ* ĠCELL _ SIZE , Ġy Ġ* ĠCELL _ SIZE , Ġx Ġ* ĠCELL _ SIZE , Ġ( y Ġ+ Ġ 1 ) Ġ* ĠCELL _ SIZE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Wall To ( chosen Cell : ĠCell ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . y Ġ- Ġchosen Cell . y Ġ Ġ== ĠĠ 1 Ġ-> Ġ{ Ġthis . wall s [ 0 ] Ġ= Ġfalse ; Ġchosen Cell . wall s [ 2 ] Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . y Ġ- Ġchosen Cell . y Ġ Ġ== Ġ- 1 Ġ-> Ġ{ Ġthis . wall s [ 2 ] Ġ= Ġfalse ; Ġchosen Cell . wall s [ 0 ] Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . x Ġ- Ġchosen Cell . x Ġ Ġ== ĠĠ 1 Ġ-> Ġ{ Ġthis . wall s [ 3 ] Ġ= Ġfalse ; Ġchosen Cell . wall s [ 1 ] Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . x Ġ- Ġchosen Cell . x Ġ Ġ== Ġ- 1 Ġ-> Ġ{ Ġthis . wall s [ 1 ] Ġ= Ġfalse ; Ġchosen Cell . wall s [ 3 ] Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ