Hogy csináljam meg?
Az a feledat hogy a képernyő tetejé van 1 tank( 'v' betű) és a képernyő alján a második.Tudnak mozogni és lőni is.De valamiért csak az első tankot rajzolja ki.
program motor;
uses crt;
var q:char;
ido:word;
tvx,tvx2,Lx,lx2,Ly,Ly2:byte;
lottem:boolean;
begin
//univerzális motor:
ido:=0;
tvx:=40;
lottem:=false;
//torpedóvető kezdőhelyzet
gotoxy(tvx,24);
write('v');
repeat
//eseményvezérlő:
q:='%'; //q semleges értéke
if keypressed then q:= readkey;
case q of
'a','A':begin
if tvx>1 then
begin
gotoxy (tvx,24);
write(' ');
tvx:=tvx-1;
gotoxy (tvx,24);
write('v');
end;
end;
'd','D': begin
if tvx<80 then
begin
gotoxy (tvx,24);
write(' ');
tvx:=tvx+1;
gotoxy (tvx,24);
write('v');
end;
end;
' ': begin
lottem:=true;
Ly:=23;
Lx:=tvx;
end; //space eset
end; //case
//időfüggő vezérlő
ido:=ido+1;
if ido=4000 then
begin
ido:=0;
if lottem then
begin
gotoxy (Lx,Ly);
write(' ');
Ly:=Ly-1;
gotoxy (Lx,Ly);
write('*');
writeln(' ');
end;
end;
until q=chr(27);
//2.tank
begin
//univerzális motor:
ido:=0;
tvx2:=23;
lottem:=false;
//torpedóvető kezdőhelyzet
gotoxy(tvx2,14);
write('v');
//eseményvezérlő:
q:='%'; //q semleges értéke
case q of
'h','H':begin
if tvx2>1 then
begin
gotoxy (tvx2,14);
write(' ');
tvx:=tvx-1;
gotoxy (tvx2,14);
write('v');
end;
end;
'j','J': begin
if tvx2<80 then
begin
gotoxy (tvx2,14);
write(' ');
tvx2:=tvx2+1;
gotoxy (tvx2,14);
write('v');
end;
lottem:=true;
end;
' ': begin
Ly2:=13;
Lx2:=tvx2;
end; //space eset
end; //case
//időfüggő vezérlő
ido:=ido+1;
if ido=4000 then
begin
ido:=0;
if lottem then
begin
gotoxy (Lx2,Ly2);
write(' ');
Ly2:=Ly2-1;
gotoxy (Lx2,Ly2);
write('*');
writeln(' ');
end;
end;
end;
end.
Ennyire csak nem lehetsz sötét könyörgöm...
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
Elkezdtem lajstromba szedni, mit fogadtál meg az előző kérdésed tanulságaiból. Most itt tartok:
1. Ööö... izé, szóval egy...
„...valamiért csak az első tankot rajzolja ki.”
Érdekes, nekem nem. Amint az Esc gomb megnyomásával kilépek a REPEAT..UNTIL ciklusból, a program befejeződése előtt gondosan kirajzolja a másikat is. Azt hiszem, erre mondják, hogy eső után köpönyeg...
Megpróbáltam gatyába rázni a külalakját:
Sajnos, ettől még se értelmesebb nem lesz, se a kérdésből nem tűnik el, de legalább rá lehet nézni.
De, ha szükségem volt rá.
Az, hogs valaki kib#sz ide valami okádék kódot (többedjére), hogy oldjuk meg, az nem elakadt, hanem egy tapló gyökér.
Tudod mi tabakival azt szeretnénk ha a Pascal nem merülne feledésbe, nem lenne lenézve. Örülünk neki ha valaki használja vagy használni akarja. Egyesek a Java, Python kódokon agyalnak - sokszor sok hülyeséget is kiírnak válaszként - mi itt egy páran meg szeretjük a Pascal alapú nyelveket.
De hogy kellően utáljatok és pontozzatok le ezért tessék a megoldás: [link] Lehet, van még rajta mit fejleszteni, de egy kezdő alapozásnak szerintem elég.
@#6: „Miért kell segíteni...”
Jaj, ne mondjál már ilyeneket. Szerinted segített bármit is, hogy megpróbáltunk tanácsokkal szolgálni? Na ugye.
@Kérdező:
Kedves Dávid!
Ezen az oldalon nemcsak kérdéseket tehetsz föl, hanem válaszokat is kaphatsz rá. Ezért néha érdemes csézába fogatva a tízkötetes nagyregényed végére hajtatnod, hátha találsz ott valami érdekes megjegyzést. Ezeket akár meg is válaszolhatod, hogy legalább megsejtsük, miért köpsz rájuk. Kellő indok nélkül ugyanis meglehetősen hervasztó azt látni, hogy minden látható eredmény nélkül foglalkozunk a kódoddal órákig. Más nevében nem nyilatkozhatom, de az én lelki békémet ez előbb-utóbb még meg is bolygathatja, és konfliktuskerülő alkatom miatt esetleg hagyom a fenébe a kérdésedet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!