Skip to content

pstankiewicz/time-machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

time-machine

Wstęp

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ć! ;)

O co chodzi?

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:

  1. 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
  2. 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

Nadal nie wiesz o co chodzi?

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 :).

Nagrody

Jak zwykle nagrody to niespodzianki, ale znacie mnie - jestem w stanie wymyślić coś fajnego i nietuzinkowego.

Wymogi formalne

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published