Проект Small Basic #4 "Ремикс гугл-динозаврика"

Задача

Написать игру-ремикс прыгающего гугл-динозаврика. В этом проекте вы познакомитесь с базовой физикой игры – гравитацией.

Вспомогательные материалы

Перейдите по ссылке и скачайте архив с изображениями для игры. 
https://drive.google.com/open?id=1OLo4u8tyEnE112ex5j8at2Bfke_sSXAx
Создайте проект в Small Basic и архив распакуйте в папку с вашим проектом.

Ход работы

1. Начнём с шаблона стандартного паттерна "setup-loop" с инициализацией графического окна:
' Подпрограмма для инициализации (выполняется только вначале 1 раз)
Sub setup
  width = 800
  height = 600
  
  GraphicsWindow.Width = width
  GraphicsWindow.Height = height
  GraphicsWindow.CanResize = "false"
  GraphicsWindow.BackgroundColor = "White"
EndSub

' Подпрограмма, что будет повторяться
Sub loop
  
EndSub


'=================== ЗАПУСК ПРОГРАММЫ ==============
' Этот блок всегда должен быть в конце тела программы!
setup()
While "true"
  Program.Delay(40) ' Что соответствует 25 кадрам за секунду (1000/25 = 40 мс)
  loop()
EndWhile

2. Создадим нашего главного героя – динозаврика:
2.1. Сначала наш динозаврик будет в виде прямоугольника, потом мы заменим его на изображение. Добавим подпрограмму для создания динозаврика:
'=============== ДИНОЗАВРИК ===============
Sub createDino
  dinoW = 100
  dinoH = 107
  dinoX = 0
  dinoY = height-dinoH
  
  GraphicsWindow.BrushColor = "Green"
  dino = Shapes.AddRectangle(dinoW,dinoH)
  Shapes.Move(dino,dinoX,dinoY)
EndSub

Не забудьте вызвать эту подпрограмму в нужном месте программы!

2.2. Наш динозаврик будет прыгать при нажатии на любую клавишу клавиатуры. Добавим для этого обработчик события "когда клавиша нажата":
'================ ОБРАБОТЧИКИ СОБЫТИЙ ==============
GraphicsWindow.KeyDown = jumpDino

Sub jumpDino
  ' Код ниже мы потом поправим, пока что он для отладки

  dinoY = dinoY - 4

  Shapes.Move(dino,dinoX,dinoY)
EndSub

2.3. Пока динозаврик не прыгает, а просто передвигается вверх. Время добавить гравитацию! Но это уже в следующем блоке.

Вопросы:
1. Как вы понимаете понятие "код для отладки"?
2. Зачем в подпрограмме jumpDino() используется команда Shapes.Move(dino,dinoX,dinoY) ?

3. Дальнейшие указания по ссылке (преподаватель введёт полный адрес):

Комментарии