Помощь - Поиск - Пользователи - Календарь
Полная версия: Падающие цифры
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Mardoc
Привет! Задача вот в чем надо сделать так чтобы на экран сверчу вниз падали цифры причем каждая строка со своей скоростью! (как в фильме Матрица)!
volvo
The Matrix V1.01
?
xds
Как вариант:
program Matrix;

uses
  Crt, Dos;

var
  StdInt8: Pointer;
  Sync: Boolean;

procedure Int8; interrupt;
begin
  Sync := True;
  asm
    pushf
    call StdInt8
  end
end;

var
  Buf: array[0..24, 0..79] of Word absolute $B800:0;
  y, dy: array[0..79] of Integer;
  c: array[0..79] of Word;
  i: Integer;

begin
  TextMode(CO80);
  GetIntVec(8, StdInt8);
  SetIntVec(8, @Int8);

  for i := 0 to 79 do
    begin
      y[i] := 24;
      dy[i] := 1;
    end;

  repeat
    for i := 0 to 79 do
      begin
        Buf[y[i], i] := Buf[y[i], i] and not $800;
        Inc(y[i], dy[i]);
        if y[i] > 24 then
          begin
            y[i] := 0;
            dy[i] := 1 + Random(3);
            c[i] := Ord('0') + Random(2) + $A00;
          end;
        Buf[Random(25), Random(80)] := 0;
        Buf[y[i], i] := c[i];
      end;
    while not Sync do;
    Sync := False;
  until KeyPressed;
  ReadKey;

  SetIntVec(8, StdInt8);
end.
Mardoc
Большое СПАСИБО!!!!!!!!!!!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.