Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2009, 20:24   #1
HoOpe
Пользователь
 
Аватар для HoOpe
 
Регистрация: 09.03.2009
Сообщений: 52
Лампочка графика, паскаль, ООП

Люди-человеки, помогите бедной студентки разобраться в проге. Дали лабу с объектами, а толком ничего не объяснили.

Вот задание:
1) разработать интерфейсное меню, состоящее из кнопок вида ромба и квадрата
2)кнопки должны размещаться на панели и иметь объемный вид
3) текущей является кнопка серого цвета, неактивная - зеленая
4) перемещение по кнопкам производиться с помощью клавиш навигации, выбор кнопка-энтер
5) по нажатию каждой кнопки создается эффект вогнутости и выполняется действия:
на дополнительную панель внизу экрана вывести задание на лабу;
развернуть панель и вернуть ее в исходное состояние;
увеличить объемность панели...

Очень жду и надеюсь на Вашу помощь
когда всё становится на свои места, выясняется, что это кладбище...
HoOpe вне форума Ответить с цитированием
Старый 12.03.2009, 22:48   #2
JekaX
Пользователь
 
Регистрация: 11.03.2009
Сообщений: 38
По умолчанию

а в чем писать?
JekaX вне форума Ответить с цитированием
Старый 12.03.2009, 23:38   #3
HoOpe
Пользователь
 
Аватар для HoOpe
 
Регистрация: 09.03.2009
Сообщений: 52
По умолчанию

паскаль, ООП, только без динамических штучек

вот я попробовала что-то написать:
Код:
uses crt,graph;
type
     knopka=object
     x0,y0,v,h:integer;
     ckn,ckon:integer;
     t:string[13];
     activ:boolean;
     procedure kvt_up; 
     procedure kvt_down;
     procedure rmb_up;
     procedure rmb_down;    
     procedure init(x1,y1,v1,h1:integer;ckn1,ckon1:integer);
     end;
     panel=object
     xp,yp,vp,hp:integer;
     czp:integer;
     procedure draw;
     procedure init(x,y,vp1,hp1:integer;colp:integer);
     end;
procedure knopka.init;
begin
     x0:=x1;
     y0:=y1;
     h:=h1;
     v:=v1;
     ckn:=ckn1;
     ckon:=ckon1;
end;
procedure knopka.kvt_down;
     begin
     setcolor(black);
     bar(x0-1,y0-1,x0+h,y0+v);
     setfillstyle(1,black);
     floodfill(x0,y0,black);
     setcolor(white);
     bar(x0+1,y0+1,x0+h,y0+v);
     setfillstyle(1,white);
     floodfill(x0,y0,white);
     setcolor(darkgray);
     bar(x0,y0,x0+h,y0+v);
     setfillstyle(5,darkgray);
     floodfill(x0,y0,darkgray);
     setcolor(red);
     outtextxy(x0-5,y0+5+2,t);
     end;
procedure knopka.kvt_up;
     begin
     setcolor(15);
     bar(x0-1,y0-1,x0+h,y0+v);
     setfillstyle(1,15);
     floodfill(x0,y0,15);
     setcolor(0);
     bar(x0+2,y0+2,x0+h,y0+v);
     setfillstyle(1,0);
     floodfill(x0,y0,0);
     setcolor(2);
     bar(x0,y0,x0+h,y0+v);
     setfillstyle(5,2);
     floodfill(x0,y0,2);
     setcolor(red);
     outtextxy(x0-5,y0+5*2,t);
     end;
procedure rmb_up;
var poly: array[1..4] of pointtype;
begin
     setcolor(8);
     poly[1].x:=x0+1;
     poly[1].y:=y0;
     poly[2].x:=x0+round(h/2)+1;
     poly[2].y:=y0+round(v/2);
     poly[3].x:=x0+1;
     poly[3].y:=y0+v;
     poly[4].x:=x0-round(h/2)+1;
     poly[4].y:=y0+round(v/2);
     fillpoly(4,poly);
     setfillstyle(1,15);
     floodfill(x0+3),y0+round(v/2),15);
     setcolor(15);
     poly[1].x:=x0-1;
     poly[1].y:=y0;
     poly[2].x:=x0+round(h/2)-1;
     poly[2].y:=y0+round(v/2);
     poly[3].x:=x0-1;
     poly[3].y:=y0+v;
     poly[4].x:=x0-round(h/2)-1;
     poly[4].y:=y0+round(v/2);
     fillpoly(4,polly);
     setfillstyle(1,8);
     floodfill(x0,y0+round(v/2),8);
     setcolor(4);
     outtextxy(x0,y0+v+2,t);
     setcolor(2);
     poly[1].x:=x0;
     poly[1].y:=y0;
     poly[2].x:=x0+round(h/2);;
     poly[2].y:=y0+round(v/2);;
     poly[3].x:=x0;
     poly[3].y:=y0+v;
     poly[4].x:=x0-round(h/2);
     poly[4].y:=y0-round(v/2);
     fillpoly(4,poly);
     setfillstyle(1,2);
     floodfill(x0),y0+round(v/2),ckon);
     setcolor(4);
     outtextxy(x0,y0+v+2,t);
     end;
procedure rmb_down;
var poly: array[1..4] of pointtype;
begin
     setcolor(15);
     poly[1].x:=x0+1;
     poly[1].y:=y0;
     poly[2].x:=x0+round(h/2)+1;
     poly[2].y:=y0+round(v/2);
     poly[3].x:=x0+1;
     poly[3].y:=y0+v;
     poly[4].x:=x0-round(h/2)+1;
     poly[4].y:=y0+round(v/2);
     fillpoly(4,poly);
     setfillstyle(1,15);
     floodfill(x0+3),y0+round(v/2),15);
     setcolor(8);
     poly[1].x:=x0-1;
     poly[1].y:=y0;
     poly[2].x:=x0+round(h/2)-1;
     poly[2].y:=y0+round(v/2);
     poly[3].x:=x0-1;
     poly[3].y:=y0+v;
     poly[4].x:=x0-round(h/2)-1;
     poly[4].y:=y0+round(v/2);
     fillpoly(4,polly);
     setfillstyle(1,8);
     floodfill(x0,y0+round(v/2),8);
     setcolor(4);
     outtextxy(x0,y0+v+2,t);
     setcolor(7);
     poly[1].x:=x0;
     poly[1].y:=y0;
     poly[2].x:=x0+round(h/2);;
     poly[2].y:=y0+round(v/2);;
     poly[3].x:=x0;
     poly[3].y:=y0+v;
     poly[4].x:=x0-round(h/2);
     poly[4].y:=y0-round(v/2);
     fillpoly(4,poly);
     setfillstyle(1,ckn);
     floodfill(x0),y0+round(v/2),7);
     setcolor(4);
     outtextxy(x0,y0+v+2,t);
     end;
procedure panel.init;
begin
     xp:=x;
     yp:=y;
     vp:=vp1;
     hp:=hp1;
     czp:=colp;
     end;
procedure panel.draw;
begin
      setcolor(15);
      rectangle(xp-1,yp-1,xp-1+wp,yp-1+hp);
      setfillstyle(1,15);
      floodfill(xp+5,yp+5,15);
      setcolor(darkgray);
      rectangle(xp+2,yp+2,xp+2+vp,yp+2+hp);
      setfillstyle(1,darkgray);
      floodfill(xp+5,yp+5,darkgray);
      setcolor(czp);
      rectangle(xp,yp,xp+wp,yp+hp);
      setfillstyle(1,czp);
      floodfill(xp+5,yp+5,czp);
      end;
procedure pan_dop;
var
   text1,text2,text3:string;
