CodinGame – czyli rywalizuj z innymi programując

in #polish7 years ago

Rozwiązywanie ciekawych problemów jest dla programistów dobrą zabawą jak i również świetną nauką. W czasach kiedy zaczynałem swoją przygodę z tą branżą, popularnym portalem zawierającym zadania do rozwiązania w różnych językach programowania był SPOJ. Jednak według mnie nie wciągał on na dłużej, a samo rozwiązywanie coraz większej liczby zadań było mało ciekawe. Brakowało tutaj elementu bezpośredniej rywalizacji z innymi, co czyni „grę” oraz zajmowanie coraz wyższych pozycji w rankingu niesamowitym wyzwaniem. Chęć bycia lepszym od innych i wygrywaniem jest tym co przyciąga nas do gry na dłużej. Jakiś czas temu trafiłem na portal CodinGame i na prawdę żałuję, że gdy zaczynałem i miałem mnóstwo czasu na rozwijanie się, nie było takiego serwisu.

Czym jest CodinGame?

CodinGame jest platformą dla programistów o różnym poziomie zaawansowania (każdy znajdzie coś dla siebie) umożliwiającą rozgrywkę, która polega na rozwiązywaniu różnych zadań. Do wyboru jest kilka trybów:

  • „Practice” – łamigłówki do samodzielnego rozwiązania
  • „Clash of Code” – szybka rozgrywka polegająca na rozwiązaniu prostego problemu
  • „Contest” – dłuższa rozgrywka trwająca kilka dni, polegająca na zaprogramowaniu bota, który rywalizuje z botami stworzonymi przez innych graczy

Rozwiązania nadsyłać można w różnych językach. Wybór jest naprawdę ogromny. Za wykonywane zadania dostajemy punkty doświadczenia co pozwala wbijać kolejne poziomy. Do odblokowania są rozmaite osiągnięcia np.:

Practice

Ten tryb rozgrywki jest w zasadzie identyczny jak na SPOJ i służy raczej jako trening do gry przeciwko innym graczom. Mamy tutaj do wykonania zadania o różnym poziomie trudności. W zależności od złożoności problemu danego zadania dostajemy odpowiednią ilość punktów doświadczenia.

Clash of Code

W tym trybie rozgrywki mamy do rozwiązania prosty problem w określonym czasie. Każdy z graczy może utworzyć taką rozgrywkę, do której następnie dołączają gracze. Maksymalnie dołączyć może ich ośmiu, jednak aby grę rozpocząć potrzebnych jest minimalnie dwóch graczy. Czas na rozwiązanie zadania zawiera się w przedziale od 5 do 15 minut. Zadania są podzielone na trzy typy:

  • Fastest – najszybsze przesłanie gotowego rozwiązania
  • Shortest – najkrótszy kod
  • Reverse – dostajemy wejście oraz wyjście i na ich podstawie musimy się domyślić jaki kod napisać

Warto tutaj dodać, że przy typie zadań na najkrótszy napisany kod niektóre języki programowania mają przewagę nad pozostałymi. Przykładowo kod napisany w pythonie lub rubym będzie dużo bardziej zwięzły niż java czy c++. Należy więc wybierać odpowiednie narzędzia do danego problemu, a nie ograniczać się tylko do jednego języka.

Contest

Rozgrywka w tym trybie organizowana jest co jakiś czas i trwa kilka dni (najbliższa zaplanowana jest na 10 dni). Tutaj do wygrania są już nagrody, jak i również możliwość aplikowania po konkursie na stanowiska dodane przez firmy.

Rozgrywka polega na napisaniu bota, który będzie rywalizował z botami stworzonymi przez innych graczy.

Jak przebiega rozwiązywanie zadań?

Poniżej przedstawiony został ekran rozwiązywania zadania w trybie Practice. Po lewej stronie jest opis problemu, w środku znajduje się edytor, gdzie możemy wybrać dany język programowania oraz automatycznie wstawiany jest szkielet programu, czyli obsługa wejścia/wyjścia, co ułatwia start. Pod edytorem znajdują się testy, które możemy odpalać w dowolnej kolejności, jak i zbiorowo wszystkie naraz. Gdy nasze rozwiązanie jest gotowe, przesyłamy je.

Podsumowanie

Według mnie CodinGame jest świetną platformą do nauki jak i rozrywki. Rozwiązywanie problemów i rywalizacja z innymi wciąga bardzo. Zachęcam więc do spróbowania swoich sił!

Sort:  

A czy jest płatne gdy przechodzi się do dalszych etapów? Bo korzystałem kiedyś z czegoś podobnego i później trzeba było już subskrypcje wykupić.

Nie jest płatne.

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://sarvendev.com/2017/04/codingame-czyli-rywalizuj-innymi-programujac/