Ну млин .. начни с начальных книжек по паттернам в програмировании (IMG:
style_emoticons/default/smile.gif)
В данном случае тебе надо было реализовывать Finite State Machine... Ты же постарался раскидать систему на внутрение объекты, что ведёт за собой неизвестные действия... Внутрение объекты имеют права скидывать FSM'у сигналы об их состоянии и всё )) А раздача денег, и все проверки на клиентах делать - эт реальное убожество )
Поэтому я и говорю, что так как ты не знаешь вообще как пишутся програмы, то для тебя CTF было нечто необычайное )