'Крестики-Нолики'
Количество игроков двое. Один играет крестиками, другой - ноликами.
Играют на прямоугольном поле размером M на N ячеек, где M>3, N>3.
Игроки по очери делают ходы - ставят в ячейку поля свою фигуру
(крестик или нолик). Выигрывает игрок, первым поставивший пять своих
фигур в ряд (по горизонтали, вертикали или диагонали).
[Игра в крестики нолики, требования, рекомендации]
Интерфейс передачи сообщений MPI
[MPI]
Многоплатформенная библиотека Qt
Для понимания материала необходимы минимальные знания из следующих областей:
- объектно-ориентированный подход в программировании (C/C++). Нужно понимать следующие понятия ООП: класс, объект класса, наследование, полиморфизм, абстрактный класс, виртуальная функция;
- элементы управления (в Windows) или виджеты (в UNIX) при программировании GUI (например, форма приложения, кнопка, бегунок, выпадающее меню и т.п.).
Материал по библиотеке Qt:
- назначение, достоинства и недостатки;
- архитектура библиотеки;
- понятие Widget'а;
- иерархия базовых классов Qt (в самом первом приближении);
- система обработки событий (система сигналов и слотов);
- пример простого приложения на базе Qt (использование QProgressBar);
- компиляция программ, написанных с использованием классов Qt.
Задание
a) Цель - освоение и практическое использование базовых классов Qt.
b) Постановка задачи: в программе-примере 'progress bars', которая будет выдана на практическом занятии, произвести следующие изменения:
- добавить еще одну компоненту QProgressBar, но выполненную в другом стиле (чтобы индикатор прогресса находился в самом ProgressBar'е).
- сделать так, чтобы только что добавленный ProgressBar бежал в обратную сторону.
- изменить шаг прогресса у нового ProgressBar'а и способ его отображения (чтобы прогресс отображался не квадратиками, а сплошной полосой).
- изменить политику обработки приложением события изменения размеров окна (вообще зафиксировать размер формы приложения).
- изменить цвет фона формы приложения.
c) Описание предполагаемых результатов: полученная программа должна генерировать GUI с правильно внесёнными изменениями.
d) Форма представления результатов: работающее приложение с соответстующим интерфейсом пользователя.
Трассировка лучей
[Ray-tracing]
Оптимизация
[Optimization]
|