Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
JOKKER666
HV veteran

liitunud: 21.09.2002
|
21.03.2009 08:25:09
Abi Pascal'is |
|
|
Tere, saaks äkki nõu Pascalis.
Probleem järgmine. Vaja oleks et programm, ei jääks ootama klahvi vajutust vaid jätkuks, kui seda ei tule. Pm tegu pisikese mänguga, harjutamise mõttes.
Käsu koht ise on praegu selline:
a:=readkey;
if a=#77 then x:=x+1;
if a=#75 then x:=x-1;
if a=#32 then lask;
|
Praegu jääb ootama a väärtust ja kogu mäng peatub kuni klahvi vajutatakse. Kuidas saab nii, et klahvi vajutus poleks kohustuslik.
|
|
Kommentaarid: 47 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
42 |
|
tagasi üles |
|
 |
mark11
HV vaatleja
liitunud: 28.01.2006
|
21.03.2009 09:40:41
|
|
|
ei ole küll pascaliga tegelenenud aga natukese googledamisega tuli see välja,et
Under LinCRT the input and output can be performed with standard ReadLn, Write, and WriteLn procedures.
Note: due to some problems with underlying ncurses cursor-positioning handling it is recommended to call every ReadLn procedure in its own window.
Single characters can be put to screen with PutChar and PutCharXY procedures. When using the last two routines note that they don't change the current cursor position. The are also two functions: GetKey and ReadKey that handle input on per-character basis. These functions do not echo incoming characters on the screen. The ReadKey function is introduced for CRT compatibility. The GetKey function is an extended variant of ReadKey. This function allows for mouse support.
The GetKey and ReadKey functions are blocking. In order to do a non-blocking input with these functions use the non-blocking KeyPressed function as shown below:
while ... do // some control loop
begin
...
if KeyPressed then Key := GetKey;
...
end;
|
samuti sellised asjad nagu threadid aitaks sind..
http://wiki.freepascal.org/Multithreaded_Application_Tutorial#Do_you_need_multithreading.3F
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
Ho Ho
HV Guru

liitunud: 16.02.2002
|
24.03.2009 14:36:02
|
|
|
Pascaliga tegutsesin viimati jämedalt 8 a tagasi seega võin veidi puusse panna
Ise tegin mängu laadseid klahvidega juhitavaid asju üldjuhul selliselt, et readkey'le eelnes alati if KeyPressed. Keypressed lihtsalt ütles et kas mõnele klahvile vajutati või ei, kui jah siis readkey'ga sai vastava vajutuse välja lugeda. Kui ei vajutatud siis jätkus programmi töö ilma millegi taga ootmata.
_________________ Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity" |
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
86 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
24.03.2009 20:37:22
|
|
|
Ei ole Pascaliga tegelenud. Kood mille annan on Qbasicus, kuid uuri, kas Pascalis ei saa vajutaqtud klahvi koodi lugeda. INKEY$ loeb vajutusel klahvi koodi, kuid ei peata programmi. Hiljem saad juba vaadelda, millise koodi said ja sellega edasi tegutseda.
DO
q$ = INKEY$: la = LEN(q$)
IF la = 1 THEN k = ASC(q$)
IF la = 2 THEN k = ASC(RIGHT$(q$, 1))
REM LOCATE 2, 2: PRINT k
IF la = 0 THEN k = 0
IF k = 27 THEN END
IF k = 75 THEN GOSUB 35
IF k = 77 THEN GOSUB 35
IF k = 72 THEN ac = ac + .1
IF k = 80 THEN ac = ac - .1
IF ac > .6 THEN ac = .6
IF ac < .1 THEN ac = .1
LOOP |
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
marqs
HV veteran

liitunud: 06.12.2001
|
25.03.2009 21:06:39
|
|
|
Mõnikord on abiks juba kellegi valmis tehtud vigurit uurida. Näiteks igat masti Pascalis kirjutet' ussimänge peaks olema rohem, kui küll.
http://www.codepedia.com/1/First-Steps-Pascal-Graphics - Kordab suuresti kõike, mida siin juba öeldud, aga rohkemate sõnade ja (eeldatavasti) töötavate koodinäidetega. Loo järg pakub ka ehk huvi.
_________________ 0xDEAD
0xBEEF |
|
Kommentaarid: 28 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
27 |
|
tagasi üles |
|
 |
JOKKER666
HV veteran

liitunud: 21.09.2002
|
25.03.2009 21:16:50
|
|
|
Keypressed sobib hästi., sain sellega asja toimima.
Muidugi nuppu vajutades teeb jõnksu sisse mängu ja 2 nuppu korraga ei tunnista. Aga küll jõuab.
|
|
Kommentaarid: 47 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
42 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|