НАЙДИТЕ ОШЫБКУ
program kosmonawt;
uses sprite,game;
var
menuimage,awtorsimage:image; {обьявляем картинки меню}
kursorsprite:integer; {обьявляем спрайт курсора}
kosmonawtsprite:integer; {обьявляем спрайт космонавта}
kometasprite,kometasprite1:integer; {обьявляем спрайт кометы}
pticasprite:integer; {обьявляем спрат птицы}
kartaimage:image; {обьявляем картинку карты}
y:integer; {обьявляем координаты карты}
procedure cls; {процедура очистки экрана}
begin
setColor(255,255,255);
fillRect(0,0,500,500);
repaint;
end;
procedure drawawtors; {процедура вывода экрна с авторами}
begin
sprite.remove(kursorsprite);
cls;
drawImage(awtorsimage,0,0);
game.refresh;
delay(300);
repeat
delay(300);
until (getKeyPressed=KE_KEY5);
delay(300);
sprite.append(kursorsprite);
end;
procedure gameover; {процедура геймовера}
begin
sprite.remove(kosmonawtsprite);
sprite.remove(kometasprite);
sprite.remove(kometasprite1);
sprite.remove(pticasprite);
cls;
drawImage(loadImage('/gameover.png'),0,0);
game.refresh;
delay(2000);
end;
procedure victory; {процедура победы}
begin
sprite.remove(kosmonawtsprite);
sprite.remove(kometasprite);
sprite.remove(kometasprite1);
sprite.remove(pticasprite);
cls;
drawImage(loadImage('/victory.png'),0,0);
game.refresh;
delay(2000);
end;
procedure gamerun; {процедура игры}
begin
sprite.remove(kursorsprite);
cls;
y:=0;
sprite.set_position(kosmonawtsprite,50,50); {размещаем обьекты уровня}
sprite.set_position(kometasprite,120,y+200);
sprite.set_position(kometasprite1,320,y+600);
sprite.set_position(pticasprite,630,y+1200);
sprite.append(kosmonawtsprite);
sprite.append(kometasprite);
sprite.append(kometasprite1);
sprite.append(pticasprite);
repeat {главный цикл игры}
y:=y-2;
cls;
if (sprite.get_X(kosmonawtsprite)<0) then sprite.move(kosmonawtsprite,1,0); {проверка границ}
if (sprite.get_X(kosmonawtsprite)>110) then sprite.move(kosmonawtsprite,-1,0);
drawImage(kartaimage,0,y);
game.refresh;
delay(50);
if (getKeyPressed=KE_KEY4) then sprite.move(kosmonawtsprite,-1,0);
if (getKeyPressed=KE_KEY6) then sprite.move(kosmonawtsprite,1,0);
sprite.move(kometasprite,-1,-2); {позиционирование комет и птиц относительно карты}
sprite.move(kometasprite1,-1,-2);
sprite.move(pticasprite,-1,-2);
if (sprite.collides_with(kosmonawtsprite,kometasprite ,0)=1) then begin {столкновение спрайтов}
gameover;
break;
end;
if (sprite.collides_with(kosmonawtsprite,kometasprite 1,0)=1) then begin
gameover;
break;
end;
if (sprite.collides_with(kosmonawtsprite,pticasprite, 0)=1) then begin
gameover;
break;
end;
if (y<-1900) then begin
victory;
break;
end;
until (y<-1900);
sprite.remove(kosmonawtsprite);
sprite.remove(kometasprite);
sprite.remove(kometasprite1);
sprite.remove(pticasprite);
end;
begin
cls;
drawImage(loadImage('/zastawka.png'),0,0); {заставка команды}
repaint;
delay(2000);
cls;
game.init(0); {создаем обьекты для игры}
sprite.init(10);
game.show;
menuimage:=loadImage('/menu.png'); {для меню}
awtorsimage:=loadImage('/awtors.png');
kursorsprite:=sprite.create('/kursor.png');
kosmonawtsprite:=sprite.create('/kosmonawt.png'); {для уровня}
kometasprite:=sprite.create('/kometa.png');
kometasprite1:=sprite.create('/kometa.png');
pticasprite:=sprite.create('/ptica.png');
kartaimage:=loadImage('/karta.png');
sprite.set_position(kursorsprite,2,55); {располагаем обьекты для меню}
sprite.append(kursorsprite);
if not openPlayer('/v.mid', 'audio/midi') then halt;
if not setPlayerCount(-1) then halt;
if not startPlayer then halt;
repeat
drawImage(menuimage,0,0); {рисуем главное меню}
sprite.paint(kursorsprite);
game.refresh;
delay(40);
cls;
if (getKeyPressed=KE_KEY2) then begin {проверяем нажатие вверх-вниз}
sprite.move(kursorsprite,0,-30);
delay(100);
end;
if (getKeyPressed=KE_KEY
then begin
sprite.move(kursorsprite,0,30);
delay(100);
end;
if (getKeyPressed=KE_KEY5) and (sprite.get_Y(kursorsprite)=55) then gamerun; {проверяем нажатия по пунктам}
if (getKeyPressed=KE_KEY5) and (sprite.get_Y(kursorsprite)=85) then drawawtors;
if (getKeyPressed=KE_KEY5) and (sprite.get_Y(kursorsprite)=115) then halt;
if (sprite.get_Y(kursorsprite)<55) then sprite.set_position(kursorsprite,sprite.get_X(kurs orsprite),55); {охранник курсора}
if (sprite.get_Y(kursorsprite)>115) then sprite.set_position(kursorsprite,sprite.get_X(kurs orsprite),115);
until (getKeyPressed=KE_KEY5) and (sprite.get_Y(kursorsprite)=55);
end.