package Ġcom . example . p ong Game Ċ Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . util . Log Ċ import Ġkotlin . random . Random Ċ Ċ class ĠBall ( var Ġimage : ĠBitmap ) Ġ{ ĊĠĠĠ Ġvar Ġx : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġy : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġsize : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġx Velocity : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġy Velocity : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġcurrent R ally Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġval Ġscreen Width Ġ= ĠResources . getSystem (). display Metrics . width Pixels ĊĠĠĠ Ġprivate Ġval Ġscreen Height Ġ= ĠResources . getSystem (). display Metrics . height Pixels ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġsize Ġ= Ġimage . height ĊĠĠĠĠĠĠĠ Ġreset ( Random . next Boolean ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdraw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcanvas . draw Bitmap ( image , Ġx . toFloat (), Ġy . toFloat (), Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġx Ġ+= Ġ( x Velocity ) ĊĠĠĠĠĠĠĠ Ġy Ġ+= Ġ( y Velocity ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( x Ġ<= Ġ 0 Ġ|| Ġx Ġ+ Ġsize Ġ>= Ġscreen Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Velocity Ġ= Ġ- x Velocity ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Velocity () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( x Velocity Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Velocity Ġ-= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Velocity Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( y Velocity Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Velocity Ġ-= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Velocity Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreset ( player 1 won : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġx Ġ= Ġscreen Width Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġy Ġ= Ġscreen Height Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġcurrent R ally Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġif Ġ( player 1 won ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Velocity Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Velocity Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Velocity Ġ= Ġ- 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Velocity Ġ= Ġ- 1 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }