Życie Wieczne
FAQ
Szukaj
Użytkownicy
Grupy
Galerie
Rejestracja
Profil
Zaloguj się, by sprawdzić wiadomości
Zaloguj
Forum Życie Wieczne Strona Główna
->
Offtopic
Napisz odpowiedź
Użytkownik
Temat
Treść wiadomości
Emotikony
Więcej Ikon
Kolor:
Domyślny
Ciemnoczerwony
Czerwony
Pomarańćzowy
Brązowy
Żółty
Zielony
Oliwkowy
Błękitny
Niebieski
Ciemnoniebieski
Purpurowy
Fioletowy
Biały
Czarny
Rozmiar:
Minimalny
Mały
Normalny
Duży
Ogromny
Zamknij Tagi
Opcje
HTML:
NIE
BBCode
:
TAK
Uśmieszki:
TAK
Wyłącz BBCode w tym poście
Wyłącz Uśmieszki w tym poście
Kod potwierdzający: *
Wszystkie czasy w strefie EET (Europa)
Skocz do:
Wybierz forum
----------------
Ogólna dyskusja
Kościół rzymsko katolicki
Biblia
Objawienia
Własne przemyślenia
Inne religie i ateizm
Nasza twórczość
Offtopic
Przegląd tematu
Autor
Wiadomość
Piotr-246
Wysłany: Pon 19:53, 11 Sty 2021
Temat postu:
Jeśli jeden z dwóch, przyciśniętych razem klawiszy, zostałby zwolniony, nie ma na razie sposobu, aby to zbadać.
Pozostaje zaprogramowanie gry na Joystick lub budowa gry w taki sposób, aby ruchy ukośne wykluczyć. Albo zastosować ruch pionowy w oparciu o klawisze Shift, Control.
Piotr-246
Wysłany: Pon 19:48, 11 Sty 2021
Temat postu:
Programik sprawdza naciśnięcie klawisza, po czym w pętli trwającej najwyżej 500 cykli sprawdza ponowne naciśnięcie klawisza.
Jeśli obie zmienne, key1$ i key2$ zarejestrowały w tym czasie przyciśnięcie klawiszy, komputer sprawdza sumę ich wartości. Sumę po to, aby było obojętne, czy najpierw był wciśnięty klawisz kierunku pionowego czy poziomego.
Programik nie wyczerpuje zagadnienia, gdyż przytrzymanie obu klawiszy nie daje jeszcze wyniku w postaci stałego komunikowania kierunku ukośnego.
Piotr-246
Wysłany: Pon 18:52, 11 Sty 2021
Temat postu:
Programik, który bada naciśnięcie dwóch różnych strzałek:
góra-dół itd
--------------------------------------
DEF SEG = 0
CLS
petla:
key1$ = INKEY$:
IF key1$ = "" THEN GOTO petla
FOR j = 1 TO 500
key2$ = INKEY$
IF key2$ <> "" THEN EXIT FOR
NEXT j
suma$ = key1$ + key2$
IF LEN(suma$) = 4 THEN
a1$ = MID$(key1$, 2, 1)
a2$ = MID$(key2$, 2, 1)
suma = ASC(a1$) + ASC(a2$)
IF suma = 149 THEN PRINT "gora prawo": GOTO ruch
IF suma = 147 THEN PRINT "gora lewo": GOTO ruch
IF suma = 155 THEN PRINT "dol lewo": GOTO ruch
IF suma = 157 THEN PRINT "dol prawo": GOTO ruch
END IF
IF key1$ = CHR$(0) + "H" THEN PRINT "gora": GOTO ruch
IF key1$ = CHR$(0) + "P" THEN PRINT "dol": GOTO ruch
IF key1$ = CHR$(0) + "K" THEN PRINT "lewo": GOTO ruch
IF key1$ = CHR$(0) + "M" THEN PRINT "prawo": GOTO ruch
ruch:
GOTO petla
Piotr-246
Wysłany: Pon 16:59, 11 Sty 2021
Temat postu:
Wpisanie po każdym naciśnięciu klawisza
POKE 1050, 30: POKE 1052, 30
sprawia, że bufor klawiatury ma tylko dwa bajty.
Piotr-246
Wysłany: Pon 16:32, 11 Sty 2021
Temat postu: Funkcje klawiatury w QuickBasicu
Funkcje klawiatury w QuickBasicu
Oprócz funkcji INKEY$ można informacje o klawiaturze czerpać bezpośrednio z pamięci komputera.
Komórki 1050 i 1051 wskazują adres bufora klawiatury obliczany ze wzoru:
PEEK(1050)+256*PEEK(1051)+1024
Komorka 1052 i 1053 wskazuje końcowy adres bufora obliczany wg wzoru:
PEEK(1052)+256*PEEK(1053)+1024
Czyszczenie bufora klawiatury:
----------------------------------------
DEF SEG=0: POKE 1050, PEEK(1152) - czyści bufor klawiatury, jak piszą w sieci.
Niektórzy piszą, że dla wyczyszczenia bufora należy wpisać:
POKE 1050, 30: POKE 1052, 30
Wielkość bufora zależy od jego zapełnienia, stąd dwie metody czyszczenia, aby początek=koniec.
fora.pl
- załóż własne forum dyskusyjne za darmo
Powered by
phpBB
© 2001, 2005 phpBB Group
Regulamin