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

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

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

> 3 задачки на графику, помогите плиз
phoenix85
сообщение 26.06.2009 11:53
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской
Реальное имя: Stas

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


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

есть 3 задачки:

1. сгибающаяся под тяжестью растущего плода ветка;

2. Перемещать три звезды разного цвета в пределах экрана;

3. Построить прямоугольник со сторонами разного цвета и основанием, движущимся согласно процедуре OTREZOK
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Archon
сообщение 26.06.2009 16:01
Сообщение #2


Профи
****

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

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


Ладно, вот код ко второй задаче. Разбирайся, задавай вопросы.
uses
Graph, Crt;

const
NumStars = 5; { Число звезд. }
StarRadius = 25; { Размер звезд. }
Step = 1; { Шаг, с которым перемещаются звезды. }
FrameDelay = 1; { Задержка кадра. Попробуй увеличить это значение, }
{ если звезды движутся слишком быстро. }

var
Star: array [0..5] of PointType;
gd, gm: Integer;
i: Integer;
Pos, Offset: array[1..NumStars] of PointType;
Color: array[1..NumStars] of Word;
begin
gd := Detect;
InitGraph(gd, gm, '');

{ Начальные координаты звезд, направления их движения и цвет задаются случайно. }
Randomize;
for i := 1 to NumStars do begin
Pos[i].x := StarRadius + Random(GetMaxX - 2 * StarRadius);
Pos[i].y := StarRadius + Random(GetMaxY - 2 * StarRadius);
Offset[i].x := Step * (1 - 2 * Random(2));
Offset[i].y := Step * (1 - 2 * Random(2));
Color[i] := Random(GetMaxColor - 1) + 1;
end;

{ Вычисление вершин звезды. }
for i := 0 to 5 do begin
Star[i].x := Round(Sin(i * Pi * 0.8) * StarRadius);
Star[i].y := Round(-Cos(i * Pi * 0.8) * StarRadius);
end;

{ Основной цикл. }
repeat
for i := 1 to NumStars do begin
{ Стираем звезду. }
SetColor(Black);
SetViewPort(Pos[i].x, Pos[i].y, Pos[i].x, Pos[i].y, false);
DrawPoly(6, Star);

{ Меняем положение звезды. }
Inc(Pos[i].x, Offset[i].x);
Inc(Pos[i].y, Offset[i].y);

{ Если звезда достигла края экрана, меняем направление ее движения. }
if (Pos[i].x < StarRadius) or (Pos[i].x > GetMaxX - StarRadius) then
Offset[i].x := -1 * Offset[i].x;
if (Pos[i].y < StarRadius) or (Pos[i].y > GetMaxY - StarRadius) then
Offset[i].y := -1 * Offset[i].y;

{ Рисуем звезду в новом месте. }
SetColor(Color[i]);
SetViewPort(Pos[i].x, Pos[i].y, Pos[i].x, Pos[i].y, false);
DrawPoly(6, Star);
end;
{ Задержка, чтобы кадры не сменяли друг друга слишком быстро. }
Delay(FrameDelay);
until KeyPressed;

CloseGraph;
end.


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
phoenix85   3 задачки на графику   26.06.2009 11:53
Archon   Что, совсем ни гу-гу? Просто не ясно, с чего начин...   26.06.2009 12:47
volvo   Archon, похоже, что не все так просто, и нарисоват...   26.06.2009 13:05
phoenix85   я конечно много извиняюсь, но просто время уже под...   26.06.2009 13:24
phoenix85   3ю задачу на треуголник решил.. а вот первые две ...   26.06.2009 14:17
Archon   Покажи, как решил, поможем переделать.   26.06.2009 14:42
phoenix85   да третью я уже сделал, мне надо с первыми двумя...   26.06.2009 14:45
Archon   Даже если кто-нибудь захочет делать тебе программы...   26.06.2009 14:57
phoenix85   PROGRAM treug; uses Graph; var Gd,Gm...   26.06.2009 15:17
Archon   Ладно, вот код ко второй задаче. Разбирайся, задав...   26.06.2009 16:01
phoenix85   Archon - огромное тебе спасибо, немного поэксперем...   26.06.2009 17:36
Archon   Конечно :). За основу можешь мою программу взять. ...   26.06.2009 18:02
phoenix85   конечно огромное спасибо за основу, но все же, у ...   26.06.2009 20:03
лёшик   Чото у меня в задачке со звездами пишет, что файл ...   27.06.2009 7:39
V877   Это значило бы, что надо пользоваться Паскалем, а ...   27.06.2009 8:20
лёшик   хи-хи, скачал Паскаль с "Паскалера.ру", ...   27.06.2009 8:37
Lapp   скачал Паскаль с "Паскалера.ру", а он 97...   27.06.2009 8:46
volvo   Я не знаю, чего и откуда ты качал, но Турбо Паскал...   27.06.2009 8:44
лёшик   Не, совершенно очевидно, что сам Паскаль не устаре...   27.06.2009 8:47
volvo   Неправда, начиная с D7 и язык тоже называется Дель...   27.06.2009 8:49
лёшик   По поводу существования или несуществования языка ...   27.06.2009 8:50
Archon   Измени пути у ярлыка, или удали его вообще. И еще...   27.06.2009 9:06
Lapp   Сорри за дезу. Хотя я на месте Вирта накатил бы на...   27.06.2009 9:40
лёшик   Ну раз графика, значит графика. Ща нарисуем увелич...   27.06.2009 16:08
volvo   В данной ветке форума это будет не меньшим оффтопо...   27.06.2009 16:24
Гость   да вы че оффтоп действительно развели - раздел на...   27.06.2009 18:42
phoenix85   все, все сделал задачки, кроме ветки с растущим пл...   29.06.2009 9:36
phoenix85   ну помогите с программой то... ветка гнется под т...   29.06.2009 13:51
Archon   phoenix85, в этом разделе не помогают сдать зачет...   30.06.2009 10:06
phoenix85   вас по нормальному просят, а вам так тяжело помоч...   30.06.2009 12:39
Krjuger   Ты знаеш,а если я тебя попрошу мне миллион долларо...   30.06.2009 21:29
phoenix85   сори перед всеми, если обидел... есть часть кода?...   1.07.2009 19:55


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

 



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