Skocz do zawartości

Zablokowane Konsola w wątku.


ediepl

Rekomendowane odpowiedzi

Witam, mam problem - przepisuje serwer do C++ i mam problem z konsolą ponieważ zatrzymywała ona cały program, więc dałem ją do innego wątku, ale teraz jeśli coś napiszę i wyświetli się jakiś text to wychodzi coś takiego "jakiś textGracz edie dołączył do gry." i nie wiem jak zrobić żeby przechwytywany tekst był zawsze w osobnej lini?

Odnośnik do komentarza
Udostępnij na innych stronach

Może dam kod

DWORD WINAPI ThreadProc() 
{ 
    while(1)
    {
        string tekst;
        cin >> tekst;
        clearbuffer(0);
        writebyte(8,0);
        const char* messageconst=tekst.c_str();
        char* charmessage=const_cast<char*>(messageconst);
        writestring(charmessage,0);
        for(int i=0; i<=maxplayers; i++) {
            if(Players[i].InUse) {
                sendmessage(Players[i].Sock, "", 0, 0);
            }
        }
    }
    return TRUE; 
}

 

DWORD threadID; 
HANDLE hThread = CreateThread( NULL, 0,  (LPTHREAD_START_ROUTINE)ThreadProc, 0, 0, &threadID );

Wszelki tekst jest wypisywany cout.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

A jak instalujesz Linuxa to jak myślisz jak oni tą instalację konsolową robili? Też tam polega to na poleceniach "clear" itp. Może średni przykład, ale z tego co widziałem to migać to może, ale przy okropnym zawaleniu procka. Yhm.

 

Edit: Pokazał mi się komunikat o Antyfloodowaniu i miałem odczekać 30 sekund. Ciekawe, że jednak wysłało post...

Odnośnik do komentarza
Udostępnij na innych stronach

Hej.

Jesli to jest to co mi pisales, to roziazanie jest bardzo proste.

Po prostu umiesc kursor w pozycji x,y

i dopiero wtedy pisz to co chcesz.

Mazanie calego ekranu faktycznie moze spowodowac miganie.

 

Kiedys probowalem nauczyc sie c+ napisalem programik ktory szuka najkrotszej (najtanszej drogi).

Program zasypuje tablice liczbami 0-9 a nastepnie wyszukuje drogi z jednego rogu ekranu do drugiego zeby suma pol przez ktore przejdzie droga byla jak najmniejsza.

 

Sam zreszta zobacz, programik jest krotki, zaraz go zamieszcze.

Wybierz 1 losowe zapelnianie i zobacz np: animacje napisu.

 

Juz jest: POSZUKIWACZ NAJKROTSZEJ DROGI

https://gmclan.org/up7949_3_Poszukiwacz_naj...j_drogi_by.html

Odnośnik do komentarza
Udostępnij na innych stronach

@taxi_driver: Twój program nie wyszukuje najtańszej drogi. Założyłbym się, że gdybyś napisał program, który próbuje dojść z l.g. rogu do p.d. rogu, ale tym razem nie wybierał mniejszej z dwóch wartości (prawo-dół), tylko losował którąkolwiek, to koszt byłby mniejszy częściej niż w Twoim algorytmie.

Odnośnik do komentarza
Udostępnij na innych stronach

@taxi_driver: Założyłbym się, że gdybyś napisał program, który próbuje dojść z l.g. rogu do p.d. rogu, ale tym razem nie wybierał mniejszej z dwóch wartości (prawo-dół), tylko losował którąkolwiek, to koszt byłby mniejszy częściej niż w Twoim algorytmie.

 

Przegrałbyś. :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Żeby nie robić spamu pytam w tym temacie.

Przeładowałem sobie operator << do dodawanie tekstu do konsoli:

konsola& operator<< (string text)
    {
        tekst[linika] += _pl(text);
        draw();
        return (*this);
    }

jak dodać do tego endl takie jak w cout?

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...