Рисуем в HomeLisp

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

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

Добрый вечер всем! Обращаюсь к вам с такой проблемой. Мы делаем последнюю лабараторную и там нам нужно нарисовать то что даст преподаватель. Мне выпала прекрасная гусеничка. Собственно я ее сделал но есть одна небольшая проблемка. Усики на которых кружочки нужно закрасить в желтый но если я это дела командой grwFill то закрашивается все что есть! Как мне это исправить? Прилагаю код и результат на данный момент
(grwCreate 'w1 1000 500 "Gusenicka" _green) 
(grwShow 'w1)
(grwCircle 'w1 150 150 50 _Yellow) 
(grwFill 'w1 155 130 _YELLOW _yellow)
(grwCircle 'w1 191 230 40 _Yellow)
(grwCircle 'w1 241 292 40 _Yellow)
(grwCircle 'w1 310 330 40 _Yellow) 
(grwCircle 'w1 381 296 40 _Yellow)
(grwCircle 'w1 458 276 40 _Yellow)
(grwCircle 'w1 536 296 40 _Yellow)
(grwCircle 'w1 603 340 40 _Yellow)
(grwCircle 'w1 656 296 30 _Yellow)
(grwCircle 'w1 133 143 10 &H000000)
(grwCircle 'w1 173 143 10 &H000000)
(grwLine 'w1 118 165 188 165 _red) 
(grwLine 'w1 118 165 153 182 _red) 
(grwLine 'w1 153 182 188 165 _red)
(grwLine 'w1 134 103 117 65 _yellow)  //начало первого усика
(grwLine 'w1 117 65 106 68 _yellow) 
(grwLine 'w1 106 68 128 107 _yellow)
(grwLine 'w1 134 103 128 107 _yellow) //конец первого усика
(grwCircle 'w1 105 54 15 &HEEDDBB)
(grwLine 'w1 170 106 186 59 _yellow)  //начало второго усика
(grwLine 'w1 186 59 200 67 _yellow) 
(grwLine 'w1 200 67 178 111 _yellow)
(grwLine 'w1 170 106 178 111 _yellow)  //конец второго усика
(grwCircle 'w1 199 50 15 &HEEDDBB)

(grwFill 'w1 189 234 _YELLOW _yellow)
(grwFill 'w1 240 301 _YELLOW _yellow)
(grwFill 'w1 307 342 _YELLOW _yellow)
(grwFill 'w1 382 287 _YELLOW _yellow)
(grwFill 'w1 465 277 _YELLOW _yellow)
(grwFill 'w1 528 300 _YELLOW _yellow)
(grwFill 'w1 596 347 _YELLOW _yellow)
(grwFill 'w1 657 307 _YELLOW _yellow)
(grwFill 'w1 130 142 &H000000 &H000000)
(grwFill 'w1 171 143 &H000000 &H000000)
(grwFill 'w1 153 173 _red _red)
(grwFill 'w1 106 54 &HEEDDBB &HEEDDBB)
(grwFill 'w1 200 52 &HEEDDBB &HEEDDBB)

Решение задачи: «Рисуем в HomeLisp»

textual
Листинг программы
(defun task ()
 (grwCreate 'w1 1000 500 "Gusenicka" _green) 
 (grwSetParm 'w1 2 1 _YELLOW _YELLOW)
 (grwShow 'w1)
 (grwCircle 'w1 150 150 50 _Yellow) 
 (grwFill 'w1 155 130 _YELLOW _yellow)
 (grwCircle 'w1 191 230 40 _Yellow)
 (grwCircle 'w1 241 292 40 _Yellow)
 (grwCircle 'w1 310 330 40 _Yellow) 
 (grwCircle 'w1 381 296 40 _Yellow)
 (grwCircle 'w1 458 276 40 _Yellow)
 (grwCircle 'w1 536 296 40 _Yellow)
 (grwCircle 'w1 603 340 40 _Yellow)
 (grwCircle 'w1 656 296 30 _Yellow)
 (grwCircle 'w1 133 143 10 &H000000)
 (grwCircle 'w1 173 143 10 &H000000)
 (grwLine 'w1 118 165 188 165 _red) 
 (grwLine 'w1 118 165 153 182 _red) 
 (grwLine 'w1 153 182 188 165 _red)
 (grwLine 'w1 134 103 117 65 _yellow)  //начало первого усика
 (grwLine 'w1 117 65 106 68 _yellow) 
 (grwLine 'w1 106 68 128 107 _yellow)
 (grwLine 'w1 134 103 128 107 _yellow) //конец первого усика
 (grwCircle 'w1 105 54 15 _YELLOW)
 (grwLine 'w1 170 106 186 59 _yellow)  //начало второго усика
 (grwLine 'w1 186 59 200 67 _yellow) 
 (grwLine 'w1 200 67 178 111 _yellow)
 (grwLine 'w1 170 106 178 111 _yellow)  //конец второго усика
 (grwCircle 'w1 199 50 15 _YELLOW)
  
 (grwFill 'w1 189 234 _YELLOW _yellow)
 (grwFill 'w1 240 301 _YELLOW _yellow)
 (grwFill 'w1 307 342 _YELLOW _yellow)
 (grwFill 'w1 382 287 _YELLOW _yellow)
 (grwFill 'w1 465 277 _YELLOW _yellow)
 (grwFill 'w1 528 300 _YELLOW _yellow)
 (grwFill 'w1 596 347 _YELLOW _yellow)
 (grwFill 'w1 657 307 _YELLOW _yellow)
 (grwFill 'w1 130 142 &H000000 &H000000)
 (grwFill 'w1 171 143 &H000000 &H000000)
 (grwFill 'w1 153 173 _red _red)
 (grwFill 'w1 106 54 &HEEDDBB _YELLOW)
 (grwFill 'w1 200 52 &HEEDDBB _YELLOW)
 (grwFill 'w1 119 80 _LIME _YELLOW)
 (grwFill 'w1 186 78 _LIME _YELLOW))

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


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

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

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