Karakterek mozgatása az xy tengelyen Pascalban?
Sziasztok!
Hogyan lehetne azt megoldani, hogy a jobb és bal nyilakkal tudjak mozgatni egy a képernyőre kiírt karaktert?
Teszem azt, kiíratok az x:=10 y:=20 koordinátára egy X betűt, és azt a nyilakkal tudom mozgatni jobbra és balra. Én arra gondoltam, hogy ha lenyomom a gombokat, növeli, ellenkező esetben pedig csökkenti az x értékét. Na de hogyan kellene ezt megoldani?
- Emlékeim szerint a ReadKey függvénnyel lehet billentyűzetről beolvasni.
- Kísérletezd ki, mit ad vissza, ha az egyes nyíl billentyűket leütöd.
- A beolvasást nyilván egy ciklusba kell tenni, mivel nem csak egyszer akarod csinálni.
- A ciklus kilépési feltételének válassz egy szimpatikus billentyűt.
- GotoXY-al pozícionálsz, Write-tal kiírsz.
- ClrScr-rel törölheted a képernyőt minden kiírás előtt és akkor a kiírt karakter mindig csak a kurrens pozíción lesz ott.
program Project1;
uses Crt;
var x, y : Integer;
movekey : Char;
begin
CursorOff;
y := 10;
x := 20;
GoToXY(x, y);
Write('X');
repeat
movekey := ReadKey;
case Ord(movekey) of
// Balra
75 : begin
GoToXY(x, y);
Write(' ');
if x > 1 then Dec(x);
GoToXY(x, y);
Write('X');
end;
// Jobbra
77 : begin
GoToXY(x, y);
Write(' ');
if x < 79 then Inc(x);
GoToXY(x, y);
Write('X');
end;
end;
until movekey = #27;
end.
Bocs, közben egy programomat fejlesztgetem.
Igen, lehet, de ha már fut egy - szinte végtelen - ciklusod akkor használd ki azt. Vegyél fel egy változót és növeld az értékét és bizonyos értékeknél rajzold, írd ki a kívánt karaktert, majd nullázd a változót.
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!