W dzisiejszym odcinku kontynuujemy prace nad komputerową wersją gry showdown, którą doprowadziliśmy do wersji umożliwiającej pierwszą wymianę piłek z komputerem. Niepokonany przeciwnik Problem z komputerem polega jednak na tym, że aktualnie jest on przeciwnikiem niemożliwym do pokonania. Jak pamiętamy, metoda work komputerowego gracza polega na odbijaniu piłki, jeśli to tylko jest możliwe, co oznacza, że… Czytaj dalej 16. Showdown 3. Czy stół nadaje się na managera?
Kategoria: Uncategorized
15. Showdown 2. Jak bije serce gry?
W moim poprzednim wpisie rozpoczęliśmy prace nad komputerową wersją gry Showdown. Doprowadziliśmy do sytuacji, że przemieszczanie obiektów klasy GameObject prawidłowo i automatycznie aktualizuje parametry powiązanych z nimi dźwięków. Ale te atrybuty (balans i głośność) nie zależą jedynie od właściciela dźwięku, gdyż również od położenia słuchacza. Jeśli zmieni się położenie słuchacza, żaden dźwięk nie zaktualizuje automatycznie… Czytaj dalej 15. Showdown 2. Jak bije serce gry?
14. Komputerowy showdown, czyli zaczynamy kolejną grę
Nasza poprzednia gra, pozwalająca zmierzyć czas reakcji użytkownika na odtwarzanie dźwięku, była dość statyczna. Czas pójść krok dalej i stworzyć coś nieco bardziej dynamicznego. Zajmiemy się napisaniem komputerowej symulacji showdown, gry, w której zawodnicy odbijają paletkami brzęczącą piłeczkę, toczącą się po stole. W prawdziwym Showdown, stół ma kształt prostokąta z bardzo mocno zaokrąglonymi narożnikami, na… Czytaj dalej 14. Komputerowy showdown, czyli zaczynamy kolejną grę
13. Wsiadamy do trolejbusu
Ostatnio omówiliśmy sposób na przekazywanie informacji zdalnych, a także zaprezentowaliśmy przykład wykorzystania takiej informacji, wyświetlając listę wszystkich linii komunikacji miejskiej w Gdyni. Dziś podążymy dalej tym tropem i napiszemy dość toporne, ale pełne oprogramowanie do wyświetlania rozkładu jazdy. Zacznijmy od posortowania Ostatnio sortowaliśmy linie, wykonując kilka porównań. Jak wtedy pisałem, jest to rozwiązanie szybkie, ale… Czytaj dalej 13. Wsiadamy do trolejbusu
12. Budujemy piaskownicę, czyli pomocnik programisty.
W dotychczasowych działaniach, dość wygodnie korzystało się nam z konsoli Eltena do tworzenia kodu. Gdybyśmy jednak chcieli pominąć etap konsoli i rozpocząć prace nad naszym własnym programem w jego dedykowanym folderze wewnątrz apps, natrafiamy na problemy: Każda zmiana w naszym programie wymaga przeładowania Eltena, co jest uciążliwe. Jeśli wprowadziliśmy przypadkiem jakiś błąd w kodzie, to… Czytaj dalej 12. Budujemy piaskownicę, czyli pomocnik programisty.
11. Podglądamy trolejbusy, czyli uczymy się pracować z otwartymi danymi
Dzisiaj zaczniemy kolejny ambitny projekt, mianowicie spróbujemy napisać program do sprawdzania rozkładu jazdy komunikacji miejskiej w Gdyni. API resztowe W jaki sposób można dowiedzieć się o aktualnym rozkładzie autobusów? Naturalnie najlepiej pójść na przystanek i sprawdzić na tablicy odjazdów. Można też zajrzeć na stronę Internetową odpowiedniego wydziału transportu miejskiego. Jak jednak sobie z tym problemem… Czytaj dalej 11. Podglądamy trolejbusy, czyli uczymy się pracować z otwartymi danymi
10. Budujemy szkołę
Do tej pory definiowane przez nas klasy miały konkretny cel zgrupowania pewnych metod albo, szerzej, operowania konkretnym obiektem, na przykład dźwiękiem. Pierwotnie jednak ich cel był zupełnie inny. Od samego początku istnienia komputerów pojawiały się pewne dane powtarzalne dla licznych elementów. Wyobraźmy sobie, że chcemy zapisać dane o jakimś człowieku, będą to imię, nazwisko oraz… Czytaj dalej 10. Budujemy szkołę
9. Listy… Do nikogo, czyli podejmujemy trudne wybory
W moim poprzednim odcinku udało nam się napisać nasz pierwszy formularz. Składał się on z kilku pól tekstowych i przycisków. W praktyce jednak napotykamy znacznie więcej kontrolek. Najważniejszą z nich są listy. Listy pozwalają nam zaznaczyć jedną (lub więcej) opcji z przedstawionej kolekcji. Raz pozwolą nam na wywoływanie dalszych opcji, raz jedynie poproszą o wskazanie… Czytaj dalej 9. Listy… Do nikogo, czyli podejmujemy trudne wybory
8. Wracamy do gry
W dzisiejszym odcinku napiszemy naszą klasę, wytworzymy parę własnych obiektów, poskładamy w całość elementy pozbierane w poprzednim odcinku i nie spoczniemy, dopóki nie wejdziemy do działającej gry. Ulepszamy funkcję sleep Na początek wyodrębnijmy do wielokrotnego użytku ulepszoną funkcję sleep, którą omawialiśmy w moim poprzednim wpisie. Prócz oczekiwania określoną ilość sekund z częstym wywoływaniem loop_update chcemy… Czytaj dalej 8. Wracamy do gry
7. Formularze #1, czyli otwieramy okno, bez zbijania szyby
Nasze pierwsze programy zawierały proste menu wykonujące konkretne czynności. Czasem jednak jest wymagana znacznie większa interakcja z użytkownikiem, to musi coś wpisać, to coś przełączyć, wcisnąć przycisk… Wyobraźmy sobie, że zapragnęło nam się napisać program, który pozwala na dodanie dwóch liczb. Najprostsze wejście Najprostszą funkcją, która pozwala pobrać dane od użytkownika jest “input_text”. W pierwszym… Czytaj dalej 7. Formularze #1, czyli otwieramy okno, bez zbijania szyby