Воронеж F3K 19.06.2010

Юрий_68

Те, что снимал утром, действительно были разминочные. Но их не много (снято возле палаточного городка).И снимал я их втихаря и между прочим. А вот те которые после соревнований, там народ старается не меньше, чем на турах.
Все предупреждены и все хотят реально посмотреть на свои забросы. Так, что если и были неудачные, то это случайные срывы.
Еще раз убеждаюсь, что у многих после нормального разбега происходит почти полная остановка и весь смысл пробежки теряется.

ЗЫ
Давайте обсуждение забросов перенесем в соответствующую тему. (Там где замедленная съемка). Наверно так лучше будет.

joy

Во, я наконец то добрался до компьтера.

По соревнованиям всё понравилось. Особенно погода. Были конечно и минусы, но их мало и думаю Коля и Руслан всё исправят, если будут проводить ещё раз.

Отдельное спасибо хочется сказать Ряховскому Олегу, который как обычно приютил меня на время прибывания в Москве и Андрею Звонилкину, который вёз нас в Воронеж и обратно.

Поздравления Олегу и Коле! Олег летал очень аккуратно и заработал эту победу. Я же наоборот летал слишком рискованно и в трёх упражнениях получил нули за посадки вне зоны. Ну что ж, сам виноват. Коля молодец. При том, что организовал соревнования ещё и призовое место занял - монстр!

Ну и немного фоток

wws
joy:

Во, я наконец то добрался до компьтера.

Эммм, ну раз добрался, так может это, обновить f3k.ru/calc.zip ? Или это к Сергеичу?
Я там всего-то поменял

--- F3KScore.java.orig    2010-06-21 18:45:29.319012174 +0400
+++ F3KScore.java    2010-06-21 19:52:33.196137335 +0400
@@ -55,6 +55,8 @@
             textArea.append("\tPenalty support.\n");
             textArea.append("\tPrinting support (Result, Scorecards, Startlist) .\n");
             textArea.append(" \n");
+            textArea.append("version 7a:\tShift competitors in groups between rounds.\n");
+            textArea.append(" \n");
             textArea.append(" \n");
             textArea.append("Functional description:\n");
             textArea.append(" \n");
@@ -1752,14 +1754,17 @@
         public CompetitorGroup(Competition comp, int group, int round)
         {
             groupList = new Competitor[400];
+            Competitor _groupList[] = new Competitor[400];
             competitorCount = 0;
             for(int c = 0; c < comp.GetCompetitorCount(); c++)
                 if(comp.GetCompetitor(c).GetGroup(round) == group)
                 {
-                    groupList[competitorCount] = comp.GetCompetitor(c);
+                    _groupList[competitorCount] = comp.GetCompetitor(c);
                     competitorCount++;
                 }
-
+           int shift = (group+17)*round;
+           for(int c = 0; c < competitorCount; ++c)
+               groupList[c] = _groupList[(c + shift) % competitorCount];
         }
     }

Зато теперь оно хронометристов нормально тассует. Это нам, чтоб в Твери успеть уже со всеми-всеми полетать.

А то в Воронеже я в турах общался всего-то с 5-ю фиксированными человечками. А преимущественно все более с Олегом Шешеня, да с Русланом. И вижу, что у всех остальных такая же фигня.

И, кстати, зная особенности программы (без сделанных сейчас изменений) можно очень легко, при составлении register-листа, добиться чтобы тебя хронометрили примерно одни и те же люди. Ну вот так поганенько програмка в этом месте была устроена. А теперь, все ОК.

Еще раз дам ссылку на подправленный бинарь

joy

Ну так может сразу на русский её перевести для полноты?

ЗЫ. Есть обновлённая таблица по КР после воронежского этапа

Paladin

ага, и добавить в упражнение С возможность лететь более 3-х раз

З.Ы.
Вить, jar - это не бинарь, а как раз исходник.
😃

wws
Paladin:

Вить, jar - это не бинарь, а как раз исходник.

😃 Это вообще - zip. А вот внутри может быть хоть исходник, хоть байт-код, хоть вообще мидлет какой-нибудь 😃. Впрочем я не джавист.

А слово бинарь так, для простоты понимания остальными.

buerger

а откуда у вас исходники проги?
Reverse Engineering?

Paladin

Total Commander замечательно входит в jar, как в папку… ну а дальше - дело техники
😃

buerger

так там что исходники тоже запакованы или вы их декомпилировали?

wws

Внутри JAR-а лежат классы, а по сути байт-код с отладочной информацией. Распаковали в один каталог. Мой программист сказал
$ jad [какие-то ключики] <файл_с_мэйн>
и получил один большой исходный файл.