begin
     setcolor(6);
     rectangle(220,140,420,340);
     setfillstyle(1,15);
     floodfill(300,200,6);
     text1:='develop program ';
     text2:='using ';
     text3:='object programming';
     outtextxy(235,145,text1);
     outtextxy(235,165,text2);
     outtextxy(235,185,text3);
end;
когда всё становится на свои места, выясняется, что это кладбище...

Последний раз редактировалось Stilet; 13.03.2009 в 08:21.
HoOpe вне форума Ответить с цитированием
Старый 12.03.2009, 23:40   #4
HoOpe
Пользователь
 
Аватар для HoOpe
 
Регистрация: 09.03.2009
Сообщений: 52
По умолчанию

и основная часть:
Код:
var
   p:panel;
   k:array[1..4] of knopka;
   a:char;
   i,n,gd,gm:integer;
begin
     gd:=detect;
     initgraph(gd,gm,'d:\bp\bgi');
     setbkcolor(9);
     cleardevice;
     p.init(100,10,440,50,5);
     p.draw;
     for i:=1 to 4 do
         k[i].init(i*110+40,20,20,30,7,4);
         k[1].t:='zadanie';
         k[2].t:='razvernut'';
         k[3].t:='svernut'';
         k[4].t:='ob'emnost'';
         k[1].activ:=true;n:=1;
repeat
for i:=1 to 4 do
   begin
        if n=i then k[i].activ:=true
               else k[i].activ:=false;
        if k[i].activ then k[i].ckon:=4
        else k[i].ckon:=7;
        if (i mod 2)=0 then
           k[i].romb
        else
            k[i].kvt;
   end;
   a:=readkey;
   case a of
    #77:if n=4 then n:=1 else n:=n+1;
    #75:if n=1 then n:=4 else n:=n-1;
    #13:case n of
        1:begin
          k[n].tr_d;delay(60000);
          cleardevice;
          p.init(100,10,440,50,5);
          p.draw;
          pan_dop;
          for i:=1 to 4 do
          k[i].init(i*110+40,20,20,30,7,4);
          end;
        2:begin
        k[n].romb_d;
        delay(60000);
          cleardevice;
          p.init(50,10,540,200,5);
          p.draw;
          for i:=1 to 4 do
          k[i].init(i*110+40,80,30,50,7,4);
          end;
        3:begin
          k[n].draw_down;delay(5000);
          cleardevice;
          p.init(150,20,300,60,cyan);p.draw;
          for i:=1 to 4 do k[i].init(i*80+100,50,20);
          end;
        4:begin
        k[n].romb_d;
        delay(60000);
          cleardevice;
          p.init(50,10,540,200,5);
          p.draw;
          for i:=1 to 4 do
          k[i].init(i*110+40,80,30,50,7,4);
          end;
        end;
    end;
until a=#27;
closegraph;
end.
но почему-то слишком много ошибок и я хоть в том направлении пошла???

удобнее было бы использовать наследование для кнопок ромба и прямоугольника, но как это сделать??
когда всё становится на свои места, выясняется, что это кладбище...

Последний раз редактировалось Stilet; 13.03.2009 в 08:21.
HoOpe вне форума Ответить с цитированием
Старый 13.03.2009, 08:55   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Чесно скажу времени особо нет разбираться, только вот накропал для примерчика слегка кнопки, может поможет начать:
Код:
uses graph;
type
knopka=object
 x,y,width,height:integer;
 Caption:string;
 tip:byte;
 procedure draw;
end;
procedure knopka.draw;
begin
case tip of
1:begin
  rectangle(x,y,x+width,y+height);
  setfillstyle(1,lightgray);
  floodfill(x+1,y+1,white);
  outtextxy(x+10,y+(height div 2),caption);
end;
2:begin
 moveto(x+(width div 2),y);
 lineto(x+width,y+height div 2);
 lineto(x+(width div 2),y+height);
 lineto(x,y+height div 2);
 lineto(x+width div 2,y);

  setfillstyle(1,lightgray);
  floodfill(x+(width div 2),y+2,white);
  outtextxy(x+10,y+(height div 2),caption);

end;
end;
end;
{***********************************}
var k1:knopka;       gd,gm:integer;
begin
 gd:=detect;
 initgraph(gd,gm,'');
with k1 do begin
 caption:='Button1';
 tip:=2;{2 если ромбиком 1 если прямоугольником}
 x:=20;y:=20;width:=100;height:=40;
 draw;
end;
readln;
closegraph;
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.03.2009, 16:32   #6
HoOpe
Пользователь
 
Аватар для HoOpe
 
Регистрация: 09.03.2009
Сообщений: 52
По умолчанию

хм, спс, вот что я наделала, но опять ничего не хочет делать
Код:
uses crt,graph;
type
panel=object
     xp,yp,wp,hp:integer;czp:integer;
     procedure draw;procedure init(x,y,w,h:integer;colp:integer);
     end;
procedure panel.init;
begin
xp:=x;yp:=y;
wp:=w;hp:=h;
czp:=colp;
end;
procedure panel.draw;
begin
setcolor(15);rectangle(xp-1,yp-1,xp-1+wp,yp-1+hp);
setfillstyle(1,15);
floodfill(xp+5,yp+5,15);
setcolor(darkgray);rectangle(xp+2,yp+2,xp+2+wp,yp+2+hp);
setfillstyle(1,darkgray);
floodfill(xp+5,yp+5,darkgray);
setcolor(czp);rectangle(xp,yp,xp+wp,yp+hp);
setfillstyle(1,czp);
floodfill(xp+5,yp+5,czp);
end;

knopka=object
 x,y,width,height:integer;
 t:string[15];
 activ:boolean;
 tip:byte;
 procedure draw_up;
 procedure draw_down;
 procedure init(x1,y1:integer);
end;
procedure knopka.init;
begin
x:=x1;y:=y1;
end;

procedure knopka.draw_down;
begin
case tip of
1:begin
  rectangle(x-1,y-1,x+width,y+height);
  setfillstyle(1,black);
  floodfill(x+1,y+1,black);

  rectangle(x+1,y+1,x+width,y+height);
  setfillstyle(1,white);
  floodfill(x+1,y+1,white);

  rectangle(x,y,x+width,y+height);
  setfillstyle(1,lightgray);
  floodfill(x+1,y+1,lighgray);

  outtextxy(x-width,y+height,t);
end;
2:begin
 moveto(x+(width div 2)-1,y-1);
 lineto(x-1+width,y-1+height div 2);
 lineto(x-1+(width div 2),y-1+height);
 lineto(x-1,y-1+height div 2);
 lineto(x-1+width div 2,y-1);

  setfillstyle(1,black);
  floodfill(x+(width div 2),y+2,white);

 moveto(x+(width div 2)+1,y+1);
 lineto(x+1+width,y+1+height div 2);
 lineto(x+1+(width div 2),y+1+height);
 lineto(x+1,y+1+height div 2);
 lineto(x+1+width div 2,y+1);

  setfillstyle(1,white);
  floodfill(x+(width div 2),y+2,white);

 moveto(x+(width div 2),y);
 lineto(x+width,y+height div 2);
 lineto(x+(width div 2),y+height);
 lineto(x,y+height div 2);
 lineto(x+width div 2,y);

  setfillstyle(1,lightgray);
  floodfill(x+(width div 2),y+2,white);

  outtextxy(x-width,y+height,t);

end;
end;
procedure knopka.draw_up;
begin
case tip of
1:begin
  rectangle(x-1,y-1,x+width,y+height);
  setfillstyle(1,15);
  floodfill(x,y,15);

  rectangle(x+2,y+2,x+width,y+height);
  setfillstyle(1,white);
  floodfill(x,y,white);

  rectangle(x,y,x+width,y+height);
  setfillstyle(1,2);
  floodfill(x,y,2);

  outtextxy(x-width,y+height,t);
