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

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

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

> столкновение прямоугольников
kr3v3tkus
сообщение 23.03.2006 23:47
Сообщение #1


Пионер
**

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

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


вот задачка:
12. На середине экрана по вертикали медленно движется минимальный прямоугольник. Стрелками мы можем перемещать по вертикали другой минимальный прямоугольник по левому краю экрана. Клавишей ENTER можем "толкнуть" левый прямоугольник в правую сторону. Если левый попадет в правый, они вместе летят дальше до правого края.

подскажите как сделать, чтобы можно было управлять левым, и в это же время двигался правый. Я честно говоря в тупике unsure.gif никогда не встречался ещё стаким mega_chok.gif

Код

program lol;
uses crt;
label m1,m2,endm;
var a,b,z,x:integer;
    ch:char;
begin
clrscr;

a:=1;
b:=25;
z:=40;
x:=25;

gotoxy(a,b);

while true do    {' dvijka pravogo '}
begin
  repeat
    gotoxy(z,x);
    textcolor(black);
    write('Ы');
    dec(x);
    gotoxy(z,x);
    textcolor(white);
    write('Ы');
    gotoxy(z,x);
    delay(25000);
  until x=1;
    
    
  repeat
    gotoxy(z,x);
    textcolor(black);
    write('Ы');
    inc(x);
    gotoxy(z,x);
    textcolor(white);
    write('Ы');
    gotoxy(z,x);
    delay(25000);
  until x=25;
end;


repeat  {'  leviy kvadrat '}
gotoxy(a,b);
m2:
ch:=readkey;

  if ch=#72 then
    if b<>1 then
      begin
        gotoxy(a,b);
        textcolor(black);
        write('Ы');
        dec(b);
        gotoxy(a,b);
        textcolor(white);
        write('Ы');
        gotoxy(a,b);
      end;

  if ch=#80 then
    if b<>25 then
      begin
        gotoxy(a,b);
        textcolor(black);
        write('Ы');
        inc(b);
        gotoxy(a,b);
        textcolor(white);
        write('Ы');
        gotoxy(a,b);
      end;

  if ch=#27 then goto endm;

until ch=#13;


while a<>80 do    {' dvijka levogo '}
begin
  gotoxy(a,b);
  textcolor(black);
  write('Ы');
  inc(a);
  gotoxy(a,b);
  textcolor(white);
  write('Ы');
  delay(500);
  gotoxy(a,b);
end;

if (a=z)and(b=x) then goto m1 else goto m2;

m1:
begin
  clrscr;
  writeln('popal!!!');
  goto endm;
end;

endm:
end.

зы столкновение я ещё не писал, проверить просто низя будет без синхронности


--------------------
Цитата
          .     .
           \__/
          (**)
(>:=:=:~~ 
  ^ ^ ^ ^ 

Креветка присваивания :DDD
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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