Anonymní profil Petr – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Petr – Programujte.comAnonymní profil Petr – Programujte.com

 

Příspěvky odeslané z IP adresy 194.212.30.–

Pascal › Exited with exit code 201
20. 5. 2009   #101517

Fajn, tak textmode(259) pomohl, opět dík :)

Pascal › Exited with exit code 201
19. 5. 2009   #101465

Tak jsem to zatím udělal po svém a z toho Mircosoftova si vzal část, ale zase jsem narazil na zcela hloupý problém, ke kterému nikde nevidím řešení:(
Při pohybu jezdce doleva a doprava je všechno ok, ale při pohybu nahoru a dolů se mi mezi jednotlivými články vynechává mezera jeden řádek a při nárazu do zdi taky je vše zleva doprava v pořádku, ale při nárazu nahoře nebo dole mi had "narazí" o řádek dříve, což předpokládám souvisí s mezerami mezi články. Zkoušel jsem nastavit stejnou šířku a výšku podle, změnit parametry posunu (kdyby šel posun o půl řádku, tak by bylo myslím si po problému), ale nic nepomáhá

Pascal › Exited with exit code 201
18. 5. 2009   #101396

Páni, tak vidím, že tady jsou všichni nápomocni, tohle jsem vážně nečekal, myslím, že s informacemi, které si mi, Mircosofte, poskytnul, bych to už snad mohl zvládnout :) Tak vážně díky

Pascal › Exited with exit code 201
17. 5. 2009   #101349

a ještě mě napadlo: jak by se dal udělat samostatný pohyb jezdce v daném směru, který by si udržel, dokud nezmáčknu jiný směr (alá had)? Chtěl jsem dát repeat k podmínce, kde píšu daný směr a ještě delay, aby to neskočilo rovnou vpřed, ale vždycky dostanu zase exitcode 201. Program vypadá tedka takhle:

program pohyb;

uses CRT;
const left=#75;
right=#77;
up=#72;
down=#80;
esc=#27;
z=chr(219);
var b:array[1..10,1..20] of char;
i,x,j,r,s:integer;
k:boolean;
c:char;
procedure vlevo;
begin
b[r,s]:=' ';
s:=s-1;
b[r,s]:='*';
end;
procedure vpravo;
begin
b[r,s]:=' ';
s:=s+1;
b[r,s]:='*';
end;
procedure dolu;
begin
b[r,s]:=' ';
r:=r+1;
b[r,s]:='*';
end;
procedure nahoru;
begin
b[r,s]:=' ';
r:=r-1;
b[r,s]:='*';
end;
begin
clrscr;
for i:=1 to 10 do begin
b[i,1]:=z;
b[i,20]:=z;
end;
for j:=1 to 20 do begin
b[1,j]:=z;
b[10,j]:=z;
end;
r:=5;
s:=10;
b[r,s]:='*';
repeat
clrscr;
for i:=1 to 10 do begin
for j:=1 to 20 do write(b[i,j]);
writeln;
end;
c:=readkey;
if c=left then {dal jsem repeat} vlevo
{until keypressed nebo ještě until (c=right) or (c=up) or (c=down)}
else if c=right then vpravo
else if c=up then nahoru
else if c=down then dolu;
if c=z then begin
write ('konec');
readln;
end;
until c=esc;
end.

Pascal › Exited with exit code 201
17. 5. 2009   #101344

Tak tohle je divné - v celoobrazovkovém režimu se mi pole zobrazuje vyplněné bílými pruhy a v normálním zmenšeném okně jsou vyplněné jen okraje a uvnitř je pole prázdné, jak má být

Pascal › Exited with exit code 201
17. 5. 2009   #101340

sakra, tohle mě vůbec nenapadlo, zkusím ho zmáčknout tolikrát, jestli to je fakt pravda :D
tak fakt mockrát díky, ale jak mám pracovat v tom poli dokud uživatel nezmáčkne ESC 1x??

Pascal › Exited with exit code 201
17. 5. 2009   #101338

aha, no ty 2 cykly for na určení, že pracuju uvnitř pole a potom tohle
r:=1;

s:=2;

b[r,s]:='*';

na umístění jezdce do pole

Pascal › Exited with exit code 201
17. 5. 2009   #101336

To KIIV : a co se týče té druhé části, tak tam jsem chtěl dát, aby uživatel zadal na šipkách směr a jezdec se tím směrem pohnul, nevím, jestli to je dobře, readkey jsem nikdy předtím nepoužil

Pascal › Exited with exit code 201
17. 5. 2009   #101334

haha, právě dávám step over a přesně tam, kde si mě citoval to vyhazuje chybu pořád dokola :D jsem tam zaměnil 'i' za 'j', ale i když to napravím a spustím, tak mi naběhne akorát černá obrazovka

Anonymní uživatel
Pascal › Exited with exit code 201
17. 5. 2009   #101327

To Quiark :
kontroloval jsem to a nikde mimo pole bych operovat neměl, všechno je v rámci pole. Jinak Free Pascal debugger má, ale upřímně nevím, jak na něho :smile11:

Petr
Pascal › Exited with exit code 201
16. 5. 2009   #101307

Zdravim!

Snažím se udělat jednoduchý program pro pohyb "jezdce" (hvězdičky) v poli, který je taková předpříprava pro můj závěrečný program v Pascalu - had. Při kompilaci mi Free Pascal nehlásí žádnou chybu, ale při spouštění programu mi vyskočí hláška "exited with exit code = 201" a dále se nedostanu.
Samozřejmě jsem googlil, ale nic konkrétního a užitečného jsem nenašel, jedná se o hodně obecnou chybu, takže tady přikládám program a budu moc vděčný za jakoukoliv pomoc při řešení mého problému :)

program pohyb;

uses CRT;
const Vlevo = #75;
Vpravo = #77;
Nahoru = #72;
ESC = #27;
Dolu = #80;
z = chr(219);
var b:array[1..20,1..40] of char;
i,j,r,s:integer;
c:char;

begin
clrscr;
for i:=1 to 20 do begin
b[i,1]:=z;
b[i,40]:=z;
end;
for i:=1 to 40 do begin
b[1,j]:=z;
b[20,j]:=z;
end;

for i:=2 to 19 do
for j:=2 to 39 do begin

r:=1;
s:=2;
b[r,s]:='*';
repeat
c:=readkey;
if c=Vlevo then begin
b[r,s]:=' ';
s:=s-1;
b[r,s]:='*';
end
else if c=Vpravo then begin
b[r,s]:=' ';
s:=s+1;
b[r,s]:='*';
end
else if c=Nahoru then begin
b[r,s]:=' ';
r:=r+1;
b[r,s]:='*';
end
else if c=Dolu then begin
b[r,s]:=' ';
r:=r-1;
b[r,s]:='*';
end;
until c=ESC

end;

for i:=1 to 20 do begin
for j:=1 to 40 do write(b[i,j]);
writeln;
end;
readln;
end.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý