Stało się! Kod Janka przeszedł niezauważony przez review, przez jenkinsa (bez testów) i przez czujne oko Piotyra...
Marcin zwyczajowo klepnął okejkę bez czytania, a migracja Łukasza postawiła przysłowiową kropkę nad i.
Ostatni merge, wrzuta i już było za późno - iskry, trzaski, zawieszone maszyny w GCP i miliardy linii logów...
Wszystko to na nic, bo nie było zespołu CP, który mógłby to przeanalizować i odkręcić to, co zostało zakręcone jak białoruski słoik z kartoszką.
Zniknęli w tunelu, który otworzył się znienacka pod każdym z nich - jak w najtańszych filmach SF z domieszką horroru. Oj narobiło się...
...
Budzisz się w innej rzeczywistości - przed oczami masz szałową meblościankę z płyty wiórowej w gustownym gównianobrązowym kolorze.
Wyglądasz przez okno i widzisz ludzi chodzących po chodnikach z rolkami papieru toaletowego zawieszonymi na szyjach, a raz na jakiś po ulicy przejeżdża czerwony fiat lub żółtawy maluch.
Neony Pewexu mrugają do Ciebie zachęcająco...
Co się dzieje? - zadajesz sobie pytanie.
Krótka analiza faktów i ustalasz, że Janek stworzył kod maszyny czasu, a Ty, podobnie jak reszta członków zespołu wylądowaliście w przeszłości sprzed jakichś 30 lat.
No dobra, to co? Przydałoby się coś zakodować! ;)
Wyzwanie jest proste:
- są cztery etapy
- każdy etap zadania trwa przez określony czas
- każde zadanie musi zostać wykonane zgodnie z założeniami
- każde zadanie jest oceniane wg określonych niżej wytycznych
- zwycięzcą zostaje ta osoba, która na koniec wyzwania zdobędzie najwięcej punktów
Wytyczne punktacji:
-
Dostarczenie zadania
- dostarczenie zadania w pliku txt - 1 bit
- dostarczenie zadania w obrazie dającym się uruchomić na emulatorze/realnej maszynie - 2 bity
- dostarczenie zadania na fizycznym nośniku - 4 bity
-
Wykonanie zadania
- zadanie działające w 100% zgodnie z założeniami - 5 bitów
- zadanie działające ale nie w 100% zgodnie z założeniami - 3 bity
- zadanie działające ale w ogóle nie spełniające założeń - 1 bit
Jak łatwo policzyć osoba zrobiwszy wszystko bezbłędnie ale dostarczając zadania w plikach tekstowych może zdobyć max 24 bity, natomiast osoba która nie zrobi wszystkiego poprawnie ale dostarczy zadania na fizycznych nośnikach zdobędzie 28 bitów. Także warto powaliczyć o fizyczne nośniki :D
Przeniosłeś się w czasie, więc do dyspozycji masz komputery z epoki, a będą to:
- C64/C128 (kaseta/dyskietka)
- Atari XL/XE (kaseta/dyskietka)
- ZX Spectrum (kaseta)
- ZX81 (kaseta)
- BBC Micro B (kaseta)
- Amstrad CPC 464/664/6128 (kaseta/dyskietka)
- MSX (kaseta/dyskietka)
Możesz użyć dowolnych narzędzi developmentu - nawet współczesnych IDE (nie dam rady tego sprawdzić i tak), ale kod będzie sprawdzany na prawdziwych maszynach.
Crossdev nie jest dozwolony - to już sprawdzę w taki sposób, że rozwiązania będę wklepywał/wczytywał i kompilował/interpretował na prawdziwym sprzęcie.
Język programowania dowolny (w tamtych czasach pythona nie było, a najbardziej rozpowszechniony wśród użytkowników tych komputerów był BASIC).
Oprócz BASIC'a ówczesne komputery uruchamiały inne języki np.: pascal, forth, logo, wielu programistów pisało również w assemblerze :).
I najważniejsze - baw się dobrze :).
Jak zwykle nagrody to niespodzianki, ale znacie mnie - jestem w stanie wymyślić coś fajnego i nietuzinkowego.
Każde zgłoszenie musi posiadać kod (oczywiste) oraz uproszczoną instrukcję uruchomienia (np. użyte kompilatory lub interpretery, wytyczne dotyczące uruchamiania itp.).
Każde zgłoszenie musi być podpisane.