Kezdőoldal » Számítástechnika » Programozás » Karakterek mozgatása az xy...

Karakterek mozgatása az xy tengelyen Pascalban?

Figyelt kérdés

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?



2016. jún. 24. 17:56
 1/7 anonim ***** válasza:

- 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.

2016. jún. 24. 18:42
Hasznos számodra ez a válasz?
 2/7 SimkoL ***** válasza:
100%
A ClrScr-t leszámítva majdnem - villódzni fog a képernyő - ezért az előző pozíció helyére szóközt írunk.
2016. jún. 24. 18:53
Hasznos számodra ez a válasz?
 3/7 SimkoL ***** válasza:

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.

2016. jún. 24. 19:12
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Köszönöm szépen! Ha nem értenék valamit még írok. :)
2016. jún. 24. 19:15
 5/7 SimkoL ***** válasza:
A Fel 72, a Le 80, de grafikus felületen ezek már nem igazak - Turbo Pascal -
2016. jún. 24. 19:18
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:
Egy cikluson belül lehet akár több ciklus is? Arra gondolok hogy ha egy karaktert mozgatok gotoxy-al, közben random helyeken jelennek meg más karakterek a kijelzőn, de közben ugyan úgy tudom mozgatni az első karaktert is. Ez lehetséges?
2016. jún. 24. 19:53
 7/7 SimkoL ***** válasza:

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.

2016. jún. 24. 22:11
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!