Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая_асм_звезда.doc
Скачиваний:
3
Добавлен:
19.09.2019
Размер:
1.85 Mб
Скачать
  1. Тестирование и отладка

    1. Перечень ошибок, обнаруженных в ходе отладки программы

В ходе отладки была обнаружена ошибка в процедуре, заменяющей стандартный вектор прерывания по времени. Ошибка заключалась в том, что при нажатии на кнопку смены цвета на экране появлялось второе изображение, идентичное уже существующему.

Причина ошибки: в процедуре new_1ch, заменяющей стандартный вектор прерывания по времени, не было предусмотрено сохранение содержимого регистров СХ, AX, что приводило к неверной работе процедуры draw, так как процедура new_1Ch выполняется 18,2 раза в секунду и может быть вызвана посреди выполнения любой другой подпрограммы. Потому для корректной работы необходимо перед выполнением действий сохранять в стеке, а после выполнения извлекать, содержимое регистров, которые используются в данных действиях.

В ходе отладки выяснилось, что изображение при достижении нижнего или правого края экрана не останавливается (предполагалось, что при попытке передвижения изображения за край экрана ничего происходить не будет).

Причина ошибки: в предложениях определения края экрана не были учтены размеры изображения.

Выявленные ошибки были устранены:

В процедуру new_1Ch добавлены строки

push AX

push CX

в самом начале процедуры и строки

pop CX

pop AX

в самом конце процедуры

В предложениях определения края экрана были учтены размеры изображения, а именно:

Движение изображения вправо при нажатии на стрелку вправо происходит в том случае, если x<596. где х – абсцисса верхнего левого пикселя изображения. Такие ограничения введены в силу того, что размер экрана в выбранном режиме по горизонтали составляет 640 пикселей, а ширина изображения – 44 пикселя 640-44=596, т.е. верхний левый пиксель изображения не может находиться правее, чем 596 столбец пикселей, иначе изображение будет обрезано).

Движение изображения вниз при нажатии на стрелку вниз происходит в том случае, если y<317. где y – ордината верхнего левого пикселя изображения. Такие ограничения введены в силу того, что размер экрана в выбранном режиме по вертикали составляет 350 пикселей, а высота изображения – 33 пикселя (350-33=317, т.е. верхний левый пиксель изображения не может находиться ниже, чем 317 строка пикселей, иначе изображение будет обрезано).

  1. Руководство пользователя

1. Запуск приложения

Для запуска приложения необходимо выполнить двойной щелчок по файлу zvezda1.exe.

После запуска приложения появится окно программы с начальным расположением звезды (рис. 9)

Рис. 9 Начальное положение звезды

Для управления положением звезды нужно использовать клавиши управления курсором:

  • При нажатии стрелки вверх(↑): звезда переместится немного выше своего текущего положения (рис.10)

Рис. 10. Изменение положения, после нажатия клавиши вверх

  • При нажатии стрелки вниз(↓): звезда переместится немного ниже своего текущего положения (Рис.11)

Рис. 11. Изменение положения, после нажатия клавиши вниз

  • При нажатии стрелки вправо (→): снежинка переместится немного правее своего текущего положения (Рис.12)

Рис.12.Изменение положения, после нажатия клавиши вправо

  • П ри нажатии стрелки влево (←): снежинка переместится немного левее своего текущего положения (Рис.13)

Рис.13.Изменение положения, после нажатия клавиши влево

При однократном нажатии на любую из клавиш, которые отвечают за перемещение фигуры на экране, возможно, изменение положения не покажется видимым и значительным для пользователя, поэтому для достижения большего перемещения фигуры нужно использовать многократное нажатие этих клавиш.

Возможности перемещения звезды ограничены размерами экрана. Например, если снежинка находится у правой границы экрана, то нажатие на стрелку вправо не вызовет никаких изменений.

На рисунке 14 представлено положение звезды после нажатия на стрелку вверх 10 раз и еще 3 раза на стрелку влево.

Рис. 14 Измененное положение снежинки

Нажатие на клавишу F1 приводит к смене цветов лучей звезды. Смена цвета продолжается до повторного нажатия клавиши F1. Если в течение 7 секунд клавиша F1 не нажата, смена цвета прекращается автоматически. В состоянии изменения цвета возможно управлять положением снежинки, при этом нажатие на клавиши управления курсором не повлияет на смену цвета лучей звезды. На рисунке 15 представлено одно из состояний снежинки после нажатия клавиши F9 и стрелочки вправо.

Рис. 15 Смена цвета лучей и положения звезды

Для закрытия окна программы и прекращения ее работы необходимо нажать клавишу F10.