Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: malan
Udoskonalił: Piotr DejaVu Szawdyński
Biblioteki C/C++

readkey

[funkcja] Zwraca kod ASCII wciśniętego klawisza.

Składnia

C/C++
#include <allegro.h>
int readkey();

Opis ogólny

Zwraca kod ASCII ostatniego klawisza oczekującego w buforze.

Opis szczegółowy

Funkcja zwraca kod ASCII klawisza oczekującego w buforze wejściowym klawiatury. W przypadku braku oczekujących klawiszy (czyli kiedy bufor jest pusty) funkcja czeka na wciśnięcie dowolnego klawisza.

Bufor wejściowy klawiatury jest kolejką FIFO. Rozmiar kolejki bufora wejściowego jest ograniczony do kilkunastu znaków. Klawisze które nie zostały odczytane ulegają zamazaniu na rzecz nowych klawiszy.

Wartość zwracana

Kod wciśniętego klawisza w ASCII.

Dodatkowe informacje

Niniejsza funkcja nie może zwrócić znaku, którego wartość jest większa niż 255. Jeśli chcesz wczytać znak w formacie Unicode, użyj funkcji ureadkey.

Przykład

C/C++
#include <allegro.h>

void init();
void deinit();

int main()
{
    init();
    int klawisz = 0;
   
    while( !key[ KEY_ESC ] )
    {
        clear_to_color( screen, makecol( 0, 0, 0 ) );
       
        textprintf_ex( screen, font,
        20, 20,
        makecol( 255, 255, 255 ), 0,
        "%d", klawisz );
       
        textprintf_ex( screen, font,
        20, 40,
        makecol( 255, 255, 255 ), 0,
        "%c",( char ) klawisz );
       
        klawisz = readkey();
    }
   
    deinit();
    return 0;
}
END_OF_MAIN()

void init( void )
{
    allegro_init();
    set_color_depth( 32 );
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0 );
   
    install_keyboard();
    return;
}

void deinit()
{
    clear_keybuf();
    allegro_exit();
    return;
}

Zagadnienia powiązane

keypressedSprawdza, czy wciśnięto klawisz. (funkcja)

Linki zewnętrzne