package Ġg gi . game Ċ Ċ import Ġg gi . Abstract GameState Ċ import Ġg gi . Simple Player Interface Ċ import Ġjava . awt . event . Key Adapter Ċ import Ġjava . awt . event . KeyEvent Ċ Ċ object ĠConstants Ġ{ ĊĠĠĠ Ġval Ġdo Nothing Ġ= Ġ 0 Ċ } Ċ Ċ class ĠGeneral Key Controller Ġ: ĠKey Adapter (), ĠSimple Player Interface Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Agent Type (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" General Key Controller " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġvar Ġselected Action Ġ= ĠConstants . do Nothing ĊĠĠĠ Ġvar Ġkey Map : ĠHashMap < Int , Int > Ġ= ĠHashMap () ĊĊĠĠĠ Ġoverride Ġfun Ġkey Pressed ( e : ĠKeyEvent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠSystem . out . println ( e ); ĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġe !!. keyCode ĊĠĠĠĠĠĠĠ Ġval Ġcandidate Ġ= Ġkey Map . get ( key ) ĊĠĠĠĠĠĠĠ Ġif Ġ( candidate Ġ!= Ġnull ) Ġselected Action Ġ= Ġcandidate ; ĊĠĠĠĠĠĠĠ Ġ// Ġprintln ( selected Action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġkey Released ( e : ĠKeyEvent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġselected Action Ġ= ĠConstants . do Nothing ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Action ( game State : ĠAbstract GameState , Ġplayer Id : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġselected Action ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreset (): ĠSimple Player Interface Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ } Ċ