Академический Документы
Профессиональный Документы
Культура Документы
КУРСОВАЯ РАБОТА
Дисциплина: Веб-программирование
Выполнил:
студент группы 2-ТИД-3 Клепикова А.С.
(подпись)
Руководитель:
к.т.н., доцент Пасечник П.А.
(уч. степень, звание) (подпись)
Оценка отлично
Санкт-Петербург
2023
Министерство науки и высшего образования Российской Федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПРОМЫШЛЕННЫХ ТЕХНОЛОГИЙ И ДИЗАЙНА
ВЫСШАЯ ШКОЛА ПЕЧАТИ И МЕДИАТЕХНОЛОГИЙ
Институт полиграфических технологий и оборудования
Кафедра ИиУС
УТВЕРЖДАЮ: ________________
Зав. кафедрой Е. В. Горина
ЗАДАНИЕ
на курсовую работу
Дисциплина Web-программирование_____________________________________________________________
Студент Клепикова Анастасия Группа_2-ТИД-3___________________________
1. Тема проекта _Разработка игры в жанре Платформер с применением технологии HTML5 Canvas
2. Срок сдачи студентом законченного проекта 22.05.2023___________________________________________
3. Исходные данные к проекту список актуальных технологий в сфере web-программирования; примеры
исходного кода
1 Применяемые технологии..............................................................................................6
2 Разработка сайта...........................................................................................................13
ЗАКЛЮЧЕНИЕ................................................................................................................24
5
1 Применяемые технологии
6
Язык HTML совместим с другими языками, такими как JavaScript и
CSS, которые отвечают за функциональность и внешний вид
разрабатываемого на основе HTML сайта.
7
Описание стилей в отдельном документе является распространенным
способом изменения внешнего вида страницы. Отдельный CSS-файл, в
котором содержатся все стили страницы, подключается к HTML-документу
посредством элемента <link>, включенного в элемент <head> (рис. 3). Один
CSS-файл можно подключить к разным HTML-документам, и любое
изменении в файле применится к содержимому всех страниц. Поэтому
размещение всех стилей в одном файле значительно упрощает разработку
внешнего вида веб-страницы.
8
Принцип каскадирования применяется в случае, когда элементу HTML
одновременно поставлено в соответствие более одного правила CSS или
происходит конфликт значений этих правил. Чтобы разрешить такие
конфликты, вводятся правила приоритета. Наиболее низким приоритетом
обладает стиль браузера. Следующим по значимости является стиль,
заданный пользователем браузера в его настройках. Наиболее высоким
приоритетом обладает стиль, заданный непосредственно автором страницы.
Самым высоким же приоритетом обладают стили, объявленные автором
страницы или пользователем, с помощью сопроводительного правила «!
important».
Существует множество различных типов селекторов, и они обладают
своим приоритетом. Наиболее приоритетным является стиль, записанный как
атрибут внутри тега, к которому применяется стиль. Далее идет селектор по
идентификатору, например «#button». На третьем месте – селектор по классу,
например «.text». Самым низким приоритетом обладает селектор по тегу,
например тег заголовка h1. Каждый селектор имеет вес, по которому и
определяется приоритет. Если два селектора имеют одинаковый вес, то
приоритетнее является тот стиль, который находится в коде последний.
9
Код на JS можно написать непосредственно в самом HTML-документе.
Для добавления кода на старину используется парный тег <script>, который
рекомендуется помещать внутри контейнера <head> (рис. 6).
10
Рисунок 8 Определение элемента <canvas> в документе
Чтобы иметь возможность визуализировать игру в <canvas> элементе,
нужно сослаться на этот элемент в JS-файле (рис. 9). Таким образом, в
переменной «canvas» хранится ссылка на элемент <canvas>, а в переменной
«ctx» хранится 2D визуализация контекста – метода, используемого для
отрисовки в Canvas.
11
Все инструкции для отрисовки располагаются между методами
«beginPath()» и «closePath()». Определение прямоугольника происходит через
метод «rect()», а круга – метод «arc()». Свойство «fillStyle» хранит цвет,
которой будет использован методом «fill()» для отрисовки фигуры.
Также есть и другие методы для отрисовки, но эти являются базовыми
и самыми простыми.
Элемент <canvas> служит лишь холстом, на котором все элементы и
действия «рисуются» с помощью JavaScript.
12
2 Разработка сайта
13
Рисунок 12 — index.html
Рисунок 13 — uroven1.html
14
Рисунок 14 — uroven2.html
Рисунок 15 — uroven3.html
15
2.2.2 Разработка внешнего вида и функциональности сайта
Затем разрабатывался внешний вид сайта. При помощи технологии CSS
были созданы стили для всех элементов сайта. Чтобы изменить цвет фона
страницы, используется атрибут bgcolor в теге <body> . Стиль для элемента
«canvas», а также общие настройки отступов сверху и снизу были заданы в
HTML-документе каждого из уровней.
На сайте присутствуют заголовки, абзаца и блоки-ссылки. Свойства
заголовков и абзацы записаны в файле text.css, а блоков-ссылок в button.css.
Основными элементами на главной странице являются блоки-ссылки,
заголовок и параграф, в котором прописаны правила (рис. 16). Свойства
текстов представлены на рисунке 17. Для анимации блоков-ссылок
используется псевдокласс «:hover», он срабатывает при наведении
пользователем на элемент мышью. Свойства данных блоков представлены на
рисунке 18.
16
Рисунок 17 Описание стилей текста для главной страницы
18
Рисунок 21 — Элемент <canvas> для второго уровня
19
Рисунок 23 Код для отрисовки этажа и объекта для него
На третьем «этаже» в качестве ловушки вставлена картинка, функция
добавления этой картинки представлена на рисунке 24.
20
числовому коду «пробела» (рис. 27 ), создать две функции, одна из которых
работает на поверхности (рис. 28), по которой движется объекта, а вторая –
на препятствиях (рис. 29). В ходе написания программы возникла проблема,
что функция прыжка на третьем «этаже» перестает работать, поэтому были
заданы отдельные переменные и в общей функции «draw_ur3» прописаны
для как условия.
21
В основной функции (draw_ur3) для обновления кадра используется
метод для очистки <canvas> «clearRect()». Вызываем функции для отрисовки
«этажей», картинки и функции очков, которые исчезают после прохождения
объекта определенной точки (рис. 31).
22
В конце основной функции выполняется функция для вывода счета.
Продолжение основной функции представлено на рисунках 34 и 35.
23
ЗАКЛЮЧЕНИЕ
24
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
25