{ Едем в Подольск, Version 1.02 }

{ Copyright (c) 1999,2000 by Sergey V. Efimoff }



{ Все, что вы увидите ниже, было написано холодным ветреным вечером }

{ в декабре 1999 года под впечатлением одной из многочисленных }

{ поездок домой в объекте класса общественного транспорта, }

{ называемого электричкой. Итак, понеслась... }



{ ... }



Weather.Create;

Weather.Snow.Initialize;

Weather.Wind.Initialize;

Weather.Conditions(Degrees.Zero, Wetness.95%);



People.Bind(Platform);

Timer:=Platform.People.Clock.Minutes;

MaxWait:=32;



while not Train.Arrived do begin

if Platform.People.Clock.Minutes-Timer>MaxWait then begin

Platform.People.ТвоюМать('Да где же эта чертова электричка?!')

Timer:=Platform.People.Clock.Minutes;

if MaxWait>1 then MaxWait:=MaxWait div 2 else begin

Platform.People.ТвоюМать(ОЧЕHЬ_СИЛЬHО);

MaxWait:=32;

end;

end else

Platform.People.Walk(Platform)

end;



for Stations in [Царицыно..Подольск] do begin

Train.Show;

Train.Stop;

Platform.People.ТвоюМать('Как всегда, набитая! ;-(');

Train.Doors.Open;

Train.People.FallOut(Platform);



{ People are going to enter the train... }



Counter:=Platform.People.Push(@Self, Train, CNT_Till_глаза_на_лбу);

Platform.People.Push(@Self,Train,Counter*2);



while not Train.Moves do begin

Platform.People.ТвоюМать('Еще одного!!! Hу в сеpедине же пусто совсем!!!');

Train.People.ТвоюМать('у куда вы лезете - не видите, места нет!');

Train.Driver.ТвоюМать('Идите все к черту, а я закрываю двери! ;-E');

Platform.People.Push(@Self.Train,1);

Train.People.DeepВыдох;

end;



Train.StartMove;



try

Train.Doors.Close;

except

Train.Doors.Open;

Train.People.FallOut(Railway);

Train.Doors.Close;

finally

Train.Doors.Lock;

end;



Babka:=Train.People.ExecSQL('SELECT * FROM People '+

'WHERE People.Age>60 AND People.Sex=UNDEFINED AND

People.Flags=(самое_толстое AND самое_вредное)');



{ Every time you eat ... }



Babka.Bag.Fish.StartSmell;



while Train.Moves do begin

Babka.TurnAround;

Train.People.ТвоюМать('Долго ты еще будешь вертеться?!');

Babka.ТвоюМать('А что, нельзя? а себя посмотри, алкаш!');

Train.People.ТвоюМать(WM_SEND_FAR);

Babka.Idle(Time.Seconds.10);

end;



People1:=Train.People.ExecSQL('SELECT * FROM People WHERE People.Out:=WILL');

People2:=Train.People.ExecSQL('SELECT * FROM People WHERE People.Out:=WONT');

People3:=Train.People.ExecSQL('SELECT * FROM People WHERE People.Out:=CANT');



{ Action 1 }



People1.Ask(Train.People[People2], 'Вы выходите?');

People2.Message('Нет');



{ Action 2 }



People2.Kick(People1);

People2.ТвоюМать('Куда прешься???');

People1.ТвоюМать(WM_SEND_FAR);



{ Action 3 }



People3.Kick(People2);

People3.ТвоюМать('Ну пройди в середину, че встал как пенек у входа?!');

People2.ТвоюМать(WM_SEND_FAR);



end;



Train.People.Pop(@Self, Train, All);

People.Bind(BusStation);

BusStation.People.DeepВдох;



while not Bus.Arrived do BusStation.People.Idle(тупо_уставившись_на_расписание);



Bus:=Class(Train);



{ ... }