package Ġmain čĊč Ċ import Ġcom . google . common . event bus . EventBus č Ċ import Ġsimulation . Simulation View č Ċ import Ġsimulation . model . basic . Simulation č Ċ import Ġjava . awt . Color č Ċ import Ġjavax . swing . J Frame čĊč Ċ data Ġclass ĠXY ( val Ġx : ĠDouble , Ġval Ġy : ĠDouble ) čĊč Ċ data Ġclass ĠMouse Zoom Event ( val Ġzoom : ĠInt ) č Ċ data Ġclass ĠMouse Down Event ( val Ġx : ĠInt , Ġval Ġy : ĠInt ) č Ċ data Ġclass ĠMouse Up Event ( val Ġx : ĠInt , Ġval Ġy : ĠInt ) č Ċ data Ġclass ĠMouse Move Event ( val Ġx : ĠInt , Ġval Ġy : ĠInt ) čĊčĊč Ċ class ĠSimulation Frame ( val Ġsimulation : ĠSimulation , Ġval Ġbus : ĠEvent Bus ) Ġ: ĠJ Frame (" Gal actic ĠSimulation ") Ġ{ čĊčĊĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠ Ġis Resizable Ġ= Ġtrue čĊĠĠĠĠĠĠĠ Ġdefault Close Operation Ġ= ĠJ Frame . EXIT _ ON _ CLOSE čĊĠĠĠĠĠĠĠ Ġbackground Ġ= ĠColor . white čĊčĊĠĠĠĠĠĠĠ Ġadd ( Simulation View ( simulation , Ġbus )) čĊĠĠĠĠĠĠĠ Ġpack () čĊĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġtrue čĊĠĠĠ Ġ} č Ċ } čĊč Ċ fun Ġmain ( args : ĠArray < String > ){ čĊĠĠĠ Ġval Ġbus Ġ= ĠEvent Bus (" Simulation ĠBus ") čĊĠĠĠ Ġval Ġsim Ġ= ĠSimulation ( bus , Ġsystem Count Ġ= Ġ 1 0 0 0 , Ġplan ets Range Ġ= Ġ 0 .. 9 ) čĊĠĠĠ ĠSimulation Frame ( sim , Ġbus ) čĊĠĠĠ Ġwhile ( true ){ čĊĠĠĠĠĠĠĠ Ġsim . tick (); čĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 ); čĊĠĠĠ Ġ} č Ċ } čĊ