(ПИ, 1 курс)
Рекомендуется реализация приложения с использованием самостоятельно разработанных классов.
Программы должны предоставлять как минимум три возможности из приведенного ниже списка:
- начало игры на чистом поле, сброс предыдущей игры;
- выбор противника (человек, компьютер) (если применимо);
- сохранение текущей игры в любой момент игры в файл, восстановление состояния игры из файла;
- отмену ходов;
- подсказку следующего хода;
- контроль правильности ходов игрока(-ов);
- определение конца игры, отслеживание патовых ситуаций;
- возможность задания произвольного размера поля (если применимо);
- возможность визуального редактирования уровней (если применимо);
- управление как с клавиатуры, так и мышью;
- настройку клавиш управления;
- использование горячих клавиш;
- возможность задания настроек в конфигурационном файле или реестре Windows;
- индикацию текущего счета (если применимо);
- ведение списка чемпионов для каждого размера поля;
- выбор уровня сложности игры (если применимо);
- вынесение графических элементов (курсоры, иконки, спрайты) в ресурсный файл (если применимо);
- наличие инсталлятора (показ лицензии, выбор устанавливаемых компонентов, выбор пути установки и т.д.)
1. Программирование игрового приложения "Поиск морфинг-объектов"
2. Программирование приложения проверки орфографии. Возможность работы со словарем (добавление, редактирование, удаление слов). Проверка правописания заданного текста, выделение слов с ошибками, предложение вариантов для исправления. Развитие задачи: проверка грамматики.
3. Программирование приложения для форматирования листинга программы (подсветка ключевых слов, отступы и т.п.)
|
4. Программирование игрового приложения «Трубопровод»
5. Программирование игрового приложения “Рикошет”. Игровое поле содержит источник лазера, набор целей, набор зеркал. Зеркала и цели выставляются на поле случайным образом в начале игры. Каждое зеркало может проворачиваться в любом направлении с шагом 30 градусов. Игрок должен поворачивая зеркала по очереди сжечь все цели.
6. Программирование игрового приложения «Поиск предметов»
7. Программирование графического редактора с использованием метода резиновой нити
8. Программирование игрового приложения «Шестеренки». Цель - разместить несколько шестеренок разного размера на фиксированных местах экрана, чтобы обеспечить их вращение. Первая и последняя шестеренки изначально расположены на своих местах и вращаются
9. Программирование графического редактора рисования блок-схем алгоритмов. Предусмотреть проверку корректности блок-схем
10. Программирование графического приложения «Калейдоскоп». Построить в центре экрана треугольник заданного размера и заполнить его произвольным (жестко заданным, случайным или задаваемым с клавиатуры) изображением. Произвести многократное зеркальное отражение изображения от каждой стороны треугольника до заполнения всего экрана.
11. Программирование игрового приложения «Покер на костях (Yacht)». Всего 5 костей. Каждый игрок бросает кости 3 раза подряд (или меньше). В зависимости от выпавших конфигураций заносятся очки.
12. Программирование игрового приложения “Блоки”. Игровое поле содержит прямоугольные блоки. Один блок – рабочий, находится в левой части поля. Необходимо расставить все остальные блоки так, чтобы рабочий блок можно было разблокировать и отправить к выходу в правой части поля.
|
13. Программирование игрового приложения “Снайпер”. На экране картинка с мишенями и круглый прицел. Сквозь прицел можно видеть местность в приближении. Прицел можно двигать мышью, но при этом изображение в нем колеблется (колебания затухающие). Цель – уничтожить все мишени, возможно, за ограниченное время. Варианты развития игры: мишени могут двигаться, можно реализовать анимацию попадания в мишень.
14. Программирование графического приложения «Стрелочные часы с кукушкой». Программа должна показывать текущее время с помощью
стрелочных часов (3 стрелки). Предусмотреть обновление изображения каждую секунду. Кукушка должна появляться в начале каждого часа.
15. Программирование графического приложения «Мельница». Изобразить на экране работающую ветряную мельницу. Плоскость вращения крыльев не обязательно параллельна плоскости экрана.
16. Программирование графического приложения «Счеты». Изобразить бухгалтерские счеты и реализовать на них тренажер, демонстрирующий операции сложения и вычитания. Числа и знак операции вводятся с клавиатуры. Предусмотреть задержку для наглядности поразрядных операций.
17. Программирование приложения «Клавиатурный тренажер». Составить программу обучения работе с клавиатурой. Программа должна выдавать на экран буквы, цифры, слова и фразы, которые следует набрать на клавиатуре, и оценивать правильность и скорость набора. В программе предусмотреть несколько уровней подготовленности обучающегося.
|
18. Программирование игрового приложения «Поиск слов». Дан квадрат с буквами, в котором необходимо найти слова из заданного списка или заданной тематики.
19. Программирование графического приложения «Атом». В подготовленном файле хранится распределение электронов по орбитам для нескольких элементов системы Менделеева; пользователь задает только номер или обозначение химического элемента. Изобразить модель атома химического элемента: ядро и электроны, вращающиеся по своим орбитам.
20. Программирование приложения «Глазомер». Это игра или скорее тест, насколько хорошо развит ваш "глазомер" – способность определять расстояние, не прибегая к помощи каких-либо приборов или устройств (кроме собственных глаз). Пользователю предлагаются по очереди несколько «задач»: с помощью мыши типа определить центр окружности, модифицировать геометрическую фигуру, чтобы получится паралелограмм, определить середину отрезка и т.п. После выполнения действия пользователем ему визуально показывается верный ответ, а также отклонение в мм или пикселях его ответа от правильного.
21. Программирование игрового приложения «Заполни квадрат ». Перед игроком – набор фигур, которые необходимо расположить в квадрате так, чтобы полностью его заполнить. Задание с каждым уровнем усложняется.
22. Программирование игрового приложения «Узлы ». На игровом поле несколько узлов-лазеров и несколько точек-окружностей. Перетягивая узлы, нужно провести лазер через все точки. Усложнение игры: на продвинутых уровнях могут встречаться узлы, которые нельзя двигать.
23. Программирование игрового приложения «Blocky ». Дано квадратное игровое поле c ячейками разных цветов (изначально – двух, в дальнейшем может быть больше) и произвольным рисунком на них. Необходимо убирать квадратики одного цвета, заключая их в прямоугольник с углами одного цвета. После исчезновения ячейки снова заполняются цветными квадратиками, но уже без рисунков на них. Цель – очистить от рисунков все игровое поле. На следующих уровнях может увеличиваться количество ячеек либо количество цветов.
24. Программирование игрового приложения «Шар в лабиринте ». Дано квадратное игровое поле с заданной конфигурацией лабиринта. В одной из ячеек находится шар, в другой – крестик. Нужно провести шар от исходного положения в заданное (с крестиком), используя клавиши вверх, вниз, вправо, влево. Трудность состоит в том, что нет кнопки "остановиться", т.е. шар движется до тех пор, пока не «упрется» в край поля или стенку лабиринта.
25. Программирование игрового приложения “Шахматы”. Необходимо реализовать разумное подмножество международных шахматных правил, как они определены FIDE. Учить игре в шахматы компьютер не нужно, достаточно реализовать игру двух человек за одним компьютером.
26. Программирование игрового приложения “Шашки”. Необходимо реализовать подмножество правил классических шашек на доске 8x8. Учить игре в шашки компьютер не нужно, достаточно реализовать игру двух человек за одним компьютером.
27. Программирование игрового приложения «Падающие шарики». В углах экрана по бокам располагаются четыре полочки, с которых падают шарики. Внизу находится площадка (или емкость), которую можно перемещать с помощью клавиш управления курсора. Задачей игрока является управление площадкой таким образом, чтобы поймать наибольшее количество шариков; за каждый «пойманный» шарик игроку засчитывается очко. Предусмотреть возможность изменения скорости падения шариков, например, при достижении некоторого количества очков.
28. Программирование игрового приложения «Китайские шашки». Игровое поле в форме шестиугольной звезды, 6 игроков, у каждого игрока – 10 фишек, расположенных в одном из лучей звезды. Необходимо как можно быстрее перевести свои фишки из «своего» луча в противоположный. «Ходить» можно на соседнее поле или «перепрыгивая» через фишку (так, как ходят в шашках).
29. Программирование игрового приложения “Сокобан”. Разрабатываемое приложение представляет собой программную реализацию известной логической игры “Сокобан”. Играет один игрок. Игрок последовательно переходит от одного уровня к другому, по мере выполнения заданий. Уровень представляет собой лабиринт, в котором в беспорядке расставлены ящики. Игрок должен толкая ящики человечком расположить их на 6 своих местах (места отмечены на лабиринте). Человечек может толкать только один ящик. Если ящик упирается в стену, то дальше его толкать нельзя.
30. Программирование приложения для реализации арифметических операций с длинными числами