Kezdőoldal » Számítástechnika » Programozás » Pascalban egy másodpercig...

Pascalban egy másodpercig bekérni adatot?

Figyelt kérdés
Egy snake programot szeretnék írni, ehhez az kéne, hogy 1 másodpercig kérjen be egy betűt, ha kap jelet ezt csinálja, ha nem kap azt csinálja.

2013. ápr. 25. 16:53
1 2
 11/14 anonim ***** válasza:
Meg egyáltalán milyen adatot akarsz elmenteni és hova? Fájlba?
2013. ápr. 25. 21:08
Hasznos számodra ez a válasz?
 12/14 A kérdező kommentje:
timert tudtam már csinálni nem volt túl bonyolult. Azt az adatot szeretném egy változóba beletenni, hogy milyen billentyűt nyomott, mintha egy readkey parancs lenne
2013. ápr. 25. 21:28
 13/14 anonim ***** válasza:

Nem ugyanarról a timerről beszélünk mert amire én gondoltam ahhoz a hardveres megszakítás kell.


Ha történt billentyűnyomás akkor a lenyomott billentyű kódját a readkey() adja vissza.

2013. ápr. 25. 21:50
Hasznos számodra ez a válasz?
 14/14 ejbenjaro ***** válasza:

Ezt az egy másodperces várakozást nem nagyon értem én sem. Miért nem lehet úgy csinálni, hogy megy a kígyó magától az utolsó irányba, amit a felhasználó megadott, aztán ha történik újabb esemény, billentyű lenyomás, akkor arra reagál. Ehhez nem sok kell, csak egy ciklusban automatikusan léptetni a kígyó pozícióját adott irányba illetve vizsgálni, hogy történt e billentyű leütés (KeyPressed), ha történt beolvasni a billentyű kódját (readkey) és ennek megfelelően cselekedni.


A kurzormozgató billentyűket így figyelheted Free Pascalban:


program kurzor;


{$mode objfpc}{$H+}


uses

crt;


var

ch : char;


begin

clrscr;

writeln('Kil‚p‚s - ESC');

window(2,2,79,23);

textbackground(4);

clrscr;

cursoroff;

repeat

ch:=ReadKey;

if ch=#0 then

begin

ch:=ReadKey;

case ch of

#72 : writeln('Fel'); //fel

#80 : writeln('Le'); //le

#77 : writeln('Jobb'); //jobbra

#75 : writeln('Bal'); //balra

end;

end;

until ch=#27;

window(1,1,80,24);

textbackground(0);

clrscr;

cursoron;

end.


Bármilyen lenyomott billentyű kódját pedig az alábbi programmal kérheted le (ugyancsak Free Pascal):


program billentyukod;


{$mode objfpc}{$H+}


uses

crt;


var

ch : char;


begin

textbackground(1);

clrscr;

write(' Kil‚p‚s - ESC | Billentyűk˘dok kiˇr s ra szolg l˘ program. | v0.1 ');

window(2,2,79,23);

textbackground(4);

clrscr;

repeat

repeat

until keypressed;

ch:=readkey;

if ch=#0 then ch:=readkey;

writeln(ord(ch));

until ch=#27;

window(1,1,80,24);

textbackground(0);

textcolor(7);

clrscr;

end.

2013. ápr. 26. 12:18
Hasznos számodra ez a válasz?
1 2

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!