Тематика курсовых проектов по дисциплине «Алгоритмическое и объектно-ориентированное программирование»




(ПИ, 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. Программирование приложения для реализации арифметических операций с длинными числами



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: