singlepost

кружок программистов << На главную или назад  

В ближайшее время мне предстоит создать при кафедре информатики кружок по программированию :) Т.е. интересующиеся этим студенты не IT-шних специальностей будут учиться писать на СИ и тд. А потом будут писать более менее интересные программки с каким-нибудь практическим использованием.
Я вообще надеюсь, что мне попадутся энтузиасты, которые сами придумают себе темы, но всё же проблема, что писать стоит… Если у кого-нибудь есть идеи несложных, но интересных программ, и не жалко поделиться, напишите пожалуйста.

(под несложным я понимаю – можно написать человеку не учившемуся на программиста, но владеющему языком на пристойном уровне)

34 ответов в теме “кружок программистов”

  1. 33
    Антон Кононов ответил:

    ты будешь удивлен, но взрослые они ж как дети))

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

  2. 32
    Сергей Савин ответил:

    :-D У меняж не школьный кружок ;)

  3. 31
    Антон Кононов ответил:

    не хотел говорить но все-таки скажу, почитав каменты:

    ищи игрушку Colobot если ещё её не прошёл )))

    вот эту: //ru.wikipedia.org/wiki/Colobot
    =)

  4. 30
    Сергей Савин ответил:

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

  5. 29
    Сергей Савин ответил:

    Александр Рулёв А что, может и начнём ;)

  6. 28
    Тимур Багаутдинов ответил:

    Так, а задача все-таки в чем? Научиться программировать на Си или развлекаться с уже более менее познавших сию область людьми?
    Если первое, то как ни крути учиться придется. И брать какие-нибудь классические курсы по языку, алгоритмы и структуры данных.

    А вот OpenGl и Си, пожалуй сходу тяжеловато будет для людей не знакомых с компьютерной графикой. Чтобы чего-то осознанно на OpenGL делать неплохо бы основы поизучать. Курсы есть, тот же самый intuit.ru всегда доступен)))
    А так, мне по душе больше OpenGL в связке с C# использовать

  7. 27
    Александр Рулёв ответил:

    Угу,в текстовом режиме ;)

  8. 26
    Александр Рулёв ответил:

    Марио,марио…а вы с тетриса начните:))

  9. 25
    Андрей Мельников ответил:

    Лучше с Pacman'a :)

  10. 24
    Андрей Мельников ответил:

    Ну хотя бы //nehe.gamedev.net . Сложно конечно, понять VBO, шейдеры, построение теней, но это врядли понадобится. Сами по себе установка точки обзора, освещения, полигонов (натягивания на них текстур) достаточно просты. (особенно для людей, хотя бы отдаленно знакомых с редакторами типа 3dsMAX, Maya).

  11. 23
    Сергей Савин ответил:

    Андрей Sawtooth Мельников
    Я к сожелению имею очень скромный опыт использования OpenGL. У меня сложилось впечатление что для начинающих это сложно. Хотя возможно я ошибаюсь. Если есть хорошо откомментированный пример кода, и не затруднит прислать / дать ссылку – буду очень признателен :)

  12. 22
    Сергей Савин ответил:

    Антон RichDad Кононов
    Спасибо! Все гениальное просто :) Потом уже можно переходить на более сложные вещи)

    На счет торможения – это правда, особенно когда пытаешься имитировать 3D :) ) Но если стараться поменьше "заливать" крупные области экрана, можно несколько ускорить процесс.

  13. 21
    Vlad Ламбар ответил:

    "Popcap Framework" для 2D casual game подходит просто идеально ^^

  14. 20
    Алексей Терещенко ответил:

    Для 2D можно использовать библиотеку SDL: простая, быстрая, кроссплатформенная. Если хочется аппаратного ускорения, то можно использовать ее совместно с OpenGL. В такой связке заполнять экран спрайтами можно со скоростями > 1000 fps.

  15. 19
    Андрей Мельников ответил:

    Тормозить будут любые компоненты, не предназначенные для анимации. Я рекомендую (без придурей) использовать OpenGL – свободная библиотека (достаточная в своем единстве для элементарных вещей), и кроме того использовать её несложно – как в дельфи, так и в C++ Builder, Visual C++.

  16. 18
    Антон Кононов ответил:

    я дак на канвасе без придурей рисую (точнее рисовал когда вел кружок для школьников). правда 50 fps максимум, но для 2д игр это пойдет.

    если интересно можно и пример написать. а если кратко:
    0) кроме формы и таймера визуальных компонентов нет
    1) все объекты игрового мира должны храниться в массиве
    2) отрисовка объектов только в одной процедуре OnPaint()
    3) есть таймер с интервалом 1 (он будет флопсы считать)
    4) таймер вызывает Move() а затем Invalidate() (move двигает объекты, точнее меняет их координаты, а Invalidate() перерисует новую картинку)

    код:
    var
    b: TBitmap;
    x,y: integer;

    begin // тут загрузка (например на OnCreate или OnShow для формы)
    b := Tbitmap.Create();
    b.LoadFromFile('mySprite.bmp'); // тут файл спрайта
    b.TransparentColor := clBlack; // тут указать цвет фона у спрайта
    b.Transparent := true;
    x:=0;
    y:=0;
    end;

    таймер:
    begin
    Move();
    Invalidate;
    end;

    отдельная процедура Move:
    begin
    x:=x+1; // вот тут то сдвиг и происходит
    y:=y+1;
    end;

    OnPaint() событие у формы:
    begin
    self.Canvas.Draw(x,y,b);
    end;

    итог: летящий наискосок спрайт.

    ps тут вместо массива я просто x и y указал, но это потому что только один объект у меня в этом примере

  17. 17
    Антон Кононов ответил:

    забыл еще сказать, что тормозить эта ерунда будет безбожно) потому что канвас, но зато ничего кроме тупо дельфи и TBitmap с таймером не понадобится.

    Пробовал использовать DelphiX (типа директ икс компонент), но от рисования на тупо канвасе не нашел особой разницы в производительности (в 2д разумеется ;) )

  18. 16
    Сергей Савин ответил:

    Антон RichDad Кононов Я тоже об этом думал. А как вы считаете, что использовать на графику? DirectDraw? Или, может есть готовые решения, компоненты/библиотеки?

  19. 15
    Сергей Савин ответил:

    Илья ZYYYZYYY Донских
    Дело в том, что у нас на не ITшных специальностях полно народа давно программирующего на Delphi и тп. т.е. подразумевается знание основ и азов. Правда заинтересовать можно только первый-второй курс ))

  20. 14
    Антон Кононов ответил:

    Денис -=©®TMTrInItYTM®©=- Мезенцев:
    блин, человек! ну не в тему же про кружок спамить! это первое

    второе: всем лом делать бесплатно

  21. 13
    Антон Кононов ответил:

    злой совет: попробуйте написать небольшую игру-аркаду (например в 2Д) типа R-Type или Марио. Много чего успеете зацепить (от массива, загрузки файлов и т.д., до графики). И опять таки хоть как-то интересно (это вам не просто массивы сортировать).

  22. 12
    Андрей Мельников ответил:

    Думаю, стоит решать несложные практические задачи, встречающиеся в жизни. Расчеты, хранение данных, визуализация. Если люди будут покроя одной сферы деятельности, было бы хорошо рассматривать задачи, затрагивающие их сферу, но уже с точки зрения программиста.

  23. 11
    Михаил Снетков ответил:

    acmp.ru > пусть решают, тренеруются, набираются опыта, потому что олимпиадное программирование и в прикладном не плохо помогает :)

  24. 10
    Андрей Набока ответил:

    реализация класса для работы с длинной арифметикой

  25. 9
    Марина Гаврилина ответил:

    Действительно какой-то детский сад…
    Если в "кружке" будут люди не знакомые с программированием, то начинать все равно придется с сортировок массивов, поисков по подстроке ну и дальше калькуляторов. Это скучно, но необходимо.
    Если же люди уже что-то знающие, то надо браться за проект, который интересен всем. Но такие люди обычно уже учаться на программистов, а значит скорее всего будет первый вариант :)

  26. 8
    Илья Донских ответил:

    "студенты не IT-шних специальностей будут учиться писать на СИ"
    А это не детский сад?

  27. 7
    Александр Албул ответил:

    Сергей Савин, в практике им пригодится писать что – то для учёта. Например программу для такси или что – то такое. С использованием ООП, централизованым сервером и работой с базой данных будет неплохой практикой. Этой задачей может заниматься несколько студентов, что научит их работать в комманде

  28. 6
    Сергей Савин ответил:

    Писать я думаю будем на виндусовом. У меня друг тоже это прогал :) симпатичная задача.Хочется чтонть полезное! Чтоб ребята от тоски не померли, особенно без привычки))

  29. 5
    Андрей Кадацкий ответил:

    на консольном Си?
    что писать…я когда-то писал разбиение строкового числа (до 1000 символов) на простые множители.

  30. 4
    Сергей Савин ответил:

    Курский политех

  31. 3
    Сергей Фирсов ответил:

    а что за институт?

  32. 2
    Сергей Савин ответил:

    Не, ну не дет сад
    Задача должна иметь какое-то практическое значение (пример – анимация движения робота, по данным маткада)

  33. 1
    Dain Here ответил:

    рисование графика функции по заданным переменным=)

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.