Воронеж F3K 19.06.2010

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:

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

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

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