Как сделать движущуюся змейку? - QBasic
Формулировка задачи:
Змейка должна состоять из линий и передвигаться с помощью того,что последняя линия гаснет и в то же время появляется новая впереди.
Помогите кто может.
Заранее спасибо
Решение задачи: «Как сделать движущуюся змейку?»
textual
Листинг программы
- SCREEN 12
- PAINT (5, 5), 15
- sections = 10
- xh = 50
- yh = 100
- WHILE xh < 640 AND INKEY$ = ""
- FOR i = 0 TO sections - 1
- LINE (xh - 10 * i, yh)-(xh - 10 * i - 10, yh - 10), 6, BF
- LINE (xh - 2 - 10 * i, yh - 2)-(xh + 2 - 10 * i - 10, yh - 10 + 2), 4, BF
- NEXT i
- LINE (xh - 10 * sections, yh)-(xh - 10 * sections - 10, yh - 10), 15, BF
- xh = xh + 10
- t = TIMER
- WHILE t = TIMER
- WEND
- WEND
Объяснение кода листинга программы
- Установка начального значения переменных:
SCREEN 12
- выбор экрана с разрешением 12 строк;PAINT (5, 5), 15
- очистка экрана и установка курсора в позицию (5,5), а также задание цвета 15;sections = 10
- установка числа секций змейки;xh = 50
иyh = 100
- установка начальной позиции змейки.
- Основной цикл программы:
- `WHILE xh < 640 AND INKEY$ = ``` - цикл будет выполняться, пока змейка не достигнет правой границы экрана и не будет нажата клавиша;
FOR i = 0 TO sections - 1
- цикл по секциям змейки;LINE (xh - 10 * i, yh)-(xh - 10 * i - 10, yh - 10), 6, BF
- рисование головы змейки;LINE (xh - 2 - 10 * i, yh - 2)-(xh + 2 - 10 * i - 10, yh - 10 + 2), 4, BF
- рисование тела змейки;LINE (xh - 10 * sections, yh)-(xh - 10 * sections - 10, yh - 10), 15, BF
- рисование хвоста змейки;xh = xh + 10
- перемещение змейки вправо;t = TIMER
- получение текущего времени;WHILE t = TIMER
- ожидание нажатия клавиши.
- Завершение программы:
WEND
- завершение внутреннего цикла;WEND
- завершение основного цикла программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д