Показать сообщение отдельно
Старый 26.10.2008, 19:33   #10
Cliffe Snake
Нуждающийся
 
Аватар для Cliffe Snake
 
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений
(для 12 пользователей)
Ответ: Помогите доделать игру!MidletPascal.

Сообщение от Mark Castle Посмотреть сообщение

procedure bombarding;
begin
q:=15;
u:=0;

if (q>x) and (q<(x+19)) and (u<43) and (u>38 ) then sledujushcajaprocedura;

end;
Пожалуста разъясните почему оно не пашет,и как сделать,чтоб все работало!
Ты пытаешься вызвать процедуру из самой себя (вроде рекурсией называется)
Вынеси жирную строку из процедуры в игровой цикл.
Выглядеть будет примерно так:
Program Bombardeer;
const 
fieldwidth 70
fieldheight 70;
var 
gameField: array[1..fieldWidth1..fieldHeightof integer
screenWidthscreenHeight integer
screenXscreenY             integer;  
X,Y,key                          :integer;
Q,U,z,O,P,i,H,J,F,G           :integer
pig,fon,bomber,stn,bomb   :image
play,exit                         :command;
//...........
procedure bombarding;
begin
q
:=15;
u:=0;
end;
//.........
begin
stn
:=LoadImage('/stn.png'); 
bomb:=LoadImage('/bomb.png'); 
bomber:=LoadImage('/bomber.png'); 
fon:=Loadimage('/fone.png'); 
pig:=LoadImage('/pig.png');
X:=25Y:=45
F:=0G:=0H:=90J:=4
O:=0P:=15Q:=25U:=5;
repeat //Начало игрового цикла

DrawImage(fon,F,G); 
DrawImage(stn,O,P); 
DrawImage(bomber,H,J); 
DrawImage(pig,X,Y); 
DrawImage(bomb,Q,U); 
SetColor(140,0,140); 
fillrect(0,50,150,90); 
if 
x<0 then x:=0
if 
y<0 then y:=0
if 
x>84 then x:=84;

key:=keyToAction(GetKeyPressed); 
if (
key=GA_RIGHTthen X:=X+3
if (
key=GA_LEFTthen X:=X-3
if (
key=GA_UPthen Y:=Y-0
if (
key=GA_DOWNthen Y:=Y+0
i:=i+1;
if (
i>0) and (i<45then H:=H-2;
if (
i>44) and (i<92then H:=H+2;
if 
i=92 then begin i:=0H:=90end;
if (
q>x) and (q<(x+19)) and (u<43) and (u>38 then bombarding;
repaint;
delay(100);//Лучше использвать именно здесь(т.е. после repaint;)
until (key=KE_KEY0);// выходим из цикла по нажатию "0"
end

Только я не понял, что именно должна делать процедура bombarding.
И вообще если хочешь, чтоб тебе помогли, то
1) либо пиши код программы с пояснениями по каждой строке
2) либо выкладывай исходнег(заархив-ую папку с проектом)

Последний раз редактировалось Cliffe Snake, 26.10.2008 в 19:56.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mark Castle (26.10.2008)