package Ġcom . ma att ss . intro . exercise . sprites Ċ Ċ import Ġcom . badlogic . gdx . graphics . Texture Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Texture Region Ċ import Ġcom . badlogic . gdx . math . Rectangle Ċ import Ġcom . badlogic . gdx . math . Vector 2 Ċ import Ġcom . ma att ss . intro . exercise . Intro Exercise Ċ import Ġjava . util .* Ċ Ċ class ĠHel ic opt er Animated ( x : ĠInt , Ġy : ĠInt ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġhe li Animation : ĠAnimation ĊĠĠĠ Ġval Ġbounds : ĠRectangle ĊĠĠĠ Ġprivate Ġval Ġposition : ĠVector 2 ĊĠĠĠ Ġprivate Ġvar Ġup : ĠBoolean ĊĠĠĠ Ġprivate Ġvar Ġright : ĠBoolean ĊĠĠĠ Ġprivate Ġval Ġspeed : ĠInt ĊĠĠĠ Ġprivate Ġval Ġhe li Width : ĠFloat ĊĠĠĠ Ġprivate Ġval Ġhe li Height : ĠFloat ĊĊĠĠĠ Ġfun Ġupdate ( dt : ĠFloat , Ġh 2 : ĠHel ic opt er Animated , Ġh 3 : ĠHel ic opt er Animated ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhe li Animation . update ( dt ) ĊĠĠĠĠĠĠĠ Ġbounds . setPosition ( position . x , Ġposition . y ) ĊĠĠĠĠĠĠĠ Ġif Ġ( bounds . overlap s ( h 2 . bounds ) Ġ|| Ġbounds . overlap s ( h 3 . bounds )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġup Ġ= Ġ! up ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġ! right ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmove X ( speed Ġ* Ġdt ) ĊĠĠĠĠĠĠĠ Ġmove Y ( speed Ġ* Ġdt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmove X ( speed : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( right ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition . x Ġ+= Ġspeed ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition . x Ġ-= Ġspeed ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( right Ġ&& Ġposition . x Ġ> ĠIntro Exercise . WIDTH Ġ- Ġhe li Width ) Ġright Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! right Ġ&& Ġposition . x Ġ< Ġ 0 ) Ġright Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmove Y ( speed : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( up ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition . y Ġ+= Ġspeed ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition . y Ġ-= Ġspeed ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( up Ġ&& Ġposition . y Ġ> ĠIntro Exercise . HEIGHT Ġ- Ġhe li Height ) Ġup Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! up Ġ&& Ġposition . y Ġ< Ġ 0 ) Ġup Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġx : ĠFloat ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġposition . x ĊĊĠĠĠ Ġval Ġy : ĠFloat ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġposition . y ĊĊĠĠĠ Ġval Ġtexture : ĠTexture Region ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġhe li Animation . get Frame () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtexture Ġ= ĠTexture (" he li / he li animation . png ") ĊĠĠĠĠĠĠĠ Ġhe li Animation Ġ= ĠAnimation ( Texture Region ( texture ), Ġ 4 , Ġ 0 . 1 f ) ĊĠĠĠĠĠĠĠ Ġposition Ġ= ĠVector 2 ( x . toFloat (), Ġy . toFloat ()) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġhe li Ġ= ĠTexture (" he li / he li . png ") ĊĠĠĠĠĠĠĠ Ġhe li Height Ġ= Ġhe li . height . toFloat () ĊĠĠĠĠĠĠĠ Ġhe li Width Ġ= Ġhe li . width . toFloat () ĊĠĠĠĠĠĠĠ Ġhe li . dispose () ĊĊĠĠĠĠĠĠĠ Ġ// ĠAssign Ġrandom Ġspeed Ġand Ġdirection Ġto Ġhe li ĊĠĠĠĠĠĠĠ Ġval Ġrand Ġ= ĠRandom () ĊĠĠĠĠĠĠĠ Ġspeed Ġ= Ġ 4 0 Ġ* Ġrand . nextInt ( 2 0 ) Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġup Ġ= Ġrand . next Boolean () ĊĠĠĠĠĠĠĠ Ġright Ġ= Ġrand . next Boolean () ĊĠĠĠĠĠĠĠ Ġbounds Ġ= ĠRectangle ( position . x , Ġposition . y , Ġhe li . width . toFloat (), Ġhe li . height . toFloat ()) ĊĠĠĠ Ġ} Ċ }