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

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

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

 
 Ответить  Открыть новую тему 
> Движение рисунка, как в арканоиде...
сообщение
Сообщение #1


Новичок
*

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

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


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

в теории догадываюсь, как можно сделать.
но на практике.. sad.gif.


program gr;
uses crt, graph;
var gd,gm:integer;
begin
clrscr;
repeat
gotoxy(10,13);
writeln('Laba9');
until keypressed;
gd:=detect;
initgraph(gd,gm,'d:\ftp\bp\bgi');
setcolor(green);
line(160,240,320,240);
line(160,230,320,230);

arc(160,235,90,270,5);
arc(320,220,260,330,10);
arc(323,230,260,330,10);

line(329,225,370,150);
line(332,235,372,168);

circle(389,157,20);

line(380,140,360,120);
line(400,140,420,120);

ellipse(250,198,0,360,70,30);
ellipse(263,204,0,360,24,18);

circle(380,155,5);
circle(398,155,5);
circle(380,155,2);
circle(398,155,2);

arc(389,165,180,0,8);



readln;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

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

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


repeat
if x>300 then napr:=-1;
if x<10 then napr:=1;
x:=x+napr;

надо у координат x менять ее координату
то есть у всех line(x+100,10,x+120,10); они и
будут двигатьсь
с задержкой delay(100);

until keypreset

чушь какая то получается sad.gif

хелп плз...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


есть кто-нть живой-то? sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

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

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


Цитата
есть кто-нть живой-то?


есть ... Биллиард


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


Цитата(klem4 @ 13.12.2005 22:32) *

есть ... Биллиард


а попроще.. sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Ну, а так:
Немного графики, Прыгающий шарик?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

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

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


Ну или вот наверное супер простой вариант :

uses crt,graph;
var
gd,gm,x,y,dx,dy,r : integer;

begin
clrscr;
gd := detect;
initgraph(gd,gm,'');

r := 20;

x := GetMaxX div 2;
y := GetMaxY div 2;

circle(x,y,r);

dx := 3;
dy := -4;

repeat

if (r + x >= GetMaxX) or (r + x <=0) then dx := -dx;
if (r + y >= GetMaxY) or (r + y <=0) then dy := -dy;

x := x + dx;
y := y + dy;

circle(x,y,r);
delay(100);
cleardevice;

until keypressed;


end.


как-то так ...

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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