ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 141
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИфедеральное государственное автономное образовательное учреждениевысшего образования«Северный (Арктический) федеральный университет имени М.В. Ломоносова»Высшая школа информационных технологий и автоматизированных систем(наименование высшей школы / филиала / института / колледжа)привет от автора)Курсовой проект
Архангельск 2023Министерство науки и высшего образования Российской Федерациифедеральное государственное автономное образовательное учреждениевысшего образования«Северный (Арктический) федеральный университет имени М.В. Ломоносова»
Архангельск, 2023
лист замечаний 4
1 Теоретическая часть 6
1.1Описание предметной области и постановка задачи 6
1.2Выбор инструментов и методов реализации 6
2 Описание работы приложения 8
2.1 Создание формы сайта 8
2.2 Скрипт приложения 9
Для начала делаем массив для игрового поля и заполняем его пустыми значениями. Далее создаем массивы, которые хранят структуру и цвета фигур. В отдельном массиве будут храниться новые фигуры, которые появятся следующими в очереди. Каждая фигура – это двумерный массив, состоящий из нулей и едениц. 9
Рисунок 1 – Итоговое приложение 14
заключение 15
Список использованных источников 16
1 Теоретическая часть 51.1Описание предметной области и постановка задачи 51.2Выбор инструментов и методов реализации 52 Описание работы приложения 72.1 Создание формы сайта 72.2 Скрипт приложения 7Заключение 12Список использованных источников 13
Листинг 2 – Инициирование переменных
Листинг 2 – Инициирование переменных
Далее генерируем выпадающие фигуры. Для этого нужна функция, которая выдает случайное число в заданном диапазоне. Поэтому числу определится какая фигура выпадет следующей.Листинг 3 – Функция задания случайный чисел
Теперь мы можем создать последовательность выпадающих фигур. Логика программы следующая:
Чтобы получить из данной игровой последовательности фигуру, которая должна появиться, мы должны знать что это за фигура, как она рисуется, откуда она начинает движение. На выходе мы
| По дисциплине | | |
| | | |
| | | |
| По теме | Разработка веб-сайта – Академия красоты Рахматулиной Анны | |
| | ||
| Выполнил обучающийся: Белоусов Андрей Фёдорович | ||
| (Ф.И.О.) | ||
| Направление подготовки: Информатика и вычислительная техника | ||
| (код и наименование) | ||
| Курс: 2 | ||
| Группа: 151119 | ||
| Руководитель: Деменкова Е.А | ||
| (Ф.И.О. руководителя, должность / уч. степень / звание) | ||
| Отметка о зачете | | | | |
| | | (отметка прописью) | | (дата) |
| Руководитель | | | | Е.А. Деменкова |
| | | (подпись руководителя) | | (инициалы, фамилия) |
Архангельск 2023Министерство науки и высшего образования Российской Федерациифедеральное государственное автономное образовательное учреждениевысшего образования«Северный (Арктический) федеральный университет имени М.В. Ломоносова»
| | | | |||||||||||||||||||||||||||||||||||||||||
| | | | |||||||||||||||||||||||||||||||||||||||||
| | | | |||||||||||||||||||||||||||||||||||||||||
| | | | |||||||||||||||||||||||||||||||||||||||||
| | ЗАДАНИЕ НА РАСЧЕТНО-ГРАФИЧЕСКУЮ РАБОТУ | | |||||||||||||||||||||||||||||||||||||||||
| | | | |||||||||||||||||||||||||||||||||||||||||
| | по | Web-технологиям | | ||||||||||||||||||||||||||||||||||||||||
| | | | | ||||||||||||||||||||||||||||||||||||||||
| | студенту | ИТАС | высш. школы | 2 | курса | 151119 | группы | | |||||||||||||||||||||||||||||||||||
| | Белоусову Андрею Фйдоровичу | | |||||||||||||||||||||||||||||||||||||||||
| | | | |||||||||||||||||||||||||||||||||||||||||
| |
| | |||||||||||||||||||||||||||||||||||||||||
| | ТЕМА: | Разработка веб-сайта – Академия красоты Рахматулиной Анны | | ||||||||||||||||||||||||||||||||||||||||
| | | | |||||||||||||||||||||||||||||||||||||||||
| | | | |||||||||||||||||||||||||||||||||||||||||
| | ИСХОДНЫЕ ДАННЫЕ: | литература по теме, информация | | ||||||||||||||||||||||||||||||||||||||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | ||||||||||||||||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | ||||||||||||||||||
| | | | |||||||||||||||||||||||||||||||||||||||||
| | | | |||||||||||||||||||||||||||||||||||||||||
| | Срок выполнения с | « | 5 | » | мая | 2023 г. по | « | 24 | » | мая | 2023 г. | | |||||||||||||||||||||||||||||||
| | Руководитель работы | Доцент кафедры | | | | Деменкова Е.А | | ||||||||||||||||||||||||||||||||||||
| | | | | | (подпись) | | | | |||||||||||||||||||||||||||||||||||
| | | | | | | | | | |||||||||||||||||||||||||||||||||||
| | | | | | | | | | |||||||||||||||||||||||||||||||||||
| | | | | | |||||||||||||||||||||||||||||||||||||||
| | | | | | | | | | |||||||||||||||||||||||||||||||||||
| | | | | | | | | | |||||||||||||||||||||||||||||||||||
| | | | | | | | | | |||||||||||||||||||||||||||||||||||
Архангельск, 2023
лист замечаний
содержанилист замечаний 4
1 Теоретическая часть 6
1.1Описание предметной области и постановка задачи 6
1.2Выбор инструментов и методов реализации 6
2 Описание работы приложения 8
2.1 Создание формы сайта 8
2.2 Скрипт приложения 9
Для начала делаем массив для игрового поля и заполняем его пустыми значениями. Далее создаем массивы, которые хранят структуру и цвета фигур. В отдельном массиве будут храниться новые фигуры, которые появятся следующими в очереди. Каждая фигура – это двумерный массив, состоящий из нулей и едениц. 9
Рисунок 1 – Итоговое приложение 14
заключение 15
Список использованных источников 16
1 Теоретическая часть
-
Описание предметной области и постановка задачи
-
Выбор инструментов и методов реализации
2 Описание работы приложения
2.1 Создание формы сайта
С помощью CSS и HTML создается форма для приложения. В этой форме указываются базовые стили для всего документа, тела и указывается сторонний шрифт для использования внутри скрипта. В теле указываются всего две строчки: параметр canvas с размерами поля и объявляется инициализация скрипта приложения. Код данной страницы приведен в листинге 1.Листинг 1 – HTML страница| |
2.2 Скрипт приложения
Для начала делаем массив для игрового поля и заполняем его пустыми значениями. Далее создаем массивы, которые хранят структуру и цвета фигур. В отдельном массиве будут храниться новые фигуры, которые появятся следующими в очереди. Каждая фигура – это двумерный массив, состоящий из нулей и едениц.
| //доступ к холсту const canvas = document.getElementById('game'); const context = canvas.getContext('2d'); //размер квадратика const grid = 32; //массив с последовательностью фигур const tetrominoSequence = []; //двумерный массив, чтобы следить за тем, что находится в каждой клетке поля const playfield = []; for (let row = -2; row < 20; row++) { playfield[row] = []; for (let col = 0; col < 10; col++) { playfield[row][col] = 0; } } // формы для фигур const tetrominos = { 'I': [ [1,0,0,0], [0,1,0,0], [0,0,1,0], [0,0,0,1] ], |
| 'J': [ [0,1,0], [1,1,1], [0,0,0], ], 'L': [ [1,0,1], [0,1,0], [0,0,0], ], 'O': [ [0,1], [1,0], ], 'S': [ [1,1,1], [1,1,0], [1,0,0], ], 'Z': [ [1,1,1], [0,0,0], [0,0,0], ], 'T': [ [0,0,0], [0,1,0], [0,0,0], ], '+': [ [0,1,0], [1,1,1], [0,1,0] ] }; // цвета блоков const colors = { 'I': 'cyan', 'O': 'yellow', 'T': 'purple', 'S': 'green', 'Z': 'red', 'J': 'blue', 'L': 'orange', '+': 'purple' }; let count = 0; //счетчик let tetromino = getNextTetromino(); //текущая фигура в игре let rAF = null; // следим за кадрами анимации, чтобы если что остановить игру let gameOver = false; //флаг в конце игры |
| function getRandomInt(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; } |
-
Задана обычная последовательность доступных фигур; -
Случайным образом оттуда вытаскивается одна фигура и помещается в последовательность; -
Так делается до тех пор, пока от обычной последовательности ничего не останется; -
Получили случайную игровую последовательность фигур.
| function generateSequence() { const sequence = ['I', 'J', 'L', 'O', 'S', 'T', 'Z', '+']; while (sequence.length) { const rand = getRandomInt(0, sequence.length - 1); // на рандом выбираем одну из них const name = sequence.splice(rand, 1)[0]; tetrominoSequence.push(name); //помещаем фигуру в массив } } |