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

> помогите с курсовой
shortt
сообщение 4.12.2009 4:02
Сообщение #1





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

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


Здраствуйте у меня проблема немогу зделать как что бы когда я стрелял в кубики они исчезали??
как очистку в задоных координатах задать непойму.. или их за экран вынести если поподаю?
помогите плс...
program KURSOVOY;
 Uses crt,Graph;

Var Gd, Gm : Integer;
         P : Pointer; key:char;
      Size : Word; c,k, x,y,x1,y1:integer;


procedure zastavka;
begin
setcolor(black);
line(305,180,215,290);
line(305,180,395,290);
line(215,290,395,290);
  setcolor(yellow);
outtextxy(240,450,'Nazhmite (r)(r) Enter ЇЇ');
outtextxy(270,240,'Star Wars');
end;

procedure avtor;
begin
outtextxy(270,240,'Avtor: Dyadya Roma');
end;
procedure rekordi;
begin
outtextxy(200,200,'1: Dyadya Roma');
outtextxy(200,220,'2: 2132');
outtextxy(200,240,'3: 43434');
end;
procedure igra;
  var
   x,y,w,yw:integer;

   gd,gm:integer;
   j, k,t, x2,y2,x1,y1:integer;
procedure war(x,y:integer);
begin
    moveto(x,y);
    rectangle(x-20,y+50,x+40,y+40);
end;
procedure kubik1(x,y:integer);
begin
    moveto(x,y);
    rectangle(x,y,x+20,y+10);
    if y<500 then y1:=y1+3 else begin y1:=5;
    x1:=random(640);
end;
end;
procedure kubik2(x,y:integer);
begin
    moveto(x,y);
    rectangle(x2,y,x2+20,y+10);
    if y<500 then y2:=y2+3
    else begin y2:=5;
    x2:=random(640);
end;
end;
procedure klavishi; begin
 if keypressed then
    case readkey of
    #13: begin repeat readkey; until readkey=#13;  end;

    #72: begin w:=1 ; end;
    #77: x:=x+80;
    #75: x:=x-80;  {
    #72: y:=y-80;
    #80: y:=y+80; }
end;
end;
procedure wistrel(x:integer;var y:integer);
begin
    rectangle(x,y,x+1,y+2);

end;
begin
    randomize;
    gd:=detect;
    Initgraph(gd,gm,'');
    y:=390;
    x:=300;
    w:=0;
    yw:=390;
    repeat
    cleardevice;
         klavishi;
  wistrel(x,yw);
if (w=1) and (yw>0) then yw:=yw-7 else begin yw:=y; w:=0; end;
    war(x,y);
    kubik1(x1,y1);
if (x2>=x-20) and (x2<=x+40) and (y2>=y) and (y2<=y+100) then
begin
             klavishi;
    repeat
    cleardevice;  outtextxy(280,240,'GAME OVER ');      setcolor(red);
    outtextxy(210,450,'Nazhmite (r)(r) ESC ЇЇ chtobi viyti');
    readkey; until readkey=#27; halt;
end;
    kubik2(x2,y2);

     klavishi;
    if (x1>=x-20) and (x1<=x+40) and (y1>=y) and (y1<=y+100) then
begin
    repeat cleardevice;  outtextxy(280,240,'GAME OVER '); setcolor(red);
    outtextxy(210,450,'Nazhmite (r)(r) ESC ЇЇ chtobi viyti');
    readkey; until readkey=#27; halt;
end;

    delay(3000);

    until (keypressed) and (readkey=#27);
    readln;


   case key of
#77:  x:=345;
#75:  x:=265;
#72: begin

     end;
#80: begin

     end;
#27: halt;
   end;
end;
Begin
 Gd:=Detect;
 InitGraph(Gd, Gm, '');
 If GraphResult <> grOk Then Halt(1);
  SetFillStyle(1,blue);
 Bar(0, 0, GetMaxX, GetMaxY);
 zastavka;
 Size := ImageSize(10, 20, 30, 40);
 GetMem(P, Size);
 GetImage(10, 10, 130, 20, P^);
 ReadLn;
  x:=10;y:=18;
  ClearDevice;
  setfillstyle(1,1);
  setcolor(15);
  bar(10,10,130,140);
  outtextxy(20,20, 'New igra');
  outtextxy(20,40, 'Prodolzhit');
  outtextxy(20,60, 'Vybor igroka ');
  outtextxy(20,80, 'Rekordy      ');
  outtextxy(20,100,'Avtor        ');
  outtextxy(20,120,'Exit');

  {delaem vxod v samu igru}
     if y=18 then
     begin
       PutImage(x, y, P^, XorPut);
	    if readkey=#13 then
		 begin PutImage(x, y, P^, XorPut);igra;
       PutImage(x, y, P^, XorPut);
	  end; PutImage(x, y, P^, XorPut); end;

  PutImage(x, y, P^, xorPut);
repeat
  PutImage(x, y, P^, XorPut);
  if keypressed then key:=readkey;
  case key of
   #72: y:=y-20;
   #80: y:=y+20;
  end;
   if y>118 then y:=18;
   if y<18 then y:=118;

    {delaem vyxod iz igry}
     if y=118 then
	  begin
  PutImage(x, y, P^, xorPut);
       if readkey=#13 then  exit;
       PutImage(x, y, P^, XorPut);
     end;


    {delaem vxod v samu igru}
     if y=18 then
     begin
       PutImage(x, y, P^, XorPut);
	    if readkey=#13 then
		 begin PutImage(x, y, P^, XorPut);igra;
       PutImage(x, y, P^, XorPut);
     end; PutImage(x, y, P^, XorPut); end;
     {avtor}
    if y=98 then
    begin
            PutImage(x, y, P^, XorPut);
	    if readkey=#13 then
		 begin PutImage(x, y, P^, XorPut);cleardevice;avtor;
       PutImage(x, y, P^, XorPut);
	  end; PutImage(x, y, P^, XorPut); end;
    {rekordi}
    if y=78 then
    begin
            PutImage(x, y, P^, XorPut);
	    if readkey=#13 then
		 begin PutImage(x, y, P^, XorPut);cleardevice;rekordi;
       PutImage(x, y, P^, XorPut);
	  end; PutImage(x, y, P^, XorPut); end;

 PutImage(x, y, P^, XorPut);
  until readkey=#27;


 ReadLn;
 CloseGraph;
End.


М
Используй тэги code=pas и /code, а не цитату, пожалуйста



Сообщение отредактировано: Lapp - 4.12.2009 5:18
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 

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