IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Как нарисовать дом, ...и не быть убитой:))
P.O.L.L.Y
сообщение 7.10.2007 21:10
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Люди добрые!
Молю о помощи!!!
11 класс, никогда информатику не учила, а тут пришел злющий препод и права качает! norespect.gif
Пришлось браться за изучение паскаля. Что-то получается, но до нужного уровня еще не догоняю...

Задача очень простая!
Нужно нарисовать дом(квадрат, на нем треугольник - крыша), квадрат закрашен плюсиками, в нем маленькое окошко с рамой. Крыша, т.е. треугольник закрашен диагональными черточками. К тому же сбоку домика есть лестница. Дополнительно: труба, забор...

Для меня самое главное алгоритм!
Начало программы, где нужно код заливки вставлять, где код фигур и т.п.

Заранее спасибо!!!



 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 7.10.2007 22:01
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Давай сначала решим один вопрос: ты хочешь РАЗОБРАТЬСЯ или сдать программку и забыть о ней?
Буду писать, ориентируясь на первый вариант.

Сначала просто нарисуем прямоугольничек, чтобы разобраться с частями программы.
program domik; //зарезервированное слово program и название нашей программки
uses graph,crt; //модули, которые мы используем. graph - собственно, для графики. из crt берем лишь readkey (см. ниже)
var gd,gr,err: integer; //переменные понадобятся для инициализации графического режима

begin
//определяем параметры инициализации графического режима
gd:=detect;
gr:=VGAHi;
InitGraph(gd,gr,''); //инициализируем графический режим
err:=GraphResult; //смотрим, не возникло ли ошибки
if err=grOk then //если ошибки не возникло
begin
Rectangle(10,10,100,100); //рисуем прямоугольник.
//первые два числа - координаты верхнего левого угла, вторые - правого нижнего (х и y соответственно)
readkey; //ждем, пока пользователь что-нибудь нажмет
closegraph; //закрываем графический режим
end;
end. //вот и все smile.gif



попробуй набрать (только не скопировать, а именно набрать... чтобы самой почувствовать каждую строчку) все кроме комментариев. и запустить...

по идее, нарисовался белый незакрашенный прямоугольничек. теперь зададим цвет линий и стиль/цвет заливки. Для этого непосредственно перед рисованием прямоугольника вставим такие строки:
  SetColor(2); //устанавливаем цвет для рисования
SetFillStyle(2,4); //задаем стиль (2) и цвет (4) заливки


коды цветов:
черный 0
синий 1
зеленый 2
бирюзовый 3
красный 4
малиновый 5
коричневый 6
светло-серый 7
темно-серый 8
голубой 9
ярко-зеленый 10
ярко-бирюзовый 11
ярко-красный 12
ярко-малиновый 13
желтый 14
белый 15

коды стилей так не могу назвать, но можешь просто сама поэкспериментировать. увидишь, где там сплошная заливка, где вертикальная штриховка....

после рисования прямоугольника сделаем следующее:
  FloodFill(20,20,2); //сама заливка

первые два числа - координата внутри прямоугольника, третье - код цвета границы заливаемой области.

в общем, пробуй...
продолжение следует (при необходимости)


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
P.O.L.L.Y
сообщение 8.10.2007 21:36
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


МИСС ГРАФФИТИ, Уааааа! Как круто написано!!!
Спасибо больше, что так ответственно подошла к моей проблеме!!!

Конечно хотелось бы разобраться в Паскале, поэтому сразу возникают вопросы)) хоть и примитивные, зато очень важные чисто для понимания дела))

Вот например такой

gd:=detect;
gr:=VGAHi;

Что стоит за этими обозначениями?
Сегодня мои одноклассники поголовно писали так
gd:=9;
gr:=1;


что они именли ввиду, они и сами не знали. Сказала просто ПИШИ ТАК!
а зачем?)))

Остальное вроде бы понятно)))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 8.10.2007 22:24
Сообщение #4


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


gd - графический драйвер,
gr - графический режим.

gd:=detect - автоматическое определение...
нашла такую таблицу констант, но правильность не гарантирую.
DETECT 0
CGA 1
MCGA 2
EGA 3
EGA64 4
EGAMONO 5
IBM8514 6
HERCMONO 7
ATT400 8
VGA 9
PC3270 10

gr (для VGA-режима) может принимать значения:
VGALo = 0
VGAMed = 1
VGAHi = 2


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
P.O.L.L.Y
сообщение 9.10.2007 18:59
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Отлично! Просто замечательно!!!
Я все поняла!!! yes2.gif yes2.gif yes2.gif
Теперь дело за практикой))))
Еще раз ОГРОМЕННОЕ СПАСИБО!!! give_rose.gif good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
P.O.L.L.Y
сообщение 11.10.2007 19:37
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Торжественно объявляю!!!
Здала информатику сегодня ДОМ!
Получила 10!!!!
Уууууууууррррраааааааааа!!!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 11.10.2007 19:40
Сообщение #7


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


А у вас скольки балльная система? 10 или 12?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
P.O.L.L.Y
сообщение 12.10.2007 19:16
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


10
ыыыыыыы)))))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.04.2024 21:55
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"