Skocz do zawartości

[pascal] - Snake w konsloli tekstowej


Bula i spula

Polecane posty

Witam!!

Na początek może kod (przez ostatnie dwie godziny pracowałem nad czytelnością, jasnoscią itp, bo wcześniej był chaos):

(daję składnię od delphi)
[code=Delphi]
uses crt,dos;

var
nacisnieto:boolean;
BYX^N[YBK\"7&ś63Ś'FSśĆv7Łv&CśW'VćVłŚ64(ąąltlte;
label zanikanie;

procedure poruszanie(a:char)BY[BBYOI [BY[BśW'VćVłŁvs4(4(ŃĄ4( begin
kierunek:='p';
^
NB[BYvrrFV&VvŹ4(4( end;
if a='d' then
begin
Y[ZI BNłVćCŚVćCŚgVć7F'66łv&C)4(ѹѥ4(Ń4)4( temp:=readkey;
if temp=chr(0) then temp2:=reY^NB[[
[JMBY
[LNL\"FV3Ós\"\"FV3Ó#C\"FV3ÓC3\"\"F4(ŃĄŹŃŃźŃ; end;
end;

begin
for x:=0 to 80 do [YCBNLHB& amp;Vvw77Fś6ąmąt4(
Ąmąt //tablic
end;

ktory:=0; [YHZY[ZBBM 7ŚFśv6ŚŁÓ#ź
ź4(4(c:=50; //aby potem latwo dodac ustawieniHXHY[CBX^L7ĆćFVv62vWŚ
śĆv7ŁŁÓźą4(ą

repeat

if keypressed then klaXHY]HZ]]ZBbśĆv7ŁÓs\"FVbśW'VćVfCfwCvŃĄźąŃąŃąŃlka, to jesli kierunek jest inny niz prawo, to zmien na lewoBY]LNL[YY[ZrFV'W7ŚćRvrF6ćśW'V朹ѥŹąŃĄoruszanie('d'); //to samo z innymi kierunkami
Y]LN
[YY[Z [[RvrrF6ćśW'VćśbśŃĄŹźźli nacisniety esc, to koniec gry

gotoxy(xJNZYH^Z[ZXCBw&FRr2rć7rFV6Ś\"5 ŃźŃŃĄ4(
ktory:=ktory+1; // poruszeniH^HZHBYv62fCśFVFVv63ŁFVv
62łŚW6ĆŚVććFVv62ąąąŃźź
end;

if dlugosc=X^[HY6vćVĆF&7ŚćW7WvćR&ść6vWŚ 4(:=0 to 80 do //wyszukiwanie
LLHb'V6\"%ÓÓFVźź4(n //najdawniejszego
JLNBw&FRrrźź4( goto zanikanie; //kroku
[ BBVćCŚćśćS
Ńźź4(o 25 do
begin
XLNXLKLNBF'ŁF'Ó4(4(ąĄc);

if kierunek='l' then if plansza[x-1,yOLH[XZBYY[ZI [Y[7ŚłÓÓFV'&VłbśW'VćVłvrrFąmątŃĄŹ4(k='d' then if plansza[x,y+1]=1 then break;

NZJNB[VWNLNB'V6ÓŁF'VFÓ\"ÓĄĄ4(4(Ń4)4
[/code]

Jak widać prosty snake bez przenikania ścian i bez jedzenia. No i jest problem: nie usuwa mu się końcówka, tylko jakieś tam inne znaki. A objaśnię jak to zanikanie chciałem zrobić:

-tworzymy tablicę ruch o tej samej ilości wierszy i kolumn, co plansza
-tworzymy zmienną ktore, która mówi nam, który jest to "krok" węża
-do odpowiedniej komórki tablicy ruch podajemy, który to jest ruch
-zmienna ilosc mówi nam, ile punkcików zawiera w danym momencie wąż
-w zmiennej max ustawiamy maksymalną długość
-jeśli ta zostanie osiągnięta (ilosc=max) to szukamy pierwszego ruchu w tablicy ruch
-i usuwamy w odpowiadającej pozycji na ekranie znaczek "#"

Dpiero gdy to pisałem, to wpadłem na to, że sposób zawiódłby, gdyby się dwa razy przejechało po tym samym polu, ale to i tak nie działa. Po uruchomieniu gry usuwane są jakieś losowe punkty co jakiś czas. I wiem, że jak się idze np. w lewo i naciśnie strzałkę w prawo, to wąż pauzuje się, ale wcześniej było dobrze i widocznie przy tym porządkowaniu coś zepsułem.

Proszę o pomoc z tym zanikaniem końca węża, bo nad tym samym problemem siedzę już od wczoraj. Ten sposób wydaję się strzasznie skomplikowany. Może byłby inny?

I teraz wpadłem na jeszcze inny pomysł: utworzyć tablicę trójwymiarowoą plansza:array[1..80] of array[1..25] of array[1..1] of byte i tam przechowywać w tym "trzecim wymiarze" który to jest ruch. Tylko w tym też dość łatwo jest się zaplątać...

Pozdrawiam
Bula i spula [/code]
Link do komentarza
Udostępnij na innych stronach

================
tutaj są odpowiedzi innych użytkowników, prawda?







































































=======================================

Nie no, nie odpowiadajcie tyle, bo się pogubię!

A tak na poważne, to doszedłem do czegoś takiego:
[code=Delphi] uses crt,dos;

var
nacisnieto:boolean;
dYX^N[YBKLX]NBśĆv7Łv&CśW'VćVłŚ6#Ć7ltltltŃ4( label zanikanie;

procedure poruszanie(a:char);
begin
BY
OI ĘH[BY[BśW'VćVłŁvsŁÓ4(4(4(4(ĄŃĄ4( begin
kierunek:='p';
^
NB[BBbvrrFV&VvŹ4(4( end;

if (a='d') then
beginBY[ZI BŁłVćCŚVćCŚgVć7F'6Ź4)4(ѹѥ4(Ń
begin
temp:=readkey;
if temp=chr(0) then [XY^NB[[
[JMBY
FV3Ó#\"FV3Ós\"\"FV3Ó#C\"FV3ÓCĄŃ4(ŃĄŹŃeto:=true; end;
end;

begin
for x:=1 to 80 do [YCBNLHHB& amp;Vvw77Fś6ąmąt4(
ąza[x,y,2]:=0; //tablic
end;

ktNLN[YHZY[ZBBŁÓC
7ŚFśv6Śźź4(4( szybkosc:=50; //aby potem latwo dX]Y[YHXHY[CBX^LL7ĆćFVv62vW
ŚśĆv7ŁŁźą4 kierunek:=' ';
clrscr;
gotoxy(x,y)BBX]B[VKNZNBbśW&W76VBFVśĆv7ŁŁ'66łąŃąŃźźŃ4(4(nacisnieto=true then
begin

Y]LNML[[YJ ĘNH[HX6ćWFĆWv7G'ŚĆśFŚW6ĆśW'VćVŚW7Bćć&vŃźąź4(ąŃĄszanie('l'); //to samo z innymi kierunkami
Y]L
[[YJ ĘN[[[[ZHY'VćśbśĆv7ŁÓC3\"FV'W7ŚćRvrźŃźź4(ą27 then break; //jesli nacisniety esc, to koniec gry

[VKWNLNBBBbF'fCśFVF'ŁF'łŃŃĄ4(in
for x2:=1 B#ŁÓF#RF
ąmątŃĄ4( begin
BĆ7Ś\"\& quot;ÓŁÓąmąt4(
ktory:=ktory-1;
& nbsp;[Z[YNBVćC
4(4(4(4( for x2:=1 to 80 do
for LLHHBY[V\"% ÓÓFVV6PĆ7Śątąmąt4(4(4(
o 80 do
for y2:=1 to 25 do
Y[VLWOLH[BYvF\"\"Ńą4(4(4( delay(szybkosc);

if (kierunek='l') [
[VLKKWOLJH[XZBY
Y'VćVłwrćBĆ7ŚłÓÓFV'&VłĄŹĄąmątŃĄŹ4( if (kierunek='d') and (plansza[x,y+1,1]=1) th[XZBB[BB[[
NJHÓ\"Ó#b\"Ó6'67#&WVBŃ4)4 [/code]

Ale dalej nie mogę nic wymyśleć, bo już wszystko wydaje się być prawidłowo i jasno...

p.
Link do komentarza
Udostępnij na innych stronach

Hmm ja to zrobilem u siebie tak, ze mialem tablice dynamiczna, kazdy elemnt to byla czesc weza, pierwszy element to glowa, potem kolejne czesci i koniec. Teraz robisz tak: lecisz od konca tej tablicy i dajesz ostatniem elementowi wspolrzedne poprzedniego i tak do pierwszego elementu. Jak dojedziesz do pierwszego, to zmienieasz wspolrzedna na np. y - 1 (zalezy, w ktora strone ma isc waz).

Tutaj, na dole, masz kod mojej gry "WonSz": http://www.unit1.pl/145,0,kody.html
Link do komentarza
Udostępnij na innych stronach

Dzięki, ale jak uruchamiam plik dpr delphim 7, to mi wyskakuje, że nie ma tflatpanel, a jak ignoruję i chcę skompilować, to ze 20 błędów wyskakuje i jak naciskam, żeby coś tam usunęło, to na koniec w ogóle się nie uruchamia... Jak temu zaradzić? Może byś podesłał gotowy plik .exe?

pzdr.

/edit1/ łojejku. ja tego kodu wcale nie kapuję! ja nawet nie wiem, co to jest to omega! (sterowniki ati smile.gif).

Link do komentarza
Udostępnij na innych stronach

Aaaaa. Już kapuję, co napisałeś w poście. To powiedzmy, że robię coś takiego.

[code=Delphi] vć(6ŹŚśejxĘo+ZŚ4)Ńźź4)4)ŃĄĆmtĆmt4 [/code]

Czy zadziałało by? Za wszelkie odpowiedzi będę niezmiernie wdzięczny.

Pzdr./BiS

/edit1/ trochę poprawiłem kod, bo wcześniej, to raczej było źle
/edit2/ i jak wąż coś zje, to wtedy powiększamy zmienną 'zmienna' i ustawiamy ponownie rozmiar tablicy, tak?
Link do komentarza
Udostępnij na innych stronach

Hmm troche inaczej myslalem, ale juz zalapales (kod bedzie z glowy, pewnie cos zle bedzie ;-) ):

[code=Delphi] type
element_weza = record
posX , posY : Integer ;
[BBB^^H[[Y[^H^
ui'SetLength(waz , 3) ; // waz sklada sie z glowy, jednej czescH[XHH- zhłr3huł7^bpu6WDĆVćwFvĆVćwFvvvv5Łum!Ąt
`4)m!Ątdm!Ą - 1].posY ;ózjxui'for i := High(waz) downto 1 do
begin
waz[i].posX := waz[HHWKB^WKHH^HHWKHB[BBbśW' VćVvWŚĆWvFVvł5Łvł5Śą}źŃĄlt`
lt`+ 1
else if kierunek_weza = gora then waz[0].posY := waz[0]HHCB[HYY[Z^HH[^KHHł5 [/code]
Link do komentarza
Udostępnij na innych stronach

Sorka teraz będzie offtop.
Buła na przyszłość nazywaj zmienne jakoś czytelnie a nie "zmienna" albo "temp, temp2,temp3" "ktory" i w komentarzach dawaj jaka wartość zmienna przechowuje tj. np długość {długość węża} bo to pomaga innym pomagać tobie.

//prosze nie banujcie mnie za to poważne wykroczenie smile.gif
// hę? - Iskar

"Może wam pomoge, może nie, może pierdolcie w dupę się"-prof. Jarząbek

Link do komentarza
Udostępnij na innych stronach

To ja sobie teraz poszukam, co to jest [code=Delphi] type'hs77kb_znXmśśŚę
i/ŃyĘ+v6o)-Ąź/_v+v^vV(ŚźŚź+Łzpk6źKh-Ś3k8ózjx'Ł;Śży!ś33jei^bpvf\"ŁvvFFy05hŚz{^ł<ŹśHzWŚz{rŚŚ'ózi-z
'ji(jŚ'ś<KŹŹ\"jljJ?6'ŹręhŹjxs7(ui'uses crt;

type
element_weza=record
X,Y:integer;
[BBB^^H[[Y[^NBN]NBB6VGW&R6ĆVł&Vv6WFĆVćwFvĆVćwFvł(mĄĄt`mĄĄt`4(mĄĄ].Y:=waz[high(waz)-1].Y;
end;

begin
clrscr;
setl[
^ĘNB^KLB^KNLLB^KÓ3vł%ŁÓvłŁÓCw7&FśvćRvWŚŃ4(ltd4(4(ĄĄŃź
begin
gotoxy(waz[i].X,waz[i].Y);
write('ĘNB[BBX][[^YB[ [/code]

Na ekreanie mi wyświetla coś takiego:
KOD#

#
i koniec...

/edit5:)/Już działa smile.gifsmile.gifsmile.gif Mój błąd. Teraz nad tym trochę posiedzę i napiszę rezultaty. (nad przesuwaniem)

// pisałem z głowy, dlatego był błąd z tym "to", oczywiście miało być "downto" ;-) - Iskar

Link do komentarza
Udostępnij na innych stronach

OK. Mam coś takigeo:
[code=Delphi] uses crt;

type
element_weza=record
X,Y:integer;
[BBB^^H[[Y[^NBN]NBY'VćVĆ3Ć3#Ś6#śĆv7Łv&CVSŚ'&ł5b7G4(Ń4(4)ąŹ4(4(ŃąŃ(waz, length(waz)+1);
waz[high(waz)].X:=waz[high(waz)-1KB^Y
^WKN]^Y
^KLWKNB[BBć7F'66łv&Cf FVFV#Ś6#FV4(4(Ń4(ŃĄŃĄ
begin
temp2:=readkey;
temp3:=ord(teJMB[BY
[LNL
H
[LNMLH\"FV3Ó#C\"FV3ÓC3\"\"FV3Ó#rFV'66Ń4(4(4(4)4)4(ą4(length(waz, 3);
waz[2].X:=38;
waz[2].Y:=12;
waz[1].LNB^WKNLLB^KM[YH^ć7ŚFPvłŁÓ#&WV@6'67#ĄĄŃźź4(4(mt=waz[i-1].x;
waz[i].y:=waz[i-1].y;
end;

Y^Y[]XBBY]LNs\"FVśW'VćVłŁwsŚW6ĆŚ7FĆć66ćWFĆWv7G'ŚąŃźąŹźŃźąź
if klawisz=19200 then kierunek:='l'; //to samo z innymiY[[ZCBY]L
[Y[ZI ćśW'VćśbśĆv7ŁÓC3\"FVśW'VćVłŁźŃźź4(ąŃĄak;

if kierunek='l' then waz[0].x:=waz[0].x-1;
iY[ZI [^K]^K
NBYY[ZIrFVvłŁvłÓbśW'VćVłvBrFVvłltŹ4(4(ltŃĄlt4(if waz[0].x=81 then waz[0].x:=1;
if waz[0].y=26 then waKNLNBY^KOL[^KNLNBBŁvvFvFF&VvvFvśąmtd4(Ń4(ą4(nd;
until klawisz=27;
end;

begin
menu[1]:=' Nowa H BY[VNIH BY[VNIYXs6'67#FWF6Ć\"Rf\"ŁÓF2F&Vv4(ŃŃą4(ŃŃ4(Ńxy(32,11+y);
write(menu[y]);
end;
y:=1;
reX]B^
NB^X[
MJNBJ3\"w&FRVU3Ł&VFśW3#Łr4(ĄŃĄ4(ŃŃą4( textbackground(0);
gotoxy(32,11+y);
write(menu[yJNBYI [XĘJNBYI [[ĘJNBbÓFVŁÓ3bÓBFVŁÓb36\"ŃĄ4(ŃĄĄĄĄ4(1 then gra;
end. [/code]

tylko powiedzcie mi, jak zrobić, żeby to nie chodziło tak, że tworzy pierwszy, drugi, trzeci element (od końca), następnie usuwa pierwszy i trzeci i ten środkowy uważa za koniec kolejnego ruchu. I mam nawet przenikanie przez ściany :E.

dziękuję za pomoc
pzdr
bis
Link do komentarza
Udostępnij na innych stronach

To może skompiluj... Albo podaj maila, to Ci wyślę skompilowane, bo mam teraz konto tylko na 50webs.com - największy plik to kilka kilo, bo na funpic.de zapomniałen hasła wink.gif.

I daj nowa gra i zobaczysz jak się zachowuje wąż...
Daję najaktualniejszy kod: [code=Delphi] uses crt;

type
element_weza=record
X,Y:integer;
[BBB^^H[[Y[^NBK]NBW'VćVĆ3Ć3#Ś6#śĆv7VćGv&CVSŚ'&łtŃ4(Ń4(4)ąŹ4(4(setlength(waz, length(waz)+1);
waz[high(waz)].X:=waz[hi
^KLWKB^Y
^WKN]^Y
^KLWKNBćCŚgVć7F'66łv&Cf FVFV#Ś6#Ń4(4(Ń4(ŃĄ(0) then
begin
temp2:=readkey;
temp[
[JMB[BY
[LNL
H
[3Ós\"\"FV3Ó#C\"FV3ÓC3\"\"FV3Ó#rFVŹŃ4(4(4(4)4)4(ąr;
setlength(waz, 5);
waz[2].X:=38;
waz[2].Y:=12;
^WKLNB^WKNLLB^KMćRvWŚć7ŚFPvłŁÓ#&WV@f\"ĄĄŃźź4(4(mtm-1].x;
waz[i].y:=waz[i-1].y;
end;

if ^Y[]XBBY]LNMLVśW'VćVłŁwsŚW6ĆŚ7FĆć66ćWFĆWv7G'ŚĆśźąŹźŃźąź4(f klawisz=19200 then kierunek:='l'; //to samo z innymi kieru[ZCBY]L
[Y[ZI [[ćśW'VćśbśĆv7ŁÓC3\"FVśW'VćVłŁvrsŃźź4(ąŃĄŹ4(
if kierunek='l' then waz[0].x:=waz[0].x-1;
if kier[ZI [^K]^K
NBYY[ZI[vłŁvłÓbśW'VćVłvBrFVvłŁvltŹ4(4(ltŃĄlt4([0].x=81 then waz[0].x:=1;
if waz[0].y=25 then waz[0].yLNBY^KOL[^KNLBB^FWF&6św&VćBR6'67#vFc\"#R(Ń%ąŃąŃ4(ĄĄownto 0 do
begin
textbackground(0);
^MJNBJ^WK^WKJNBw&FRr2rvFFVĆ#R4(Ńą4)4(4)4(lt9gra ';
menu[2]:=' Opcje ';
menu[3]:=' Wyjscie BB^MJNBNLHBYFWF6Ć\"RFWF&6św&VćBv4(ŃĄmt4(4(4(peat
textcolor(0);
textbackground(15);
gotoxyLJJNB]JY[VWJNBNXY^NBIsb36\"FV3#Ł&VFśWFWF6Ć\"RŃŃ4(Ń4(ŃĄm]);
if c2='H' then dec(y);
if c2='P' then inc(y);
YOL[NLBYOM[NLNBYOX#rFVŁÓ3VF36\"#r\"36\"2bŃĄ4) [/code]

/edit1/i powiększ wartość delay (pętelka for od wyświetlania znaków) do 500, to zobaczysz jak to dokładnie wygląda, bo ja nie potrafię tego za bardzo wytłuamczyć.

pzdr.

Link do komentarza
Udostępnij na innych stronach

Może i spróbuję, ale [b]narazie zmieniłem kolejność w pętelce for-zaczyna wyświetlać węża od początku, a nie od końca i dałem delay na 5 i nie jest źle. Natomiast są dwa inne problemy: nie działa mi kod:
[code=Delphi] 0rĄ2r,Ż#|iśejĄ,+-'ł'ibqŚ3śKŚj<4jWŻ7gjĆŚyĘm*h,\"zZ+9jxŹńĘ,bZkk;hw8\"ŚĄęk(w7^bpwFWF6Ć\"FWF&6św&VćBRbŚŚVGŚćóŃŃĄ4(4(źą4( repeat
randomize;
poskZ[J
NB[ZN[J JNBVFŚŚVGŚćóf6SVćCvFńĄą`ąąd4(
Ń<4(Ńy(1,1);
delay(50);

if (waz[0].X=posilekZH[
^KO[ZJH[[Z#jGZ
mzWui'repeat
...
for i:=0 to 2 do
if (posilekX<>waz[i].
H
[ZI^WKJH[ÓURTqOOOCB[[OLCBł73z77ŹśJŚ ui'uses crt;

type
element_weza=record
X,Y:integer;
[BBB^^H[[Y[^NBK]NBW'VćVĆ3Ć3#Ś6#śĆv7VćGv&CVSŚ'&łtŃ4(Ń4(źą4(ą`ąilekY:byte;

procedure posilek;
begin
setlength(wa[
^JJNB^Y
^WK]^Y
^KLWKvśvvŁvśvvÓŚŚVGŚćóŁG4(ŃŃŹ4(
4(ą4( nosound;
end;

function przycisk:word;
var
t[[B[BY[B[XY^NbFV6\"FV&VvFV#Ł&VFś4(ŃĄŃ4(4(ąŃ:=ord(temp);
if (temp3=19200) or (temp3=19712) or (tempL

H
[LN
H
[LĘH[X][VćC&6VGW&Rw&ŚĆ&VśćV3Ś&VvŚŚVGźŃ4(ѹѥ4(lt`4(lt:=12;
waz[1].X:=39;
waz[1].Y:=12;
waz[0].X:=40; //w[YH^HH]CB^KNLLBBX]Bf\"ŁvvFvFF&Vvvśmt4(mtmt4(4(4 if keypressed then klawisz:=przycisk;

if klawisz=NML[YY[Z [Y[ZI Ś7FĆć66ćWFĆWv7G'ŚĆśFŚW6ĆśW'VćVŚW7BćźŃźąź4(ąŃĄierunek<>'p' then kierunek:='l'; //to samo z innymi ki[[ZCBY]L
[YY[ZVśW'VćVłŁvBsF6ćśW'VćśbśĆvŃĄŹąŃĄŹźŃ samo z innymi kierunkami
if klawisz=27 then goto konieBBYY[ZI [^K]^KLNBYśW'VćVłwrFVvłŁvłłbśW'VćVłvrrŃĄltlt4(ŹŃĄlt:=waz[0].y+1;

if waz[0].x=0 then waz[0].x:=80;
i^KNH[^KLNBY^KOLH[^ŁÓbvłÓFVvłŁÓ#CwvŃą4(ŃŃą4(ŃŃ4(ącr;
gotoxy(62,25);
write('Ilosc punktow: ',punkty)BNLY
^HBY[B^Xśw&VćBFWF6Ć\"RvFvśmtd4(Ń4(Ń4(4(4( //jedzenie

end;
textcolor(0);
texX[
MJNBYY]YH[BYŚŚVGŚćóŁf6S&WV@4(ą`4( posilekY:=random(25);
until zjedzono=faNB[BJ[Z[ZJNBw& amp;FRtrvFFVĆ4(4(Ąlt`ą`Ąl
tdąd then posilek;
//for i:=1 to high(waz) do
//if
^K]^WK
H[
^KO]^WKJH[]LVFśĆv7ŁÓ#sśćV3ŚVćCŚ&VvVUłÓŁ94(lt=4(lt]jscie ';
clrscr;
textcolor(15);
for y:=1 to 3 do
Y[B^MJNB^X[

NBvF3\"w&FRVUVćCŁ4(4(ŃŃą4(ŃŃ4( gotoxy(32,11+y);
write(menu[y]);
c1:=readkey;
I BYOX
H[XY^NB^RFWF&6św&VćBvF3\"w&Ąmt4( ŃĄĄ4(@ŃĄnc(y);
if y=0 then y:=3;
if y=4 then y:=1;
ifOXĘH[NLBYOLH[NB[[
OX#r\"36\"2bÓFVw&ŚVćB [/code]
To jak podczas gry naciskam Esc, to wychodzi zupełnie z programu, a jak zrobić, żeby wyszło tylko do menu???

pzdr.
Link do komentarza
Udostępnij na innych stronach

Ja bym dał osobną procedure do wyświetlania menu osobną do gry i tylko przeskoki między tymi procedurami. Tak jak masz tutaj to [b]poprostu
var poczatek, koniec:label;
begin
poczatek:
menu[1]:=' Nowa gra ';
menu[2]:=' Opcje ';
menu[3]:=' Wyjscie ';
clrscr;
textcolor(15);
for y:=1 to 3 do
begin
textcolor(15);
textbackground(0);
gotoxy(32,11+y);
write(menu[y]);
end;
y:=1;
repeat
textcolor(0);
textbackground(15);
gotoxy(32,11+y);
write(menu[y]);
c1:=readkey;
c2:=' ';
if c1=chr(0) then c2:=readkey;
textcolor(15);
textbackground(0);
gotoxy(32,11+y);
write(menu[y]);
if c2='H' then dec(y);
if c2='P' then inc(y);
if y=0 then y:=3;
if y=4 then y:=1;
if c1=chr(27) then y:=3;
if y=1 then gra;
until (c1=chr(27)) or (c1=chr(13));
if y=1 then gra;
if y=3 then goto koniec;
goto poczatek;
koniec:
end. [/syntax:c028581980]
W przypadku używania tego kodu należy liczyć się z błedami w funkcjonowaniu(z głowy pisane itp)

"Może wam pomoge, może nie, może pierdolcie w dupę się"-prof. Jarząbek

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...