end;
2:begin
 moveto(x+(width div 2)-1,y-1);
 lineto(x-1+width,y-1+height div 2);
 lineto(x-1+(width div 2),y-1+height);
 lineto(x-1,y-1+height div 2);
 lineto(x-1+width div 2,y-1);

  setfillstyle(1,15);
  floodfill(x+(width div 2),y+2,15);

 moveto(x+(width div 2),y);
 lineto(x+2+width,y+2+height div 2);
 lineto(x+2+(width div 2),y+2+height);
 lineto(x+2,y+2+height div 2);
 lineto(x+2+width div 2,y)+2;

  setfillstyle(1,0);
  floodfill(x+(width div 2),y,0);

 moveto(x+(width div 2),y);
 lineto(x+width,y+height div 2);
 lineto(x+(width div 2),y+height);
 lineto(x,y+height div 2);
 lineto(x+width div 2,y);

  setfillstyle(1,2);
  floodfill(x+(width div 2),y+2,2);

  outtextxy(x-width,y+height,t);

end;
end;

end;
procedure pan_dop;
var
   text1,text2,text3:string;
begin
     setcolor(6);
     rectangle(220,140,420,340);
     setfillstyle(1,15);
     floodfill(300,200,6);
     text1:='develop_program';
     text2:='using_object programming';
     outtextxy(235,345,text1);
     outtextxy(235,465,text2);
end;

var k:array[1..4] of knopka;  
p,z:panel;     gd,gm:integer;
begin
 tip:=2;{2 если ромбиком 1 если прямоугольником}
 x:=20;y:=20;width:=100;height:=40;
 gd:=detect;
 initgraph(gd,gm,'d:\bp\bgi');
setbkcolor(4);cleardevice;
k[1].t:='laba';k[2].t:='obemn';
k[3].t:='svernyt';k[4].t:='ishodn';
p.init(150,20,300,60,5);p.draw;
for i:=1 to 4 do k[i].init(i*80+100,50,20);
k[1].activ:=true;m:=1;
repeat
for i:=1 to 4 do
   begin
   if m=i then k[i].activ:=true else k[i].activ:=false;
   if k[i].activ then k[i].s:=5 else k[i].s:=1;
   k[i].draw_up;
   end;
   c:=readkey;
   case c of
    #77:if m=4 then m:=1 else m:=m+1;
    #75:if m=1 then m:=4 else m:=m-1;
    #13:case m of
1:begin
          k[m].draw_down;delay(60000);
          cleardevice;
          p.init(100,10,440,50,5);
          p.draw;
          pan_dop;
          for i:=1 to 4 do
          k[i].init(i*110+40,20,20,30,7,4);
          end; 
3:begin
        k[m].draw_down;
        delay(60000);
          cleardevice;
          p.init(50,10,540,200,5);
          p.draw;
          for i:=1 to 4 do
          [i].init(i*110+40,80,30,50,7,4);
          end;
4:begin
          k[m].draw_down;delay(5000);
          cleardevice;
          p.init(150,20,300,60,5);p.draw;
          for i:=1 to 4 do a[i].init(i*80+100,50,20);
          end;
     end;
   end;
until c=#27;
closegraph;
end.
помогите разобраться!!!
когда всё становится на свои места, выясняется, что это кладбище...
HoOpe вне форума Ответить с цитированием
Старый 13.03.2009, 16:32   #7
HoOpe
Пользователь
 
Аватар для HoOpe
 
Регистрация: 09.03.2009
Сообщений: 52
По умолчанию

как можно увеличить объемность панели??
когда всё становится на свои места, выясняется, что это кладбище...

Последний раз редактировалось HoOpe; 13.03.2009 в 16:36.
HoOpe вне форума Ответить с цитированием
Старый 13.03.2009, 17:06   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм. Надеюсь тут наши мастера помогут тебе, я до понедельника в сети не буду. Ты главное приведи тексты ошибок, на какой строке они возникают, и всетки почитай литературку по обьектам, посмотри примеры.

