package Ġgame objects Ċ Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Batch Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Texture Region Ċ import Ġcom . badlogic . gdx . graphics . gl utils . Shape Renderer Ċ import Ġenums . J ew el Type Ċ import Ġutils . Game Screen Assets Ċ Ċ class ĠCell ( var Ġis Playing Ġ: ĠBoolean , Ġvar Ġj ew el Ġ: ĠJ ew el , Ġvar Ġtile Texture Ġ: ĠTexture Region , Ġprivate Ġval Ġassets : ĠGame Screen Assets ) Ġ{ ĊĊĠĠĠ Ġvar Ġis Top Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Bottom Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Right Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Left Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Top Edge Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Bottom Edge Ġ= Ġfalse ĊĊĠĠĠ Ġ// ĠTODO Ġ: ĠUse Ġinit Ġblock Ġto Ġdetermine Ġborders Ġ( save Ġthem Ġto Ġthe Ġlist ĠCell Border Ġand Ġuse ĠCell Border . draw ()) ĊĠĠĠ Ġfun Ġdraw Tile ( batch : ĠBatch , Ġx Ġ: ĠFloat , Ġy Ġ: ĠFloat , Ġsize Ġ: ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Playing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . draw ( tile Texture , x , y , size , size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbatch . end () ĊĠĠĠĠĠĠĠ Ġdraw B orders ( x , y , size , assets . border Width ) ĊĠĠĠĠĠĠĠ Ġbatch . begin () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw B orders ( x Ġ: ĠFloat , Ġy Ġ: ĠFloat , Ġsize Ġ: ĠFloat , Ġborder Size Ġ: ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġassets . border . begin ( Shape Renderer . Shape Type . Filled ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Top ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Top Edge ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x Ġ- Ġborder Size , Ġy Ġ+ Ġsize , Ġsize Ġ+ Ġborder Size Ġ* Ġ 2 , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( is Right Ġ&& Ġis Left ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x Ġ- Ġborder Size , Ġy Ġ+ Ġsize , Ġsize Ġ+ Ġborder Size Ġ* Ġ 2 , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( is Right ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x , Ġy Ġ+ Ġsize , Ġsize Ġ+ Ġborder Size , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( is Left ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x Ġ- Ġborder Size , Ġy Ġ+ Ġsize , Ġsize Ġ+ Ġborder Size , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x , Ġy Ġ+ Ġsize , Ġsize , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( is Bottom ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Bottom Edge ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x Ġ- Ġborder Size , Ġy Ġ- Ġborder Size , Ġsize Ġ+ Ġborder Size Ġ* Ġ 2 , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( is Right Ġ&& Ġis Left ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x Ġ- Ġborder Size , Ġy Ġ- Ġborder Size , Ġsize Ġ+ Ġborder Size Ġ* Ġ 2 , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( is Right ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x , Ġy Ġ- Ġborder Size , Ġsize Ġ+ Ġborder Size , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( is Left ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x Ġ- Ġborder Size , Ġy Ġ- Ġborder Size , Ġsize Ġ+ Ġborder Size , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x , Ġy Ġ- Ġborder Size , Ġsize , Ġborder Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( is Right ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x Ġ+ Ġsize , y , border Size , size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( is Left ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassets . border . rect ( x Ġ- Ġborder Size , y , border Size , size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassets . border . end () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdraw J ew el ( batch : ĠBatch , Ġx Ġ: ĠFloat , Ġy Ġ: ĠFloat , Ġsize Ġ: ĠFloat , Ġdelta Ġ: ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Playing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( j ew el . j ew el Type Ġ!= ĠJ ew el Type . NO _ JE W EL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj ew el . draw ( batch , Ġx , Ġy , Ġsize , Ġdelta ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Blocked () Ġ: ĠBoolean Ġ{ Ġ Ġ// ĠTODO : Ġreturns Ġtrue Ġfor Ġcells Ġthat Ġaren 't Ġallowed Ġto Ġbe Ġmoved , Ġex : Ġchained Ġj ew els ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Playing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( j ew el . j ew el Type Ġ== ĠJ ew el Type . NO _ JE W EL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ Ċ }