Мы в этом файле покопались, обнаружили, что программа не умеет хранить порядок следования пилотов внутри групп (не пишет его в файл), почему почти всегда располагает их в одном и том же порядке. Именно поэтому Калгин всегда был первым, либо в первой либо во второй группе.

Ну и, чтоб порядок с одной стороны менялся, а с другой был неизменным при SAVE/LOAD файла, ввели сдвиг списка пилотов внутри группы от одного раунда к другому. Состав заранее созданных групп не меняется, а вот порядок меняется от раунда к раунду.

Поправив код, мы его опять скомпилировали под JRE 1.5 (ну чтоб у всех заведомо пошел) все несколько раз проверили и выложили.

P.S.
А програмка объявлена freeware и я не нашел в хелпе никаких запретов что-либо в ней менять. Хотя я бы её лучше GNU-сделал, так надежнее.

buerger

понятно, декомпилировали значит. Думаю, лучше все таки автора сначала спросить надо.

wws

Виталик, мы в России, а по нашим законам можно никого и не справшивать. Причем это не шутка.

ГК РФ, ч. 4, ст. 1280 - Декомпилирование программ для ЭВМ, п. 3:

  1. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой

Т.е. если я хочу заглянуть под юбку Наташе, я могу сославшись на желание повзаимодействовать с её бойфрендом, на полных законных основаниях раздеть эту самую Наташу и поглазеть.
😎

У нас, еще много всяких фокусов, позволяющих не спрашивать согласия автора. Так что большинство традиционных лицензионных ограничений - обходимы. А F3KScore, поскольку не содержит в себе лицензионного соглашения и ссылки на оное - вообще не является программой для ЭВМ, по крайней мере в той мере в которой такие программы защищает закон 😃

Я почему и сказал, что я бы сделал GNU, там хоть нормальная лицензия есть, которая гаратнирует, что программа навечно останется свободной для использования и доработок, а не станет внезапно жутко платной.

olgol

Я пытался контактировать автора программы, Peter Jubel, он сказал, что не даст исходный код, потому как не хочет. Я думаю, времени и желания у него нет на доработки и возню с клиентами. Кучу замечаний и пожеланий, которую я ему отправлял, он проигнориривал, вернее, просто ничего не произошло.

Я позавчера, вдохновленный этой темой и увидев, что коллеги уже занимаются доработкой программы, взял, потратил пару часов, и тоже нашел декомпилятор, разгрыз программу, и второй день ее переделываю. Внутреннюю модель данных пока менять не буду, чтобы можно было старые файлы читать. Но может, в конце концов, кое-что и там поменяю.

По этому поводу вопрос - Виктор, расскажи подробнее для тех, кто на пронепоезде: как вы там выбираете хронометристов? Берете следующую группу пилотов в качестве хронометристов? А как быть в случаях, когда пилот летает в 2х группах подряд? Или это работает только для 2х групп?

wws
olgol:

По этому поводу вопрос - Виктор, расскажи подробнее для тех, кто на пронепоезде: как вы там выбираете хронометристов? Берете следующую группу пилотов в качестве хронометристов? А как быть в случаях, когда пилот летает в 2х группах подряд? Или это работает только для 2х групп?

У нас обычно первую группу в туре хронометрит следущая группа этого же тура. А вот последнюю - хронометрит первая. По сути берешь таб StartList и на нем прямо справо от того, кто сейчас летит, читаешь его хронометриста.

У нас пилоты что-то не летают в одном ТУРЕ (в терминах этой программы Round) в двух группах подряд 😃 А у вас разве не так?

Тот фикс, что я привел, работает и для случая трёх и более групп. Формат мы тоже трогать не стали, потому и сделали простейший сдвиг по модулю. Сделали так для того, чтоб при перезагрузке сохраненного файла этот порядок сохранялся и можно было понять, кто-кого хронометрил.

joy

Виктор, так что насчёт русификации программы?
Было бы очень полезно и удобно.

wws
olgol:

Но может, в конце концов, кое-что и там поменяю.

Да там бдлиннн, все надо менять. Так код не пишут 😃 На один процесс тассования групп взгляни… Ужассс. Хоть автору и спасибо огромное! Он сделал большое дело.

Наверное потому он код и не дает, что стыдно. Нам, кстати тоже стыдно за наш фикс, но так наиболее безболезненно для гарантий работоспособности.

joy:

Виктор, так что насчёт русификации программы?

Муторно… Я уже на пару часов человека занял. Делал бы сам, ноу проблем, а так… Код-то я вижу и более-менее понимаю что там написано, но вот всякие сборки, тесты, изменения манифестов и.т.п… Я последнее место все больше в ворде и экселе программирую, в том смысле что бюрократ от АйТи.

Но! Тут у нас есть еще один отечественный программер, ненароком проболтавшийся 😃