Categories: JavaScript

Отскакивающий мяч Javascript | Ник Морган – Javascript для детей | Уроки Javascript

Недавно осваивать JavaScript начал и мой сын. И сейчас он с удовольствием читает книгу Ника Моргана Javascript для детей. Самые любопытные могут скачать и почитать эту книгу тут:

Читая с сыном книгу Ника Моргана Javascript для детей, мы постепенно тестирует и сохраняем себе самые интересные примеры и игры.
Самой первой игрой была – Игра Виселица (Hangman).
В этом примере покажу как выглядит отскакивающий мяч из этой книги:

Посмотреть

А вот и весь код:
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Прыгающий мяч</title>
</head>
<body>
  <canvas id="canvas" width="200" height="200"></canvas>
  <script>
  
  var circle = function (x, y, radius, fillCircle) {
  ctx.beginPath();
  ctx.arc(x, y, radius, 0, Math.PI * 2, false);
  if (fillCircle) {
    ctx.fill();
  } else {
    ctx.stroke();
  }
};

var Ball = function () {
  this.x = 100;
  this.y = 100;
  this.xSpeed = -2;
  this.ySpeed = 3;
};

Ball.prototype.draw = function () {
  circle(this.x, this.y, 3, true);
};

Ball.prototype.move = function () {
  this.x += this.xSpeed;
  this.y += this.ySpeed;
};

Ball.prototype.checkCollision = function () {
  if (this.x < 0 || this.x > 200) {
    this.xSpeed = -this.xSpeed;
  }
   if (this.y < 0 || this.y > 200) {
    this.ySpeed = -this.ySpeed;
  }
};

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
 var ball = new Ball();
 setInterval(function () {
   ctx.clearRect(0, 0, 200, 200);
   ball.draw();
  ball.move();
  ball.checkCollision();
   ctx.strokeRect(0, 0, 200, 200);
 }, 30);

  </script>
</body>
</html>

Больше программ из книги можно посмотреть по тегу Javascript для детей Ник Морган

Recent Posts

  • Excel

Как правильно открыть CSV с многострочными ячейками в Excel

Если при открытие csv файла с помощью excel У все поехали ячейки - это простой… Read More

% дней назад
  • Python

Загрузка проекта на Github и Автодеплой на сервер

Простые шаги как происходит Загрузка проекта на Github и Автодеплой на сервер Сделайте работу проще! Read More

% дней назад
  • Python
  • Полезная минутка

Миграция базы данных в проектах Python

Миграция базы данных - помогают с этим библиотеки SQLAlchemy и Alembic. Read More

% дней назад
  • Python

Команды Git – Шпаргалка по основным командам Git

Основные Команды Git, которые точно пригодятся. Сохрани себе шпаргалку Git Read More

% дней назад
  • Python

Установка PostgreSQL на сервер Ubuntu и подключение через pgAdmin

Установка PostgreSQL на сервер Read More

% дней назад
  • Полезная минутка

Как создать PrimaryKey для таблицы в PostgreSQL

Как создать PrimaryKey в талице базы данных SQL [РЕШЕНО] Ошибка relation tablename_id_seq doesn't exist Read More

% дней назад