Иллюстрированный самоучитель по Basic, вводный курс

Условный переход

132. Теперь вы готовы к более объемному и сложному заданию. Называться оно будет "Муха в графине". Сначала на экране вы рисуете прямоугольный графин с горлышком (рис. 1.34).

Затем располагаете там точку и заставляете ее двигаться внутри графина, отражаясь от его стенок (будет интересней, если вы не станете ее стирать, тогда мы сможем видеть траекторию ее полета). Меняя начальное расположение точки, можно добиться, что через какое-то время она вылетит из графина. Пусть в этот момент на экране появится надпись "Ура! Я на свободе!", а муха продолжит полет, отражаясь от сторон экрана. Графин можно сделать закрашенным.

Иллюстрированный самоучитель по Basic, вводный курс › Алгоритмы, графика, символы и строки › Условный переход
Рис. 1.34. Муха в графине

133. Если вы обратили внимание, "муха" при полете слегка пробивает стенки графина. Что нужно изменить в условиях, чтобы этого избежать? Сделайте из "мухи" шарик, и снова добейтесь того, чтобы он не портил стенки графина.

Давайте сделаем простейший графический редактор. У некоторых в детстве была, наверное, игрушка "Волшебный экран", где можно было крутить колесики и рисовать отрезками прямых линий. Почему бы то же самое не сделать на компьютере? Для этого нам понадобится использование оператора inkey$, который ожидает нажатия любой символьной клавиши и запоминает ее значение. Например:

CLS
1:K$=INKEY$? К$ GOTO 1

На экране будет воспроизводиться символ той клавиши, которую вы нажмете (попробуйте поставить после print k$ точку с запятой и посмотрите, что изменилось).

Теперь, совместно используя inkey$ и условный оператор, мы можем сделать полезную прикладную программу-развлечение для младших друзей. Приведем ее фрагмент.

SCREEN 9
Х=300: Y=200: С =15

Начальные координаты и цвет точки рисования.

1 Вы можете задать им свои, произвольные значения
1: PSET(X,Y), С
K$=INKEY$
IF K$="w' THEN Y=Y – 1 ' эта строка заставляет программу
' после нажатия клавиши "w" ' уменьшить координату Y на 1,
' т. е. осуществить передвижение точки ' на одну экранную единичку вверх
Rem Здесь вы программируете другие клавиши для движения
Rem в другие стороны, а также и изменение цвета,
Rem и возможно, стирание. Все в ваших руках!
GOTO 1 ' зацикливание программы на постоянный опрос ' клавиатуры

Теперь, когда программа готова, нарисуйте сами с ее помощью какую-нибудь осмысленную картинку – домик в деревне, или звездные войны, или что хотите.

Замечание
Хорошо бы предусмотреть рисование цветом фона для перемещения точки без следа. А чтобы потом определить, где находится точка, достаточно изменить ее цвет
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.