Niedawno wpadłem na pomysł napisania jakiejś gry. Dawno niczego „twórczego” nie pisałem, a i pomysł akurat się przyplątał – napisać snake`a pod konsolę, dla treningu.
Żeby maksymalnie uprościć sobie pracę, wybrałem bibliotekę ncurses do obsługi klawiatury i ekranu. Wszystkie metody i pola wrzuciłem w klasę, dla czytelności i prostszych ewentualnych modyfikacji. Jakichś specjalnych rozwiązań brak, bo w końcu temat oklepany, jednak starałem się pisać i wymyślać wszystko od zera. Główna pętla chodzi na liczniku z użyciem clock(), wąż jest reprezentowany w pamięci jako lista jednokierunkowa. Kodziłem sobie we wdzięcznym IDE o nazwie Code::Blocks.
From Snake |
Obecna wersja to 0.5, lecz w zasadzie nie mam już pomysłów na jakieś nowe funkcje w tej grze. Różnice w stosunku do poprzednich wersji można śledzić w changelogu. Kod jest w miarę uporządkowany, można się przyczepić do mieszania języków w nazwach zmiennych, ale może to poprawię kiedyś.
Co do licencji, to nie myślałem nad tym dłużej, dlatego nie widzę problemu w wykorzystywaniu źródeł w różnych celach, jeżeli ktoś się będzie bawił w modyfikacje, to proszę tylko o umieszczenie informacji o autorze.
Oto link do pobrania źródeł (jest to paczka z projektem Code::Blocks, plik źródłowy to main.cpp):
Z góry dziękuję za wszelkie sugestie w komentarzach. 😉