Problem prostym programem (allegro a konsola)

0

Witam

Od paru godzin siedzę nad prostym programem i mnie zaraz krew zaleje. Muszę zrobić program gdzie użytkownik wprowadza liczbę, i jeżeli liczba jest parzysta to program rysuje na ekranie poruszające się koło, jeżeli liczba jest nieparzysta to program rysuje nieparzystą liczbę czerwonych kwadratów.
Problem polega na tym, że program który napisałem się kompiluje pięknie, jednak nie ma tego "menu" gdzie proszę o podanie liczby. Program po uruchomieniu od razu rysuje mi kółko i czeka na zakończenie.
Gdzie tkwi błąd?
Pozdrawiam serdecznie i z góry dziękuję za odp.

#include <allegro.h>
#include <iostream>
#include <stdlib.h>

using namespace std;

int kolo()
{
    allegro_init();
    install_keyboard();
    
    int a=50;
    int b=50;
    int licznik;
    
    set_color_depth(32);
    set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 700, 0, 0);
    
    BITMAP *buffer = create_bitmap(640, 700);

    for (licznik=50; licznik<590; ++licznik)
    {
        clear_to_color( screen, makecol( 128, 128, 128 ) );
        circle( screen, ++a, ++b, 50, makecol( 0, 255, 48 ) );
        _sleep(8);
    }
}

int kwadraty()
{
    int wybor2;
    
    allegro_init();
    install_keyboard();
    set_color_depth(32);
    set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 700, 0, 0);
    
    BITMAP *buffer = create_bitmap(640, 700);
    
    rect( screen, 490, 390, 710, 510, makecol( 255, 0, 0 ) );
    
}
    
	
int main() 
{	
    int wybor;
    
    cout<<"Podaj cyfre: ";
    cin>>wybor;
    
    if (wybor%2==0)
    {
       kolo();
    }
    else
    {
        kwadraty();
    }
    readkey();
    allegro_exit();


}
END_OF_MAIN();

 
0
   cout<<"Podaj cyfre: ";
    cin>>wybor;

Zamień na

   cout<<"Podaj cyfre: ";
    cin.sync();
    cin.get();
    cin>>wybor;

Powinno zadziałać.

0

Nie działa...
Podejrzewam, że problem leży w tym, że ja utworzyłem project Allegro a nie konsolowy, ale nie wiem jak teraz zrobić by rozwiązać mój problem :(

0

Ale masz konsolę w ogóle wyświetlaną na ekranie? Czy aplikacja jest tylko okienkowa...?

0

Nie.. mam normalne okienko "windowsowe". Nie otwiera się żadna konsola.

0

Ja bym zrobił wszystko w allegro ;-)
Widzę trzy możliwości.

  1. Wyrzuć jakiś monit o podanie liczby, potem Readkey(), a następnie sprawdzenie, czy ostatni naciśnięty klawisz był parzysty/nieparzysty (nawet zwykłe 10 if'ów). Wiem, że to brzydkie i wredne rozwiązanie, ale działa i tu będzie najłatwiejsze w dodaniu.

  2. Użycie Allegro GUI (mi by się nie chciało tego tu wplątywać ;-P)

  3. Użycie http://old.devpaks.org/show.php?devpak=72 (to by mi się nie chciało martwić jak zintegrować dodatkowy moduł.)

Pozdrawiam,
Jadeszek

EDIT: http://4programmers.net/Forum/C_i_C++/59887-Bibliteka_allegro_i_pobieranie_danych

1 użytkowników online, w tym zalogowanych: 0, gości: 1