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

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

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

> Движение табличек со словами, модуль graph
Провинциалка
сообщение 11.12.2010 16:14
Сообщение #1


Пионер
**

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

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


Здравствуйте ребята! Мне очень нужна помощь в написании данной программы в Паскаль. Помогите , пожалуйста, кто может.
Построить движущиеся изображения двух прямоугольников и круга, на которых помещены слова из фразы «КТО СКАЗАЛ МЯУ?» mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 12.12.2010 9:32
Сообщение #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 16:14
Lapp   Здравствуйте ребята! Мне очень нужна помощь в ...   12.12.2010 9:32
Провинциалка   Уважаемый Андрей! Вы уж извините, что я не так...   12.12.2010 13:42
Lapp   Уважаемый Андрей!Уважаемая Ольга! давай ...   12.12.2010 14:11
Lapp   Оль, и напиши, пожалуйста, каким компилятором ты п...   12.12.2010 14:33
Провинциалка   Господин администратор! Я постараюсь спросить ...   12.12.2010 14:48
Lapp   Господин администратор!Как хотите, уважаемая м...   13.12.2010 2:45
Krjuger   В названии процедур действительно очень часто закл...   12.12.2010 17:26
Провинциалка   Здравствуйте уважаемые! Я очень внимательно п...   13.12.2010 15:57
Lapp   Здравствуйте, мисс Ольга! уж очень не хочется...   14.12.2010 6:55
Провинциалка   Здравствуйте! (Вы уж Извините, что захожу сюд...   14.12.2010 23:25
Lapp   Free Pascal я скачала и установила. Работает норма...   14.12.2010 23:41
Провинциалка   Уважаемый администратор! У меня наконец-то поя...   19.12.2010 14:14
Lapp   Уважаемый администратор!Послушай, я пошел тебе...   19.12.2010 15:11
Провинциалка   Многое стало ясно! А дефолтный путь это что? ...   19.12.2010 15:46
Lapp   А дефолтный путь это что?Ну какой-то там путь по у...   19.12.2010 16:57
Провинциалка   Теперь мне ничего не остаётся, как засыпать вас во...   19.12.2010 17:18


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

 



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