sssnaaake- problemu

 
Napisz nowy temat   Odpowiedz do tematu    Forum Wszystko o Turbo Pascalu Strona Główna -> Problemy
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
jolajolanta
Nowy



Dołączył: 10 Gru 2012
Posty: 1
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Pon 10:13, 10 Gru 2012    Temat postu: sssnaaake- problemu

Witam, mam problemy ze zrobieniem snake. otóż, mam zrobioną tablice, rozrzucone jedzonko, samego węża, który zjada to jedzenie. musze do programu dodać menu, poziomy trudnośći, punky bonusowe i plansze. nie wiem jak się za to zabrac. pomocy!

Oto mój program:
uses wincrt,graph;
var a,b:smallint;
dw,wazx,wazy,i,ilex,iley,jedzonko_x,jedzonko_y:integer;
c:char;
jedzonko:array[1..30,1..2]of integer;
waz:array[1..31,1..2]of integer;

//informacje
begin
detectgraph(a,b);
initgraph(a,b,'');
setbkcolor(WHITE);
cleardevice();
ilex:=getmaxx div 20;
iley:=getmaxy div 20;
setfillstyle(1,1);
//górna i dolna ścianka
for i:=0 to ilex do begin
bar(20*i,40,20*i+20,60);
bar(20*i,(iley-1)*20,20*i+20,iley*20);
end;
//lewa i prawa ścianka
for i:=2 to iley-1 do begin
bar(0,i*20,20,i*20+20);
bar(ilex*20,i*20,ilex*20+20,i*20+20);
end;
//losujemy jedzonko
randomize;
setfillstyle(1,5);
for i:=1 to 30 do begin
jedzonko_x:=random(ilex-2)+1;
jedzonko_y:=random(iley-4)+3;
jedzonko[i][1]:=jedzonko_x;
jedzonko[i][2]:=jedzonko_y;
bar(jedzonko[i][1]*20,jedzonko[i][2]*20,jedzonko[i][1]*20+20,jedzonko[i][2]*20+20);
end;
//rysujemy weza
dw:=1;
wazx:=ilex div 2;
wazy:=iley div 2;
waz[1][1]:=wazx;
waz[1][2]:=wazy;
setfillstyle(1,RED);
repeat
if(keypressed) then c:=readkey;
if (c='w') then wazy:=wazy-1;
if (c='a') then wazx:=wazx-1;
if (c='d') then wazx:=wazx+1;
if (c='s') then wazy:=wazy+1;
//zamazujemy ogon
setfillstyle(1,WHITE);
bar(waz[dw][1]*20,waz[dw][2]*20,waz[dw][1]*20+20,waz[dw][2]*20+20);
//ruch weza w tablicy
for i:=dw downto 2 do begin
waz[i][1]:=waz[i-1][1];
waz[i][2]:=waz[i-1][2];
end;
waz[1][1]:=wazx;
waz[1][2]:=wazy;

//rysowanie weza
setfillstyle(1,RED);
for i:=1 to dw do
bar(waz[i][1]*20,waz[i][2]*20,waz[i][1]*20+20,waz[i][2]*20+20);

//waz je
for i:=1 to 30 do begin
if ((waz[1][1]=jedzonko[i][1])AND(waz[1][2]=jedzonko[i][2])) then begin
dw:=dw+1;
jedzonko[i][1]:=-1;
jedzonko[i][2]:=-1;
end;
end;
//kolizje
if((wazx<1) or (wazx>ilex) or (wazy<3) or (wazy>iley-1)) then c:='x';

delay(100);
until c='x';

closegraph;
end.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
spartanPAGE
Nowy



Dołączył: 19 Lis 2012
Posty: 10
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Sob 21:26, 22 Gru 2012    Temat postu:

Rozrysuj na kartce co dokładnie chcesz osiągnąć. Tak się doznaje objawień ;D

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Wszystko o Turbo Pascalu Strona Główna -> Problemy Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Bluetab template design by FF8Jake of FFD
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin