yunus
Ты хочешь сказать, что во избежание путаницы и двусмысленности следует выработать определенный набор критериев, которым должна удовлетворять программа? То есть нужно выработать минимальный набор требований к программе. Резонно. Пока в качестве задания у нас лидирует "игра Арканоид". Какие будут предложения? Можно было бы сформулировать следующие требования: 1. Игра должна быть полноценной: 1.1. определенный набор уровней (не менее 10) 1.2. различные уровни сложности 1.3. наличие жизней и бонусов 1.4. наличие звукового оформления 2. Удобство пользования 2.1. как минимум два варианта управления (клавиатура или мышка). 2.2. пользователь должен иметь возможность переопределять управляющие клавиши клавиатуры 2.3. предусмотреть возможность приостановлении игры (Pause, Save/Load). 3. Оригинальность и динамичность приветствуются. Можно было бы... Но, поскольку участников будет скорее всего не очень много, я бы данные требования не стал объявлять обязательными. |
yunus,
не соглашусь с тобой. Каждая прога имеет право на существование и объективно ее оценить, конечно, не получится. Но, средняя арифметическая оценка из оценок судей и дадут то самое "статитически объективное" представление о проге. Конечно, критерии важны, но слишком много их тоже быть не должно. Я бы ввел один критерий соответствия: [B]завершенный и готовый к использованию программный продукт". Все остальное оценит жюри. Если в одной проге управление и мышью и клавой, но жутко неудобное, а в другой только клавой, но суперпродуманное и эргономичное, то это сразу будет видно и, соответственно, оценено. |
предлагаю идти по немного другому пути. если уж сказано конкурс программистов. так и нужно сделать конкурс именно программистов. что я под этим подразумеваю?
пример: программа, которая ищет скажем все перестановки числового ряда за кратчайший промежуток времени. еще: нахождение всех путей графа. можно "завернуть" это в "красивую обертку". по скорости измерять конечно не получиться, т.к. программа, скажем, на asm-е будет всегда быстрее программы на php:) но вот сам алгоритм, изящество решения и качество исходного кода - вполне поддается оценке компетентным жюри:) |
Цитата:
|
ну допустим:
1. "детские" ошибки. Код:
$temp = $value; 2. работа с памятью. Встает вопрос о том, как работать с памятью. что лучше: диамически выделять память или хранить переменные статически. как реализовано: копирование, выделение, очистка? 3. ООП. если используется, то нужно смотреть реализацию классов, методов, перегрузку операторов, наследование и т.д. что где используется, оправдано или нет? 4. этот пункт уже не обязателен, но если попадутся очень качественные работы, то его можно учесть: а). используется ли какая-либо нотация при присвоении имен переменных, классов, методов? б). читаемость кода? в). комментарии? а самое главное: код должен как можно оптимальнее реализовывать конкретный алгоритм. p.s. конечно тут встанет вопрос о разнообразии языков и технологий. скажем в c#(.NET) в принципе не нужно брать на себя работу с памятью, т.к. за нас уже это сделает среда ..NET. Как вариант, можно будет разделить работы на несколько групп. В каждой группе свой победитель. в любом случае, даже если отмести все критерии, которые я привел, то останется 1 основной: оптимальная реализация алгоритма. |
1. А кто сказал что она лишняя? Возможно где-то в коде переменная используется? Прийдется юзать профилер, причем для каждого языка свой. Это слишком трудоемко.
3. Оправдано или нет. Ты представляешь каково члену жюри будет сидеть и разбираться в коде каждой программы? Одного времени сколько. 4. Это можно оценить. Хотя не думаю что это верный критерий для выбора лучшего. Давай всё-такиостановимся на оценке по "удобству". Это по крайней мере может сделать каждый. Да и участникам интересней удивлять самой программой, а не её кодом. |
Я поддерживаю RaZEr-а. ИМХО, интереснее оценивать и писать приложение имеющее практическую ценность для большого количества пользователей.
|
Итак пришло время подвести итоги опроса:
1. Арканоид (игра) 2. Текстовый редактор (аналог notepad) 3. Менеджер процессов win32 Победил арканоид. Какие будут возражения? |
Имхо, всё к тому и шло, чтобы победила игра. Не важно какая. И правильно. Это будет интересно и программерам и вообще широкой аудитории - просто взглянуть чего там наваяли. Глядишь, кто-то и оставит себе игрушку и насовсем.
Срок разработки, думаю, не более месяца. |
(: да, месяца, должно быть в самый раз. Предлагаю установить срок до 1-го Марта.
1-го Марта состоится презентация :beer: |
Месяц? Давайте месяц!
А запись участников делаем? или свободное посещение? |
ИМХО свободное посещение - гемора меньше... я вот например не знаю пока буду или нет участвовать... просто скажите дату, после которой проги не будут приниматься к рассмотрению...
|
Никто не мешает записаться участникам, но делать это обязательным смысла не вижу.
Насчет сроков: Это едва ли не самое важное. Думаю нужно объявить их дважды: сначала дату начала (заранее), а потом - дату окончания. |
Самое хреновое что в арканоиде важен не сколько сам "движок" (который к слову простой как 5 копеек), сколько графика и разнообразие уровней. На последнее у нормального программера не хватит фантазии/времени, а на графику умений. Гыыыыыыы :cool:
|
Цитата:
|
Согласен с 3мя посл. постами!
|
конкурс еwё будет?
|
Цитата:
|
Я бы с удовольствием поучавствовал. Мой C++ надо подтягивать ;)
|
Tempson
Цитата:
(тут вообще их не дают. уже. хехе) |
Модератору.
Предлагаю конкурс программирования - DirectX открытка к 8-му марта (или OpenGL). Как условия - прога должна быть написана с нуля, т.е. без использования сторонних компонентов, а так же проги написанные на языках типа Blitz не рассматривать. В конкурс только проги с исходными кодами. Так же думаю следует исключить использование готовых 3D объектов, только математика и програмное моделирование. Если будут желающие можно будет более детально оговорить условия. |
lotr, это уже демосценой попахивает :)
|
lotr
Программисты все разные по профилю - системные, прикладные, веб... у каждого свои любимые интсрументы и технологии. Кто-то хороший кодер, зато другой - хороший архитектор ПО. Если и проводить конкурс, то уж по нескольким номинациям, т.к. нельзя выбрать одного самого самого. |
Не хочу показаться скептиком, но учитывая то, что провалился конкурс по написанию арканойда и текстового редактора, говорить о 3D-графике преждевременно.
|
Кхе, тут каждый предлагает на конкурс такое задание, которое точно уверен, что сделает лучше всех :)
|
Цитата:
|
Давайте что-то оптимальное предумаем?
Создадим что-ли несколько номинаций? |
Цитата:
|
Так с арканоидом что нить вышло? То что я-кодер, я забыл после сдачи диплома в лицее, а вот геймер во мне живёт и умирать не собирается :)
|
Предлагаю возродить конкурс. Участники пишут некую логическую игру (например подкидного дурака), а побеждает тот, чья прога сможет обыграть всех остальных.
|
С конкурсом что то тишина :( Я б включился бы.
|
+1 я за простенькая задача на логику и стиль
|
ну что может сами соберемся и предложим что то?
например что то типа сольвера (программа которая решает уравнения и выражения введенные в текстовом виде) типа вводишь =(2*sin(16)-2345^43)/(8675*22/243) ну это для примера тем более в условиях не должно разрешаться пользоваться готовыми библиотеками , принимается только чистый код. |
Очень простой код будет отсылать вот такой запрос
Код:
http://www.google.com/search?client=safari&rls=en-us&q=(2*sin(16)-2345%5E43)/(8675*22/243)&ie=UTF-8&oe=UTF-8 |
Я же вроде написал
Цитата:
|
2sflash, твоя задача в зависимости от языка программирования решается либо просто, либо очень просто... ИМХО, самое лучшее что на сегодняшний день придумали для конкурсов - это программинг ботов (на Java точно есть, по-моему JRobot называется) для дуэльных и коммандных поединков...
логика и стиль - вещи очень субъективные и зависят исключительно от опыта работы в крупных софтверных компаниях конкретного проверяльщика кода. А в ботах один критерий, с которым не поспоришь - победил твой бот или нет :) |
Цитата:
|
JRobot - это я попутал :biggrin:
Я вот этот проект на Java имел в виду http://robocode.sourceforge.net/ на других языках не знаю... еще есть обучающая игра Colobot http://colobot.com/, но там, судя по слухам, все совсем просто, хотя лично я не юзал... В идеале, просто среду, которая будет отрисовывать графику, т.е. поле боя, а API нужно сузить до минимума, чтобы программист сосредоточился на логике и алгоритмике... А по сути, игра может быть любой, хоть и в дурака :) |
Цитата:
|
Цитата:
Под QNX, к примеру. |
Часовой пояс GMT +4, время: 10:05. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.