package Ġfy . game . block pu zzle . game piece Ċ Ċ import Ġfy . game . block pu zzle . game . IG ame View Ċ import Ġfy . game . block pu zzle . game state . Sp iel stand Ċ Ċ /** Ċ Ġ* Ġ 4 ĠGame Piece Holder Ġobjects Ċ Ġ*/ Ċ class ĠHold ers ( view : ĠI Game View ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġhold ers Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġto ĠGame Piece Holder ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġto ĠGame Piece Holder ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġto ĠGame Piece Holder ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġto ĠGame Piece Holder (- 1 ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġget ( index : ĠInt ): ĠGame Piece Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġhold ers [ index ] Ġ?: Ġerror (" Illegal Ġholder Ġindex ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġhold ers . values . forEach Ġ{ Ġit . setView ( view . get Game Piece View ( it . index )) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload ( ss : ĠSp iel stand ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhold ers . values . forEach Ġ{ Ġit . load ( ss ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave ( ss : ĠSp iel stand ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhold ers . values . forEach Ġ{ Ġit . save ( ss ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis 1 2 3 Empty (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget ( 1 ). game Piece Ġ== Ġnull Ġ&& Ġget ( 2 ). game Piece Ġ== Ġnull Ġ&& Ġget ( 3 ). game Piece Ġ== Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Par king () Ġ{ ĊĠĠĠĠĠĠĠ Ġget (- 1 ). game Piece Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear All () Ġ{ ĊĠĠĠĠĠĠĠ Ġget ( 1 ). game Piece Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġget ( 2 ). game Piece Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġget ( 3 ). game Piece Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġclear Par king () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Par king Free (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget (- 1 ). game Piece Ġ== Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠDrop ĠA ktion ĠfÃ¼r ĠPark ing ĠArea Ġ*/ ĊĠĠĠ Ġfun Ġpar k ( source Index : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( source Index Ġ!= Ġ- 1 Ġ&& Ġis Par king Free ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget ( source Index ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget (- 1 ). game Piece Ġ= Ġsource . game Piece Ġ// ĠPark ing Ġbe leg en ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource . game Piece Ġ= Ġnull Ġ// ĠSource Ġle eren ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