Fab-Hack
Zasady FabHacku
W każdą pierwszą sobotę miesiąca o 9:00 startuje nasz FAB-HACK! Co to oznacza?
Na podanego podczas zapisów maila dostajesz zadanie programistyczne, które można wykonać w dowolnym z trzech języków: C++, Java, Python. W mailu dostaniesz wszelkie instrukcje dotyczące wykonania zadania. Po rozwiązaniu zadania należy je załadować na publiczne repozytorium GitHub, a następnie umieścić link do niego w odpowiedzi na wysłanego przez nas maila do końca wyznaczonego czasu.
Zapisy trwają do końca piątku poprzedzającego datę FAB-HACK.
Przykład: Graficzna symulacja działania skrzyżowania wraz z sygnalizacją świetlną
-
Środowisko symulacji
- Wybrać język programowania: C++, Java albo Python.
- Utworzyć aplikację z graficzną wizualizacją skrzyżowania (np. GUI, biblioteka graficzna).
- Przedstawić na ekranie skrzyżowanie z sygnalizacją świetlną i pojazdami.
-
Model pojazdu
- Każdy pojazd jest osobnym wątkiem.
- Pojazd porusza się w stronę skrzyżowania.
- Dla każdego pojazdu losowany jest kierunek ruchu: jazda na wprost, skręt w lewo, skręt w prawo.
-
Zasady ruchu
- Pojazdy muszą przestrzegać sygnalizacji świetlnej.
- Pojazdy zatrzymują się na czerwonym świetle, ruszają na zielonym.
- Ruch powinien być płynny i zsynchronizowany z czasem zmiany świateł.
-
Sygnalizacja świetlna
- Zaimplementować system świateł na skrzyżowaniu.
- Światła powinny zmieniać się w cyklach (np. zielone → żółte → czerwone).
- Cykl musi obowiązywać wszystkie pasy ruchu.
-
Symulacja ruchu
- Nowe pojazdy powinny być generowane losowo.
- Symulacja powinna pokazywać wiele pojazdów jednocześnie.
- Powinno być widoczne, że pojazdy „czekają” przed światłami i wjeżdżają na skrzyżowanie dopiero przy odpowiednim sygnale.
-
Techniczne wymagania
- Użyć wielowątkowości do reprezentacji niezależnych pojazdów.
- Użyć wybranej biblioteki graficznej (np. Python: tkinter, pygame, PyQt, Java: JavaFX, Swing, C++: SFML, Qt).
- Zadbać o synchronizację wątków, aby pojazdy nie wjeżdżały na skrzyżowanie wbrew zasadom.
-
Kryteria ukończenia
- Symulacja działa do momentu jej zatrzymania przez użytkownika.
- Na ekranie widoczne są: skrzyżowanie, sygnalizacja, pojazdy.
- Pojazdy poruszają się zgodnie z wylosowanym kierunkiem i zatrzymują się na czerwonym świetle.
-
Termin realizacji
- Do dziś, godz. 24:00.
-
Środowisko symulacji
- Wybrać język programowania: C++, Java albo Python.
- Utworzyć aplikację z graficzną wizualizacją skrzyżowania (np. GUI, biblioteka graficzna).
- Przedstawić na ekranie skrzyżowanie z sygnalizacją świetlną i pojazdami.
-
Model pojazdu
- Każdy pojazd jest osobnym wątkiem.
- Pojazd porusza się w stronę skrzyżowania.
- Dla każdego pojazdu losowany jest kierunek ruchu: jazda na wprost, skręt w lewo, skręt w prawo.
-
Zasady ruchu
- Pojazdy muszą przestrzegać sygnalizacji świetlnej.
- Pojazdy zatrzymują się na czerwonym świetle, ruszają na zielonym.
- Ruch powinien być płynny i zsynchronizowany z czasem zmiany świateł.
-
Sygnalizacja świetlna
- Zaimplementować system świateł na skrzyżowaniu.
- Światła powinny zmieniać się w cyklach (np. zielone → żółte → czerwone).
- Cykl musi obowiązywać wszystkie pasy ruchu.
-
Symulacja ruchu
- Nowe pojazdy powinny być generowane losowo.
- Symulacja powinna pokazywać wiele pojazdów jednocześnie.
- Powinno być widoczne, że pojazdy „czekają” przed światłami i wjeżdżają na skrzyżowanie dopiero przy odpowiednim sygnale.
-
Techniczne wymagania
- Użyć wielowątkowości do reprezentacji niezależnych pojazdów.
- Użyć wybranej biblioteki graficznej (np. Python: tkinter, pygame, PyQt, Java: JavaFX, Swing, C++: SFML, Qt).
- Zadbać o synchronizację wątków, aby pojazdy nie wjeżdżały na skrzyżowanie wbrew zasadom.
-
Kryteria ukończenia
- Symulacja działa do momentu jej zatrzymania przez użytkownika.
- Na ekranie widoczne są: skrzyżowanie, sygnalizacja, pojazdy.
- Pojazdy poruszają się zgodnie z wylosowanym kierunkiem i zatrzymują się na czerwonym świetle.
-
Termin realizacji
- Do dziś, godz. 24:00.
Nadchodzące FabHacki
Historia FabHacków
| Data Fabhacku | Temat Fabhacku | Liczba uczestników | Zwycięzca |
|---|---|---|---|
| 08.11.2025 | Dron w kosmosie | 14 | — |
| 04.10.2025 | System czasu | 18 | Kamila J. |