import Ġkotlin . random . Random Ċ Ċ class ĠSimulation Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġair port : ĠAir port Ġ= ĠAir port ( Random . nextInt ( 0 , Ġ 1 8 ), Ġ" OM DB ", Ġ" DX B ") ĊĊĠĠĠ Ġprivate Ġfun Ġrand Registration (): ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġbegin Ġ= ĠlistOf (" D ", Ġ" A 7 ", Ġ" OK ", Ġ" N "). random () ĊĠĠĠĠĠĠĠ Ġval Ġchars Ġ= Ġ" ABCDEF GH IJ KL MN OP Q RST UV W XYZ 0 1 2 3 4 5 6 7 8 9 " ĊĠĠĠĠĠĠĠ Ġvar Ġend Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. ( 5 - begin . length )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ+= Ġchars . random () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ begin -$ end " ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Plane () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplane Ġ= ĠAir plane ( rand Registration ()) ĊĠĠĠĠĠĠĠ Ġair port . add Observable ( plane ) ĊĠĠĠĠĠĠĠ Ġplane . add Observer ( airport ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtail rec Ġfun Ġrun () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Random . next Boolean ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Plane () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġair port . update () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 3 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġrun () ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