forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   HELP (http://forum.boolean.name/showthread.php?t=11348)

Sand 05.12.2009 15:42

HELP
 
НАЙДИТЕ ОШЫБКУ


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_KEY8) 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.

Sand 05.12.2009 16:19

Ответ: HELP
 
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.

ViNT 05.12.2009 16:24

Ответ: HELP
 
В чем проявляется ошибка?
Искать неизвестно что и неизвестно где в таком большом коде никто не станет.

Sand 05.12.2009 16:27

Ответ: HELP
 
Я отметил в предыдущем коде
там отмечино <---------

Sand 05.12.2009 16:31

Ответ: HELP
 
MP пишет убрать какие то скобки

ViNT 05.12.2009 17:32

Ответ: HELP
 
game.init не требует параметров.
Нужно написать просто game.init;

Sand 06.12.2009 14:06

Ответ: HELP
 
хм теперь mp класс создать неможет:(

ViNT 06.12.2009 23:33

Ответ: HELP
 
Цитата:

Сообщение от Sand (Сообщение 128568)
хм теперь mp класс создать неможет:(

Что значит "класс создать неможет"?

DIMMON4IK 08.12.2009 19:18

Ответ: HELP
 
поищи лишнюю { или } :dontknow:


Часовой пояс GMT +4, время: 13:40.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot