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

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

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

> задачка в текстовом режиме, пожалуйста подправьте, завтра зачёт :)
сообщение
Сообщение #1


Пионер
**

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

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


вот такая задачка
Разделить экран перегородкой по вертикали на полэкрана. Перегородка движется сама вверх
и вниз. Двигать минимальный прямоугольник.
как ни странно, несмотря на лёгкость не могу сделать ( чтото не так, когда перемещаешься на (80,25) начинается ахинея, да и когда полоска доходит до верха и низа тоге не фонтан, вощем плз укажите ошибку
Код
uses crt;
var x, y, a, b: integer;
    ch : char;

procedure down (var x,y : integer);
var i : integer;
begin
i := 12;
  gotoxy (x,y);
  textcolor (black);
  write ('Ы');
  textcolor (white);
  while i <> 0 do
  begin
    gotoxy (x,y+i);
    write ('Ы');
    dec(i);
  end;
  gotoxy (x,y);
end;

procedure up (var x,y : integer);
var i : integer;
begin
  gotoxy (x,y);
  textcolor (white);
  for i := 1 to 12 do
  begin
    gotoxy (x,y+i);
    write ('Ы');
  end;
  gotoxy(x,y+13);
  textcolor (black);
  write ('Ы');
  gotoxy (x,y);
end;

procedure pres (var a,b : integer; ch : char);
var q, k: integer;
begin
case ch of
  #72 : if (b <> 1) then begin
          gotoxy(a,b);
          textcolor (black);
          write ('Ы');
          textcolor (white);
          dec (b);
          gotoxy (a,b);
          write ('Ы');
          gotoxy(a,b);
        end;
  #80 : if (b <> 25) then begin
          gotoxy(a,b);
          textcolor (black);
          write ('Ы');
          textcolor (white);
          inc (b);
          gotoxy (a,b);
          write ('Ы');
          gotoxy(a,b);
        end;
  #75 : if (a <> 1) then begin
          gotoxy(a,b);
          textcolor (black);
          write ('Ы');
          textcolor (white);
          dec (a);
          gotoxy (a,b);
          write ('Ы');
          gotoxy(a,b);
        end;
  #77 : if (a <> 80) then begin
          gotoxy(a,b);
          textcolor (black);
          write ('Ы');
          textcolor (white);
          inc (a);
          gotoxy (a,b);
          write ('Ы');
          gotoxy(a,b);
        end;
  end;
end;

begin
clrscr;

x := 40;
y := 1;
a := 25;
b := 13;

repeat

repeat
textcolor(white);
gotoxy (a,b);
write('Ы');
  down (x,y);
  inc (y);
  if keypressed then
                begin
                  ch := readkey;
                  pres (a,b,ch);
                end;
  delay (55000);
until y = 13;

repeat
textcolor(white);
gotoxy (a,b);
write('Ы');
  up (x,y);
  dec (y);
  if keypressed then
                begin
                  ch := readkey;
                  pres (a,b,ch);
                end;
delay (55000);
until y = 0;

until ch=#27;

end.


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

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

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


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

 





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