Лабораторная работа №3-4 по дисциплине: «WEB-программирование» Разработка игр на JavaScript
Оценка 4.7

Лабораторная работа №3-4 по дисциплине: «WEB-программирование» Разработка игр на JavaScript

Оценка 4.7
docx
09.04.2022
Лабораторная работа №3-4 по дисциплине: «WEB-программирование» Разработка игр на JavaScript
3-4.docx

Министерство образования и науки ЛНР
Луганский государственный Университет имени Владимира Даля
Стахановский инженерно-педагогический институт
Кафедра информационных систем

 

 

 

 

 

 

 

 

Лабораторная работа №3-4
по дисциплине: «WEB-программирование»

 

 

 

 

 

 

 

 

 

 

 

 

 

Стаханов 2021

ЛАБОРАТОРНАЯ РАБОТА №3-4

Тема: Разработка игр на JavaScript

Цель: изучить возможности JavaScript при написании игр, ознакомиться и провести сравнительную характеристику различных вариантов написания игры «Тетрис», изучить принцип работы скриптов.

Ход работы:

Таблица 1 - сравнительной характеристики вариантов игры

Критерии оценки

Игра 1

Игра 2

Игра 3

Подсчет очков и вывод их по завершению игры.

+

+

+

Подсчет времени игры.

-

-

-

Изменение различных настроек игры.

-

-

-

Управление стрелками на клавиатуре.

+

+

+

Повышение уровня сложности каждые n строк.

 

-

-

+

Поворот блоков по часовой стрелке

+

+

+

Разноцветные блоки

+

+

+

Генерация разметки игрового поля js-кодом.

+

+

+

Показ следующей фигуры

-

+

-

Рисунок 1 – Первая игра

Рисунок 2 – Вторая и третья игра

 

Исходя из сравнительной характеристики приведенный вариантов, вышло, что первый вариантов имеет 4 минуса, второй и третий по 3. Во втором варианте есть показ следующей фигуры, а в третьем варианте реализовано повышение уровня сложности (скорости игры).

Выбран второй вариант игры.

Ссылка на источник: http://blog.kislenko.net/show.php?id=1770

 

 

Файл js/canvas.js

var canvas = document.getElementById ('tetriscanvas'); // ссылка на объект

var ctx = canvas.getContext ('2d');  // "2d", ведущий к созданию объекта CanvasRenderingContext2D, представляющий двумерный контекст

var width = canvas.width, height = canvas.height;

var blockWidth = width / columns, blockHeight = height / rows;

 

function drawBlock (x,y) { //Нарисовать фигуру в позиции (x,y)

 ctx.fillRect (blockWidth*x, blockHeight*y, blockWidth-1, blockHeight-1);  //Рисует залитый прямоугольник

 ctx.strokeRect (blockWidth*x, blockHeight*y, blockWidth-1, blockHeight-1);  //Рисует прямоугольник

}

 

function render() { //Нарисовать стакан и фигуры

 ctx.clearRect( 0, 0, width, height );

 ctx.strokeStyle = 'black';

 for (var x=0; x<columns; x++) {

  for (var y = 0; y < rows; y++ ) {

   if (board[y][x]) {

    ctx.fillStyle = colors[board[y][x]-1];

    drawBlock (x,y);

   }

  }

 }

 ctx.fillStyle = 'red';

 ctx.strokeStyle = 'black';

 for (var y=0; y<4; y++) {

  for (var x=0; x<4; x++) {

   if (current[y][x]) {

    ctx.fillStyle = colors[current[y][x]-1];

    drawBlock (currentX+x,currentY+y);

   }

  }

 }

}

 

setInterval (render,50); //частота перерисовки, м

Файл js/controller.js
document.body.onkeydown = function (e) {
 var keys = { //Клавиши
  37: 'left',
  39: 'right', //Стрелки влево и вправо
  40: 'down',
  32: 'down', //Вниз - пробелом или стрелкой вниз
  38: 'rotate', //Вращение - стрелкой вверх
  27: 'escape' //Пауза по клавише Esc
 };
 if (typeof(keys[e.keyCode])!='undefined') { //Если код клавиши допустимый,
  keyPress (keys[e.keyCode]); //Передать его обработчику
  render(); //и перерисовать стакан
 }
};

 

Вывод: В ходе лабораторной работы были изучены возможности JavaScript при написании игр, проведена сравнительная характеристика различных вариантов написания игры «Тетрис», изучен принцип работы скриптов.


 

Скачано с www.znanio.ru

Министерство образования и науки

Министерство образования и науки

ЛАБОРАТОРНАЯ РАБОТА №3-4 Тема:

ЛАБОРАТОРНАЯ РАБОТА №3-4 Тема:

Рисунок 2 – Вторая и третья игра

Рисунок 2 – Вторая и третья игра

Style = colors[board[y][x]-1]; drawBlock (x,y); } } } ctx

Style = colors[board[y][x]-1]; drawBlock (x,y); } } } ctx
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
09.04.2022