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

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

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

 
 Ответить  Открыть новую тему 
> Движение рисунка, как в арканоиде...
b0b
сообщение 13.12.2005 21:55
Сообщение #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 
 К началу страницы 
+ Ответить 
b0b
сообщение 13.12.2005 22:18
Сообщение #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 
 К началу страницы 
+ Ответить 
b0b
сообщение 13.12.2005 22:29
Сообщение #3


Новичок
*

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

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


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


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

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

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


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


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


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


Новичок
*

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

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


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

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


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


Гость






Ну, а так:
Немного графики, Прыгающий шарик?
 К началу страницы 
+ Ответить 
klem4
сообщение 13.12.2005 22:54
Сообщение #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 - 13.12.2005 22:55


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

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

 



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