Если не горит задача в понедельник постараюсь помочь...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.03.2009, 18:16   #9
HoOpe
Пользователь
 
Аватар для HoOpe
 
Регистрация: 09.03.2009
Сообщений: 52
По умолчанию

лабу сдавать во вторник - крайний срок...

а вот мой код , на который компилятор не орет:
Код:
uses crt,graph;
type
knopka=object
 x,y,width,height:integer;
 t:string[15];
 activ:boolean;
 tip:byte;
 procedure draw_up;
 procedure draw_down;
 procedure pdraw_up;
 procedure pdraw_down;

 procedure init(x1,y1:integer);
end;
panel=object
xp,yp,wp,hp:integer;czp:integer;
procedure draw;procedure init(x,y,w,h:integer;colp:integer);
end;
procedure panel.init;
begin
xp:=x;yp:=y;
wp:=w;hp:=h;
end;
procedure panel.draw;
begin
setcolor(15);rectangle(xp-1,yp-1,xp-1+wp,yp-1+hp);
setfillstyle(1,15);
floodfill(xp+5,yp+5,15);
setcolor(darkgray);rectangle(xp+2,yp+2,xp+2+wp,yp+2+hp);
setfillstyle(1,darkgray);
floodfill(xp+5,yp+5,darkgray);
setcolor(czp);rectangle(xp,yp,xp+wp,yp+hp);
setfillstyle(1,czp);
floodfill(xp+5,yp+5,czp);
end;

procedure knopka.init;
begin
x:=x1;y:=y1;
end;

procedure knopka.pdraw_down;
begin
  rectangle(x-1,y-1,x+width,y+height);
  setfillstyle(1,black);
  floodfill(x+1,y+1,black);

  rectangle(x+1,y+1,x+width,y+height);
  setfillstyle(1,white);
  floodfill(x+1,y+1,white);

  rectangle(x,y,x+width,y+height);
  setfillstyle(1,lightgray);
  floodfill(x+1,y+1,lightgray);

  outtextxy(x-width,y+height,t);
end;
procedure knopka.draw_down;
begin
 moveto(x+(width div 2)-1,y-1);
 lineto(x-1+width,y-1+height div 2);
 lineto(x-1+(width div 2),y-1+height);
 lineto(x-1,y-1+height div 2);
 lineto(x-1+width div 2,y-1);

  setfillstyle(1,black);
  floodfill(x+(width div 2),y+2,white);

 moveto(x+(width div 2)+1,y+1);
 lineto(x+1+width,y+1+height div 2);
 lineto(x+1+(width div 2),y+1+height);
 lineto(x+1,y+1+height div 2);
 lineto(x+1+width div 2,y+1);

  setfillstyle(1,white);
  floodfill(x+(width div 2),y+2,white);

 moveto(x+(width div 2),y);
 lineto(x+width,y+height div 2);
 lineto(x+(width div 2),y+height);
 lineto(x,y+height div 2);
 lineto(x+width div 2,y);

  setfillstyle(1,lightgray);
  floodfill(x+(width div 2),y+2,white);

  outtextxy(x-width,y+height,t);
end;

procedure knopka.pdraw_up;
begin
  rectangle(x-1,y-1,x+width,y+height);
  setfillstyle(1,15);
  floodfill(x,y,15);

  rectangle(x+2,y+2,x+width,y+height);
  setfillstyle(1,white);
  floodfill(x,y,white);

  rectangle(x,y,x+width,y+height);
  setfillstyle(1,2);
  floodfill(x,y,2);

  outtextxy(x-width,y+height,t);
