Skocz do zawartości

Bono[UG]

Forumowicze
  • Liczba zawartości

    21128
  • Rejestracja

Reputacja

134 Excellent

7 obserwujących

O Bono[UG]

  • Tytuł
    Wiecznie niewyspany...
  • Urodziny 05.08.1980

Ostatnie wizyty

76446 wyświetleń profilu
  1. I jeżeli minimalizujemy ryzyko, to tak trzeba by robić. Niemniej warto podejść do sprawy realistycznie, bo z jednej strony koszty, z drugiej śmiecenie itp. rzeczy. Można mieć kilka wielorazowych plus trochę jednorazowych jako rezerwa. Od biedy jednorazowe pewnie można kilka razy przeprać czy w inny sposób zdezynfekować i w ten sposób wydłużyć jej życie. No ale kilka razy, a nie już cała postrzępiona i szara od brudu. Ja jestem w dosyć komfortowej sytuacji, bo w pracy nie muszę zakrywać się na okrągło, no i załatwili nam przyłbice, więc też inny komfort. Komunikacją miejską tak czy inaczej nie jeżdżę, prawie wszystko załatwiam na rowerze, więc jedynie jakieś zakupy wymagają zamaskowania się. Jak spędzę pół godziny w jednym sklepie to już dużo. Zamiast masek używam chust typu komin. Nie stanowi to aż tak dobrej osłony ale swobodniej się oddycha i lepiej przylega do twarzy, nie idzie powietrze gdzieś szparą. Zaleta taka, że jak jedna strona zrobi się wilgotna, to można obrócić kawałek i będzie sucho. Na początku jak trzeba było na zewnątrz nosić, to mi wystarczała jedna dziennie, po prostu zakładałem na powrót inną stroną do twarzy, do tego wcześniej po wysuszeniu dostawała "prysznic" z alkoholu. Potem do pralki i była na następny tydzień gotowa. Miałem już kilka, bo stosowałem regularnie jako nakrycie głowy pod kask, zimą do osłony twarzy. Musiałem dokupić kilka następnych, żeby codziennie mieć świeżą. Minus taki, że kask uniemożliwia założenie i zdjęcie, trzeba go zdejmować lub założyć chustę przed wyjściem. Bez kasku jest trochę luźna i zjeżdża z nosa. Trzeba było pisać, że praca fizyczna. Wtedy pewnie musiałaby zmieniać co godzinę, bo maska już cała wilgotna i jeszcze ciężej się oddycha. Jest jeszcze taki myk jak aklimatyzacja, dostosowanie się i przyzwyczajenie. Człowiek ma spore możliwości adaptacji i kompensacji, na początku jest ciężko ale potem wchodzi zmiana przyzwyczajeń, a także wyćwiczenie mięśni. Ciężko mi powiedzieć jak w pracy, czy dałoby radę nieco zwolnić. W sporcie na pewno można sobie lekko odpuścić tempo, tak samo jak to robi się zimą jak cieplejsze ciuchy krępują ruchy i gorzej sobie radzą z odprowadzeniem nadmiaru wilgoci i ciepła.
  2. Niech się w miarę możliwości przebada, bo to nie jest normalne u zdrowej osoby. Ewentualnie jakieś lewe te maski lub zbyt długo noszona jedna.
  3. Ale co w tym dziwnego? Nie na szmacie, to do nosa, gardła itd. by to szło. Problem jest z tym, że ludzie noszą te jednorazowe jako wielorazowe i w żaden sposób ich nie czyszczą, nie dezynfekują. Wtedy to sobie na twarz zakładają ścierkę do podłogi, a nie maseczkę.
  4. Na wiosnę kolega spotkał ale zwiał gdzieś w boczne ścieżki
  5. Ja bym powiedział, że jednak zadziałała, bo przez spory okres był spokój, a gwarancji braku infekcji nikt nie da. Trza na Kolbudy uciekać
  6. A tyle było radości przez pół roku, że nic nie łapiesz, a zwykle to by było już kilka infekcji. To jak to jest, statystyka cię zawiodła?
  7. Bono[UG]

    [C++] busy wait

    Popatrz jakie masz warunki, a jak wygląda plansza. Warunek "pozycja<1" jest spełniony tylko dla przypadku wylosowania 0, czyli w tym przypadku ściany/brzegu planszy. Podobnie "pozycja>rozmiar_tablicy-2". Jeżeli tablica ma rozmiar 10, to możesz się odwołać do indeksów 0-9. Sprawdzasz warunek dla liczb > od 8, czyli znowu tylko ściana nie spełnia warunku. Sprawę powinny załatwić nierówności tępe, czyli <= i >=, ewentualnie trzeba skorygować indeksy o 1. Widzę tutaj inny problem związany z wydajnością i możliwym powieszeniem programu. Funkcja rand zwraca wartości od 0 do mówiąc oględnie dużo. Potrzebujesz z tego bardzo małego wycinka wartości, szansa że trafisz w poprawne nie jest tak duża, więc pętle mogą mielić się dosyć długo (w teorii to i w nieskończoność). W opisie funkcji masz podane przykłady jak losować wartości z przedziału 0-X przy wykorzystaniu działania modulo. Tutaj warto jeszcze zadbać o przesunięcie wartości. Dla planszy o rozmiarze 10, chcesz wybrać pozycję z przedziału [2;7], to jest 6 wartości (10-2xściana-2xpole_obok_ściany). Wystarczy losować z przedziału 0-5 i zwiększyć wartość o 2 (za dużo podpowiadam ), odpadają wtedy te dwie pierwsze pętle, bo nie wylosujesz spoza przedziału, który chcesz. Kolejnej pętli i warunku nie unikniesz. Może tak być, choćby ze względu na losowanie pokarmu. Im dłuższy wąż, tym mniej wolnych pól. Można pokombinować jak obejść ten problem ale to może później jakby był problem z wylosowaniem kolejnego pokarmu przy większym wypełnieniu planszy. Przy powiększającym się wężu również przepisywanie tablicy z nim trwa dłużej, choć nie powinno to w tym przypadku drastycznie wpływać na wydajność (może przy jakiejś dużej planszy). Nie jako tylko głowę i ogon, a jako listę, bo wtedy operacje przesunięcia węża sprowadzałyby się na manipulacji głową i ogonem, środka nie trzeba zmieniać. Ale nadal trzeba pamiętać środek, żeby wiedzieć gdzie się znajduje wąż i jaki ma kształt. Np. mamy węża na pozycjach: (3,4)(3,5)(3,6)(3,7). Powiedzmy, że wykonamy ruch w dół, wtedy na początek listy dostawiamy nowy element i będzie to wyglądało tak: (4,4)(3,4)(3,5)(3,6)(3,7). Jeżeli wąż nic nie zjadł, to nie wydłużył się, więc trzeba uciąć ogon: (4,4)(3,4)(3,5)(3,6). Jeżeli coś by zjadł, to wystarczy samo dostawienie nowej głowy. Trochę więcej kombinowania jakby był jakiś super pokarm, który mocniej wydłuża ale rozbijając to na kilka ruchów da się łatwo ogarnąć licznikiem posiłku (np. przy zwykłym pokarmie zwiększasz licznik o 1, przy solidniejszym o 2, 3 czy ile się tam wymyśli, przy przesuwaniu węża jeżeli licznik !=0 to nie obcinasz ogona i zmniejszasz licznik o 1). Widzę tu jeszcze pole do poprawy. Najpierw czyścisz ekran, a potem zapełniasz bufor i go wyświetlasz. Między operacją czyszczenia, a wyświetlenia mija trochę czasu na przerzucenie danych do bufora. Lepiej najpierw załadować do bufora, a potem wyczyścić ekran i wyświetlić bufor, będzie mniejsza przerwa. Wymaga to przekonstruowania funkcji wyświetlającej, może zawierać wszystkie operacje związane z aktualizacją obrazu (czyszczenie, aktualny wynik, plansza) lub zwracać przygotowany bufor do wypisania. Drobna poprawka, to if-y od rysowania kierunku ruchu węża. Niepotrzebnie za każdym razem są sprawdzane wszystkie warunki. Jeżeli pierwszy jest spełniony, to po co kolejne też sprawdzać? Do zastosowania konstrukcja if else if ... lub switch. Chyba zgubiłeś wcześniejsze wyjście z gry. Jest jeszcze kilka innych miejsc, gdzie warunki niekoniecznie są sensownie ustawione lub można trochę wydajność poprawić ale to na potem.
  8. A do jakiego zastosowania? Jakiej wymagasz wydajności? Ile możesz wydać?
×
×
  • Dodaj nową pozycję...