pekfos |
» 2014-05-04 13:23:33 Jak zrobić tą mapę asocjacyjną? |
Mapa asocjacyjna? Mapa w bibliotece standardowej C++, to kontener asocjacyjny, więc mapa asocjacyjna to.. Asocjacyjny kontener asocjacyjny? Masło maślane. |
|
Kudłaty Temat założony przez niniejszego użytkownika |
» 2014-05-04 13:26:01 O takie coś ci chodzi? if( al_key_down( & Key, ALLEGRO_KEY_A ) ) { if( !key_state_down ) { if( shift ) nazwa[ i ] = 'A'; else nazwa[ i ] = 'a'; key_state_down = true; i++; } }
tylko tutaj od razu na charach pracuje. |
|
Kudłaty Temat założony przez niniejszego użytkownika |
» 2014-05-04 13:27:05 Pekfos. Poczytam zaraz o niej i spróbuję coś lepszego napisać, od mojego pomysłu z ifami.
/Edit Napisze tutaj, żeby nie zaśmiecać. Poczytałem na forum o bibliotece conio.h i tam znalazłem prosty sposób na odczytywanie znaków. Ale działa tylko w konsoli. Można to jakoś zmienić? |
|
pekfos |
» 2014-05-04 18:24:18 Poczytałem na forum o bibliotece conio.h i tam znalazłem prosty sposób na odczytywanie znaków. Ale działa tylko w konsoli. Można to jakoś zmienić? |
Nie. conio - console io. Napisze tutaj, żeby nie zaśmiecać. |
Haha, ha.. Zasady zakładania tematów - jeden temat = jeden problem. Tu jeszcze nie jest to taki offtop, ale co to w ogóle za myślenie? Nie chcę śmiecić, więc nie zakładam nowego tematu zgodnie z porządkiem forum, tylko śmiecę w jednym temacie? |
|
Kudłaty Temat założony przez niniejszego użytkownika |
» 2014-05-04 18:57:59 Temat chyba ten sam. Ale chodziło mi o to, że napiszę w tym poście, żeby nie robić kolejnego. A więc muszę czytać o tych mapach asocjacyjnych? Tylko nie mogę nic znaleźć, a o tym nie słyszałem. Jeszcze poszukam, ale jak macie link do jakiegoś kursu o tym, to byłbym wdzięczny. |
|
Nekronomik |
» 2014-05-04 20:16:10 A nie łatwiej by ci było wykorzystać event'u jeśli chodzi o klawiature. queue = al_create_event_queue(); al_register_event_source( queue, al_get_display_event_source( okno ) ); al_register_event_source( queue, al_get_keyboard_event_source() ); ALLEGRO_EVENT ev; np: klikasz na jakiś przycisk np. litera "a" i zostanie zapisana jako 97 to 97 zostanie przypisane do event.keyboard.unichar po przez al_get_next_event( queue, & event ); . No i teraz: char znaki1[ 20 ]; znaki1[ a ] = char( event.keyboard.unichar ); . Jak zapełnisz całą tablice lub w połowie to aby ją wyświetlić możesz zrobić coś takiego: string haslo = haslo + znaki1[ a ]; no i wystarczy teraz wyświetlić string. Jak czegoś nie rozumiesz to pisz ^^. |
|
Kudłaty Temat założony przez niniejszego użytkownika |
» 2014-05-05 17:40:07 Przed chwilą miałem dopiero czas, żeby się w to zagłębić. Poczytałem jeszcze o twoim sposobie z eventami w google i myślę, że zrozumiałem o co w tym chodzi. Wpisywanie wygląda u mnie mniej więcej tak: int i = 0; bool key_state_down = false;
ALLEGRO_EVENT_QUEUE * queue = al_create_event_queue(); al_register_event_source( queue, al_get_keyboard_event_source() ); ALLEGRO_EVENT event;
char znaki1[ 20 ]; event.keyboard.unichar = NULL;
while( 1 ) { al_get_next_event( queue, & event ); if( event.keyboard.unichar != 0 && !key_state_down ) { if( event.keyboard.unichar == 8 ) { i--; } else { znaki1[ i ] = char( event.keyboard.unichar ); i++; } key_state_down = true; } if( !event.keyboard.unichar ) key_state_down = false; for( int j = 0; j < i; j++ ) { std::cout << znaki1[ j ]; } std::cout << std::endl; }
Dodam jeszcze wyświetlanie w aplikacji i może to jakoś uproszczę, ale mniej więcej tak to wygląda. Później dopracuję ten sposób, ale na szczęście działa bez zarzutów. Dzięki za pomoc, temat zamykam. |
|
1 « 2 » |