Как сделать движущуюся змейку? - 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

Объяснение кода листинга программы

  1. Установка начального значения переменных:
    • SCREEN 12 - выбор экрана с разрешением 12 строк;
    • PAINT (5, 5), 15 - очистка экрана и установка курсора в позицию (5,5), а также задание цвета 15;
    • sections = 10 - установка числа секций змейки;
    • xh = 50 и yh = 100 - установка начальной позиции змейки.
  2. Основной цикл программы:
    • `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 - ожидание нажатия клавиши.
  3. Завершение программы:
    • WEND - завершение внутреннего цикла;
    • WEND - завершение основного цикла программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы