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

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

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

> инитграф кружок :(), помогите расставить последовательность
kr3v3tkus
сообщение 12.04.2006 17:11
Сообщение #1


Пионер
**

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

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


кружок должен отражаться под прямым углом от линии и от краёв, чтото не так с процедурами (

все процедуры переделал, но не могу разобраться с флагами( устанавливают последовательность )

Код
program lol;
uses crt,graph;
var gd,gm,i,x,y:integer;
    fl:boolean;

procedure die_down(var x,y:integer);
begin
  if fl=true then
  repeat
    setcolor(black);
    circle(x,y,10);
    inc(x);dec(y);
    setcolor(white);
    circle(x,y,10);
    delay(1000);

    fl:=true;

  until ((x=32)or(x=610))or(y=11)
  else
  repeat
    setcolor(black);
    circle(x,y,10);
    dec(x);dec(y);
    setcolor(white);
    circle(x,y,10);
    delay(1000);

    fl:=false;

  until ((x=32)or(x=610))or(y=11);
end;

procedure die_up(var x,y:integer);
begin
  if  fl=true then
  repeat
    setcolor(black);
    circle(x,y,10);
    inc(x);inc(y);
    setcolor(white);
    circle(x,y,10);
    delay(1000);

    fl:=true;

  until ((x=32)or(x=610))or(y=229)
  else
  repeat
    setcolor(black);
    circle(x,y,10);
    dec(x);inc(y);
    setcolor(white);
    circle(x,y,10);
    delay(1000);

    fl:=false;

  until ((x=32)or(x=610))or(y=229);
end;

procedure die_left(var x,y:integer);
begin
  if  fl=true then
  repeat
    setcolor(black);
    circle(x,y,10);
    inc(x);dec(y);
    setcolor(white);
    circle(x,y,10);
    delay(1000);

    fl:=true;

  until (y=229)or(y=11)
  else
  repeat
    setcolor(black);
    circle(x,y,10);
    dec(x);dec(y);
    setcolor(white);
    circle(x,y,10);
    delay(1000);

    fl:=false;

  until (y=229)or(y=11);
end;

procedure die_right(var x,y:integer);
begin
  if fl=true then
  repeat
  fl:=true;
    setcolor(black);
    circle(x,y,10);
    dec(x);inc(y);
    setcolor(white);
    circle(x,y,10);
    delay(1000);

    fl:=true;

  until (y=229)or(y=11)
  else
  repeat
    setcolor(black);
    circle(x,y,10);
    dec(x);dec(y);
    setcolor(white);
    circle(x,y,10);
    delay(1000);

    fl:=false;

  until (y=229)or(y=11);
end;

procedure die_go(var x,y:integer);
begin
  while y<>229 do
  begin
    setcolor(black);
    circle(x,y,10);
    inc(x);inc(y);
    setcolor(white);
    circle(x,y,10);
    delay(1000);
  end;
end;

begin
clrscr;
gd:=detect;
initgraph(gd,gm,'..\bgi');
if graphresult=grok then
begin
  x:=220;
  y:=140;
  setcolor(white);
  line(0,240,640,240);
  circle(x,y,10);
  die_go(x,y);
  while true do
  begin
    if y=229 then die_down(x,y);
    if y=11 then die_up(x,y);
    if x=610 then die_right(x,y);
    if x=32 then die_left(x,y);
  end;
end;
readkey;
closegraph;
end.


Сообщение отредактировано: kr3v3tkus - 12.04.2006 21:33


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

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

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


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

 



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