Eventet e tastierës

Nga eventet e krijuara në tastierë, më e rëndësishmja është ngjarja kryesore e shtypjes, kështu që ne do të përqendrohemi më shumë në atë. Kur shtypni tastet në tastierë, në objektin event që përfaqëson një ngjarje në programet tona, vlera e events.type do të jetë pg.KEYDOWN.

Kur shtypnja e një çelësi në tastierë është regjistruar, ne pothuajse gjithmonë dëshirojmë të dimë se cili çelës është. Këtë mund ta zbulojmë duke testuar vlerën e event.key. Siç kemi përmendur tashmë në mësimin për të lexuar gjendjen e tastierës, ekziston një konstantë për secilën çelës që korrespondon me atë çelës. Le të rikujtojmë emrat e këtyre konstantave për disa çelësa të testuar shpesh (mund të shihni një listë të plotë të këtyre konstanteve

(këtu ):

Celësi

konstant

pg.K_LEFT

shigjeta majtas

pg.K_RIGHT

shigjeta djathtas

pg.K_UP

shigjeta lart

pg.K_DOWN

shigjeta poshtë

pg.K_SPACE

space bar

pg.K_a

çelësi a

pg.K_b

çelësi b

pg.K_c

çelësi c

Vlera e event.key na tregon se cili çelës fizik shtypet, dhe kjo vlerë është e përshtatshme për çelësat siç janë çelësat shigjetë, Ctrl, Shift, Alt, Home, End dhe të ngjashme Kur bëhet fjalë për tekstin, mund të jetë më i përshtatshëm të përdoret vlera e fushës event.unicode, e cila përmban karakterin që sapo ishte shtypur (si një varg i vetëm karakteresh).

Shembulli i mëposhtëm ilustron testimin e një goditjeje kryesore ose një ngjarje pg.KEYDOWN.

Shembull - fjalëkryq

Në këtë shembull, përdoruesi mund të përdorë tastet e shigjetave në tastierë për të lëvizur kornizën dhe për të futur shkronja në kuti.

Vini re funksionin hand_event në të cilin ndodh kontrolli i llojit të ngjarjes, dhe pastaj, nëse është një shtypje kryesore, kontrollohen informacione shtesë për ngjarjen, të ruajtura në fushat event.key dhe event.unicode.

Për më tepër, mund të provoni të bashkoni disa fjalëkryq interesantë.

Le ta krahasojmë këtë program me programin “Navigimi” nga mësimi i leximit të statusit të tastierës:

Në programin “Navigimi”

Në programin “Fjalëkryq”

rrethi i verdhë po lëvizte me një pixel

po rrëshqiste lëvizjet e kornizës nga një fushë - kërcen

nuk kemi pasur kontroll të saktë se ku do të ndalet rrethi

ne mund të kontrollojmë saktësisht se ku do të ndalet korniza

nuk kishte rëndësi se ku do të ndalonte saktësisht rrethi

ka rëndësi se ku do të ndalet saktësisht korniza

ne po lexonim statusin e çelësave të tastierësne

jemi duke përdorur një ngjarje (duke shtypur një çelës)

(poshtë ose lart)

Detyrë - navigo rreth fushave

Shkruaj një program që funksionon siç tregohet në shembullin (butoni “Luaj detyrën”).

     Përdoruesi mund të përdorë tastet e shigjetave në tastierë për të udhëhequr personazhin e përfaqësuar me një rreth të verdhë. Karakteri lëviz nëpër fusha me pika të bardha.

Detyrë - bëj një labirint

Shkruaj një program që bën një labirint. Korniza e kuqe duhet të kontrollohet duke përdorur shigjetat, dhe shtypja e spacebar duhet të ndryshojë ngjyrën e një kutie (nga e zeza në e bardhë dhe anasjelltas).

Kur të kryeni detyrën, provoni si më poshtë:

labirint

Bonus - një praktikë programi shkrimi

Programi më poshtë ka për qëllim praktikën e shkrimit. Programi është i gjatë, por duhet të jeni në gjendje të kuptoni një pjesë të madhe të tij.

Ju mund të dëshironi (pa detyrim) ta përshtatni programin me nevojat tuaja, veçanërisht në fillim. Për shembull:

  • për të ngadalësuar (ose më vonë përshpejtimin) rënien e shkronjave

  • të mos humbasësh pikë kur gabon

  • kur zotëroni shkronjat që bien të parat, për t’i hequr ato nga lista e letrave për të praktikuar

  • për të ndryshuar grupin e karaktereve në rënie në numra dhe vetëm shenjat e funksionimit (nëse doni të praktikoni të shtypni vetëm në tastierën numerike në anën e djathtë)

  • të mbani shtypur spacebar dhe të fshini shkronjën më të ulët (me paksa zvogëlimin e rezultatit)

ose gjithçka tjetër që mund të mendoni.

Kur të keni kohë, ju inkurajmë të përpiqeni të merrni sa më shumë rezultate (pa bërë hile)..