end;
procedure knopka.draw_up;
begin
 moveto(x+(width div 2)-1,y-1);
 lineto(x-1+width,y-1+height div 2);
 lineto(x-1+(width div 2),y-1+height);
 lineto(x-1,y-1+height div 2);
 lineto(x-1+width div 2,y-1);

  setfillstyle(1,15);
  floodfill(x+(width div 2),y+2,15);

 moveto(x+(width div 2),y);
 lineto(x+2+width,y+2+height div 2);
 lineto(x+2+(width div 2),y+2+height);
 lineto(x+2,y+2+height div 2);
 lineto(x+2+width div 2,y+2);

  setfillstyle(1,0);
  floodfill(x+(width div 2),y,0);

 moveto(x+(width div 2),y);
 lineto(x+width,y+height div 2);
 lineto(x+(width div 2),y+height);
 lineto(x,y+height div 2);
 lineto(x+width div 2,y);

  setfillstyle(1,2);
  floodfill(x+(width div 2),y+2,2);

  outtextxy(x-width,y+height,t);
end;

procedure pan_dop;
var
   text1,text2:string;
begin
     setcolor(6);
     rectangle(220,140,420,340);
     setfillstyle(1,15);
     floodfill(300,200,6);
     text1:='develop_program';
     text2:='using_object programming';
     outtextxy(235,345,text1);
     outtextxy(235,465,text2);
end;

var
 k:array[1..4] of knopka;  s:string;
p,z:panel; c:char;  m, i, gd,gm:integer;
begin


 gd:=detect;
 initgraph(gd,gm,'d:\bp\bgi');
setbkcolor(4);cleardevice;
k[1].t:='laba';k[2].t:='obemn';
k[3].t:='svernyt';k[4].t:='ishodn';
p.init(150,20,300,60,5);p.draw;
for i:=1 to 4 do k[i].init(i*80+100,50);
k[1].activ:=true;m:=1;
repeat
for i:=1 to 4 do
   begin
   if m=i then k[i].activ:=true else k[i].activ:=false;

   k[i].draw_up; if (i mod 2)=0 then
           k[i].draw_up
        else
            k[i].pdraw_up;

   end;
   c:=readkey;
   case c of
    #77:if m=4 then m:=1 else m:=m+1;
    #75:if m=1 then m:=4 else m:=m-1;
    #13:case m of
1:begin
          k[m].draw_down;delay(60000);
          cleardevice;
          p.init(100,10,440,50,5);
          p.draw;
          pan_dop;
          for i:=1 to 4 do
          k[i].init(i*110+40,20);
          end;
3:begin
        k[m].draw_down;
        delay(60000);
          cleardevice;
          p.init(50,10,540,200,5);
          p.draw;
          for i:=1 to 4 do
          k[i].init(i*110+40,80);
          end;
4:begin
          k[m].draw_down;delay(5000);
          cleardevice;
          p.init(150,20,300,60,5);p.draw;
          for i:=1 to 4 do k[i].init(i*80+100,50);
          end;
     end;
   end;
until c=#27;
closegraph;
end.
но почему-то странно мигает зелено-белым и пишит "ishodn" )))

Что с этим еще можно сделать??
когда всё становится на свои места, выясняется, что это кладбище...
HoOpe вне форума Ответить с цитированием
Старый 14.03.2009, 01:59   #10
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Как говорится, проще наваять своего уродца, чем разобраться в том, что есть.



OOP.PAS

Цитата:
Сообщение от HoOpe Посмотреть сообщение
паскаль, ООП, только без динамических штучек
Не очень понятно, как это
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/

Последний раз редактировалось Stilet; 16.03.2009 в 08:42.
OCTAGRAM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
4 задачи паскаль ООП. Срок вторник днем по москве thebestneo Фриланс 2 21.12.2010 13:03
Паскаль графика BuTeK1 Паскаль, Turbo Pascal, PascalABC.NET 0 08.01.2009 11:01
2 задачки по ООП Паскаль. по цене договоримся thebestneo Фриланс 1 21.12.2008 19:32