Заполнить экран монитора рисунком паркета "елочка" - QBasic

Узнай цену своей работы

Формулировка задачи:

Помогите с задачей. Заполнить экран монитора рисунком паркета "елочка" из прямоугольных дощечек (клепок) заданного размера. Дробные числа при вводе тоже допускаются. А каждая дощечка должна быть обведена по контуру другим цветом.

Решение задачи: «Заполнить экран монитора рисунком паркета "елочка"»

textual
Листинг программы
CONST Pi = 3.14159265358#
CONST U45 = Pi / 4
DIM Cv1 AS INTEGER
CLS : INPUT "Dlina doski: ", DlinDosk
Cv1 = 7      ' Цвет обводки
  SCREEN 12
 
XCounter = 0         ' Счётчики опорной точки
YCounter = 0
 
PlusX = DlinDosk * COS(U45) ' Точно соответствуем длине доски
PlusY = PlusX
PlusX2 = PlusX
PlusY2 = -PlusY
 
PlusX3 = PlusX2 / 2
PlusY3 = PlusY2 / 2
PlusX4 = PlusX / 2
PlusY4 = PlusY / 2
 
 
DO
  DO
   ' Главная точка отсчёта
    DsX = XCounter * PlusX
    DsY = YCounter * PlusY
      ' Посчитаем точку 2
      DsX2 = DsX + PlusX: DsY2 = DsY + PlusY
     
        ' Посчитаем точку 3
      DsX3 = DsX2 + PlusX3: DsY3 = DsY2 + PlusY3
 
        ' Посчитаем точку 4
      DsX4 = DsX + PlusX3: DsY4 = DsY + PlusY3
 
        ' Посчитаем точку 5
      DsX5 = DsX2 + PlusX4: DsY5 = DsY2 + PlusY4
 
        ' Посчитаем точку 6
      DsX6 = DsX5 + PlusX2: DsY6 = DsY5 + PlusY2
 
        ' Посчитаем точку 7
      DsX7 = DsX2 + PlusX2: DsY7 = DsY2 + PlusY2
     
        XCounter = XCounter + 2
      LINE (DsX, DsY)-(DsX2, DsY2), Cv1
      LINE (DsX2, DsY2)-(DsX3, DsY3), Cv1
      LINE (DsX, DsY)-(DsX4, DsY4), Cv1
      LINE (DsX3, DsY3)-(DsX4, DsY4), Cv1
 
      LINE (DsX2, DsY2)-(DsX5, DsY5), Cv1
      LINE (DsX2, DsY2)-(DsX7, DsY7), Cv1
      LINE (DsX5, DsY5)-(DsX6, DsY6), Cv1
      LINE (DsX7, DsY7)-(DsX6, DsY6), Cv1
  LOOP UNTIL DsX7 >= 639
  YCounter = YCounter + 1
  XCounter = 0
LOOP UNTIL DsY6 >= 479

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


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

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

5   голосов , оценка 3.6 из 5