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

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

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

> Движение табличек со словами, модуль graph
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Женский
Реальное имя: Ольга

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


Здравствуйте ребята! Мне очень нужна помощь в написании данной программы в Паскаль. Помогите , пожалуйста, кто может.
Построить движущиеся изображения двух прямоугольников и круга, на которых помещены слова из фразы «КТО СКАЗАЛ МЯУ?» mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Провинциалка @ 11.12.2010 16:14) *
Здравствуйте ребята! Мне очень нужна помощь в написании данной программы в Паскаль. Помогите , пожалуйста, кто может.
Здравствуй, Оля. Мне тоже нужна помощь. Я уже замучился закрывать/переименовывать темы с совершенно УНИКАЛЬНЕЙШИМ и ОРИГИНАЛЬНЕЙШИМ (особенно для форума по Pascal и в разделе Pascal!) названием "Pascal". Пожалуйста, помоги мне - напряги свою фантазию в следующий раз (в этот раз я переименовал). Договорились? yes2.gif

Теперь по теме.
Вот, посмотри на этот код. Задавай вопросы, что неясно. А когда все выяснишь - займемся кружками.. Хорошо? ))
uses
CRT,Graph,DOS;

const
nTag=4;
BkCol=0;
qt=0.02;

type
tShape= (Rect,Roun);
tTag= record
sh: tShape;
c1,c2,c3,size: integer;
x,y,vx,vy: single;
s: string
end;

function ScrX(x: single): integer;
begin
ScrX:=Round(x*GetMaxX)
end;

function ScrY(y: single): integer;
begin
ScrY:=Round(y*GetMaxY)
end;

procedure HideTag(Tag: tTag);
var
i,j: integer;
begin
with Tag do begin
i:=ScrX(x);
j:=ScrY(y);
SetFillStyle(SolidFill,BkCol);
SetTextStyle(0,HorizDir,size);
Bar(i-1,j-1,i+size*4+TextWidth(s)+1,j+size*4+TextHeight(s)+1)
end
end;

procedure ShowTag(Tag: tTag);
var
i,j: integer;
begin
with Tag do begin
i:=ScrX(x);
j:=ScrY(y);
SetColor(c1);
SetTextStyle(0,HorizDir,size);
Rectangle(i,j,i+size*4+TextWidth(s),j+size*4+TextHeight(s));
SetFillStyle(SolidFill,c3);
Bar(i+2,j+2,i+size*4+TextWidth(s)-2,j+size*4+TextHeight(s)-2);
SetColor(c2);
OutTextXY(i+size*2,j+size*2,s)
end
end;

function Timer: double;
var
h,m,s,f: word;
begin
GetTime(h,m,s,f);
Timer:=(h*60+m)*60+s+f*0.01
end;

var
t,t0,dt: double;
gd,gm,i: integer;
Tag: array [1..nTag] of tTag;
ch: char;

begin
t:=Timer;
gd:=0;
InitGraph(gd,gm,'');
SetLineStyle(SolidLn,0,ThickWidth);
Randomize;
for i:=1 to nTag do with Tag[i] do begin
sh:=Rect;
x:=Random;
y:=Random;
size:=Random(7)+2;
c1:=Random(7)+9;
c2:=Random(7)+9;
c3:=Random(6)+1;
vx:=(Random-0.5)*0.4;
vy:=(Random-0.5)*0.4;
s:=Char(i+64)
end;
Tag[1].s:='Who';
Tag[2].s:='did';
Tag[3].s:='say';
Tag[4].s:='meow?';
repeat
t0:=t;
t:=Timer;
dt:=t-t0;
for i:=1 to nTag do with Tag[i] do begin
HideTag(Tag[i]);
x:=x+vx*dt;
if (x<0)or(x>1) then begin
if x<0 then x:=-x else x:=2-x;
vx:=-vx;
end;
y:=y+vy*dt;
if (y<0)or(y>1) then begin
if y<0 then y:=-y else y:=2-y;
vy:=-vy;
end;
ShowTag(Tag[i])
end;
repeat
if KeyPressed then ch:=ReadKey
until Timer-t>qt
until ch=#27;
while KeyPressed do ReadKey;
CLoseGraph
end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Провинциалка   Движение табличек со словами   11.12.2010 20:14
Lapp   Здравствуйте ребята! Мне очень нужна помощь в …   12.12.2010 13:32
Провинциалка   Уважаемый Андрей! Вы уж извините, что я не так…   12.12.2010 17:42
Lapp   Уважаемый Андрей!Уважаемая Ольга! давай …   12.12.2010 18:11
Lapp   Оль, и напиши, пожалуйста, каким компилятором ты п…   12.12.2010 18:33
Провинциалка   Господин администратор! Я постараюсь спросить …   12.12.2010 18:48
Lapp   Господин администратор!Как хотите, уважаемая м…   13.12.2010 6:45
Krjuger   В названии процедур действительно очень часто закл…   12.12.2010 21:26
Провинциалка   Здравствуйте уважаемые! Я очень внимательно п…   13.12.2010 19:57
Lapp   Здравствуйте, мисс Ольга! уж очень не хочется…   14.12.2010 10:55
Провинциалка   Здравствуйте! (Вы уж Извините, что захожу сюд…   15.12.2010 3:25
Lapp   Free Pascal я скачала и установила. Работает норма…   15.12.2010 3:41
Провинциалка   Уважаемый администратор! У меня наконец-то поя…   19.12.2010 18:14
Lapp   Уважаемый администратор!Послушай, я пошел тебе…   19.12.2010 19:11
Провинциалка   Многое стало ясно! А дефолтный путь это что? …   19.12.2010 19:46
Lapp   А дефолтный путь это что?Ну какой-то там путь по у…   19.12.2010 20:57
Провинциалка   Теперь мне ничего не остаётся, как засыпать вас во…   19.12.2010 21:18


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

 





- Текстовая версия 23.11.2025 5:08
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name