Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Przyjemne programowanie — CodinGame

Wiele osób lubi poświęcać czas wolny na różne logiczne łamigłówki. Jedni rozwiązują sudoku, kolejni krzyżówki, zagadki oraz obrazki logiczne. Wybór jest naprawdę spory. Jeżeli jednak interesujesz się programowaniem i dzięki świetnej zabawie oraz rywalizacji chcesz wprowadzić swój skill na kolejny poziom nie możesz przejść obojętnie obok CodinGame!

Dlaczego CodinGame jest wart mojego wolnego czasu?

Wielki wybór zadań do wykonania

Zagadek do wykonania jest naprawdę wiele. Wszystkie są podzielone na odpowiednie kategorie dostosowane do umiejętności. Znajdziemy zatem gry na poziomie łatwym, średnim, trudnym i bardzo trudnym (dodatkową kategorią są jeszcze zadania optymalizacyjne). Pozwala to na rozpoczęcie zabawy w każdym momencie – niezależnie czy jesteśmy amatorami piszącymi wieczorami swoją pierwszą grę, czy klepiemy kod w najlepszych firmach. Same zagadki budowane są na zasadzie “easy to learn, hard to master”. Dzięki temu szybko zobaczymy postępy, jednak żeby uzyskać naprawdę dobry wynik trzeba będzie się postarać. Wielkim plusem są nawiązania do popularnych motywów z filmów, seriali i książek. Tak więc jeśli zdecydujesz się na CodinGame, będziesz musiał pomóc Batmanowi, powstrzymać Skynet i czasami zaszyfrować wiadomość dla Chucka Norrisa. Dodatkowo przyjemna oprawa graficzna oraz dość wygodny edytor tylko zachęca do pisania linijek kodu.

Achievementy i rywalizacja!

Nic nie działa na człowieka tak dobrze jak rywalizacja i jasny cel do osiągnięcia. Twórcy zastosowali tu popularny system osiągnięć. Muszę przyznać, że to faktycznie działa. Parę razy przyłapałem się na siedzeniu przed monitorem i próbie ulepszenia swojego rozwiązania tylko żeby dostać upragniony wpis w profilu. Chyba nie muszę pisać jak wpływa to na kreatywność w programowaniu.

Duży wybór języków programowania

Słowo “duży” nie oznacza tutaj zbioru “C++, C#, Java”. Platforma CodinGame udostępnia… 23 języki! Tak więc każdy znajdzie coś dla siebie. Śmiałkowie mogą rozwiązywać swoje zagadki nawet w bashu. Za rozwiązywanie zagadek w wielu językach, szczególnie tych mało popularnych często dostaje się specjalne osiągnięcia, więc jeśli już je kolekcjonujemy to warto nauczyć się kilku nowych składni.

Tryb multiplayer

Raz na parę miesięcy odbywają się gry w trybie multiplayer. Można je podzielić w sumie na dwa typy:

  • optymalizacyjne – gdzie liczy się jak najlepszy wynik w testach rankingowych (o tym trochę niżej)
  • pisania AI – gdzie programy walczą ze sobą

Niestety nigdy nie pasowały mi terminowo rozgrywki z drugiej kategorii, więc opiszę tylko pierwszą grupę czyli zagadki optymalizacyjne. Standardowo dostajemy krótkie wprowadzenie w formie historyjki, nasz cel, dane i przykłady. Żeby sprawdzać, czy nasze rozwiązanie jest dobre przygotowane zostały specjalne testy przez które nasz program przechodzi. Testy (jak ja to nazywam) rankingowe różnią się danymi od testów, które możesz sam przeprowadzać. Wszystko to żeby zapobiec zapisaniu wyników “na sztywno” w kodzie. Gdy osiągniemy 100% (co w np. ostatniej grze Code of the Rings udało mi się chyba w ok. 40 minut) możemy przejść do rywalizacji rankingowej. Tutaj zaczynają się schody, bo inni gracze ustalają nam poprzeczkę. Większość czasu przeznaczamy na poprawę swojego kodu, tak aby wyjście było jak najlepsze. Za pierwsze miejsca są nagrody (+ za 1 miejsce w danym języku) oraz oferty pracy (ostatnio pojawiła się nawet w Polsce!).

Code of the Rings, czyli niedawno odbyta gra polegała na wypisaniu jak najkrótszego ciągu poleceń dla Bilba, który miał wpisać odpowiedni tekst. Myślę, że najlepiej zobrazuje to jeden z testów, który musiał zostać wykonany.

Tutaj warto jeszcze dodać, że pod uwagę brany był tylko wynik programu i to właśnie ten wynik powinien być jak najkrótszy – ruchy Bilba i czas wykonania programu nie były liczone. Udało mi się zdobyć 671 miejsce na 2618 graczy. Nie jestem jednak do końca z tego zadowolony, gdybym posiedział dłużej (gra trwała 24h), myślę że udałoby mi się zaimplementować dodatkową funkcję i skoczyłbym może na ok. 400 miejsce.

Podsumowanie

Jeśli ten tekst zachęcił Cię do tej wspaniałej zabawy to bardzo się cieszę. Warto już od teraz wczuć się w CodinGame, ponieważ 26 września rusza kolejna gra multiplayer – “Back to the Code”. Zostało mi tylko życzyć wam wielu nagród i wysokich miejsc! 

programowanie gry hobby

Komentarze

0 nowych
GBM MODERATOR BLOGA  19 #1 15.07.2015 12:43
Astis   3 #2 15.07.2015 13:27

@GBM: Mój, udostępniam go w paru miejscach, żeby został przeczytany przez więcej osób. Dla niedowiarków wystarczy spojrzeć na nicki (te na portalach i screenach) ;)

Autor edytował komentarz.
SebaZ   15 #3 15.07.2015 14:48

Inicjatywa bardzo fajna. W samym tekście jednak, dla mnie, za dużo zapożyczeń językowych:
skill - umiejętność
achievement - osiągnięcie
Ogolnie dobrze się czyta, ale te dwa słowa rażą mnie okrutnie w oczy, ale może tylko mnie, więc się mnie przejmuj.

Ciekawy opis, aż sam nabrałem chęci :)

GBM MODERATOR BLOGA  19 #4 15.07.2015 14:50

@Astis: Ok, lepiej spytać - już były tu przypadki kopiowania bez zgody autora ;)

Niedowiarkiem nie jestem, ale za to leniem - więc wolę spytać niż weryfikować głębiej ;)

Astis   3 #5 15.07.2015 15:57

@SebaZ: Dzięki za opinię. Słowo "skill" można faktycznie zastąpić polskim odpowiednikiem, jednak "achievement" dość mocno się przyjął w tematyce gier więc zastosowałem go jako zamiennik.

kuba3351   8 #6 15.07.2015 19:26

Podoba mi się :D Bardzo fajne, tylko szkoda że po angielsku :D

Zulowski   8 #7 15.07.2015 22:17

Do zakładek, w przyszłym tygodniu obczaję...
O ile nie pochłonie mnie poznawanie nowego Visual Studio (tak, już za 5 dni! ).
Dzięki.

__Tux__   12 #8 16.07.2015 12:40

@SebaZ: Nie tylko Ciebie! Cieszmy się, że na razie jeszcze nikt nie chce nam wydłubać oczu za obronę polszczyzny :-) .

awangardowy   7 #9 29.07.2015 01:10

pokaze dziewczynie, moze w koncu mi się uda ją wkręcić w prg :P

Astis   3 #10 29.07.2015 20:24

@awangardowy: Powodzenia! ;)