Skip to content

Programowanie dla GC #1 - JavaScript Mystery Cache

Hidden : 12/6/2022
Difficulty:
1.5 out of 5
Terrain:
2 out of 5

Size: Size:   micro (micro)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:


Aby w pełni "skorzystać" z listingu, należy przez niego przejść na komputerze w dowolnej przeglądarce internetowej.

Nie, nie. To nie jest kolejna programistyczna zagadka, która wymaga od Ciebie jakichś specjalnych zdolności, albo - co gorsza - w której nie wiadomo o co chodzi. Wręcz przeciwnie! Chciałbym podzielić się z Tobą kilkoma narzędziami, które mogą Ci się przydać przy rozwiązywaniu keszowych zagadek, a które mają jakiś związek z programowaniem.

Do pracy wykorzystamy język JavaScript, który każdy ma u siebie, w swojej przeglądarce internetowej i nie trzeba nic więcej instalować. W pierwszej zagadce pokażę Ci, jak wykonywać kod w JavaScript (JS), co tam można robić i po co nam to w ogóle.

W przeglądarce wcikasz F12 (tak, teraz, czytając ten listing). Jeśli nic się nie dzieje, możesz też spróbować Ctrl+Shift+J lub kliknąć prawym klawiszem myszy byle gdzie i wybrać opcję ZbadajInspectSprawdź element czy coś podobnego. W końcu powinno otworzyć się okienko Narzędzi deweloperskich podobne do tego z obrazka poniżej. Wejdź do karty Console lub Konsola. Zapamiętaj, jak tu dotarłeś - następnym razem będzie to dla Ciebie szybsze - zobaczysz! Warto też na początek wyczyścić konsolę z błędów, które mogły do niej trafić podczas renderowania strony - dzięki temu nic Cię nie będzie rozpraszać.

Konsola w narzędziach deweloperskich przeglądarek to interaktywne miejsce, gdzie możesz wpisywać kod i go wykonywać za pomocą klawisza Enter. No ale co można wpisać? Na przykład wszelkie działania matematyczne. Spróbuj: 2+2 i Enter. Dodawanie i odejmowanie to "normalnie" + i -, natomiast mnożenie to gwiazdka * a dzielenie - slash /.

Poza podstawowymi działaniami w silniku JS jest dostępna również klasa Math, która zawiera całą masę przeróżnych działań matematycznych. Jeśli wpiszesz Math. (Math i kropka) to powinieneś/powinnaś otrzymać podpowiedzi czego tam można użyć. Działania te należy wykonywać już przy użyciu funkcji z programowania. Bez wdawania się w szczegóły - nie mamy tu już żadnego operatora takiego jak + czy -, ale po prostu nazywamy działanie i w nawiasach podajemy jego argumenty/składniki. Ich liczba zależy oczywiście od tego, co robimy. Przykłady:

Masz więc zawsze pod ręką do dyspozycji dość potężny kalkulator.

Co możesz robić poza działaniami matematycznymi? Wszystko, co udostępnia nam silnik języka JS w przeglądarce. Np. funkcja alert wyświeli Ci okropne okno dialogowe.

alert("JS przyda mi się przy keszowaniu")

Możesz też wchodzić w interakcję z wyświetloną stroną, np:

document.body.remove()

(UPS! Jeśli zniknęło wszystko - odśwież stronę :-)

O takich interakcjach napiszę w innym lekcji keszu z serii. Teraz - już dość tego programowania - leć po pojemnik! Jest on na poniższych współrzędnych:

TiA1MMKwIDA0LjEwMycgRSAwMTnCsCA1NS4yNTYn

Są one zakodowane algorytmem Base64. Twoja konsola potrafi to odkodować! Wystarczy użyć odpowiedniej funkcji: atob.

PS. Jeśli nie wiesz jak użyć danej funkcji, wystarczy że poszukasz jej dokumentacji, np. frazą alert javascript.

Additional Hints (Decrypt)

rz5unj==

Decryption Key

A|B|C|D|E|F|G|H|I|J|K|L|M
-------------------------
N|O|P|Q|R|S|T|U|V|W|X|Y|Z

(letter above equals below, and vice versa)