Allegro.js

Czym jest Allegro.js?

Allegro.js to biblioteka JavaScript napisana przez Sosa Sosowskiego. Przepisał on stare, poczciwe Allegro4, aby można było go używać do pisania gier przeglądarkowych, kompatybilnych z HTML5. Nasze aplikacje zadziałają więc na komputerze, smartfonie i tablecie. Na stronie domowej biblioteki, możemy przeczytać, że allegro.js nie jest zorientowane obiektowo oraz że można używać go za darmo. Jest tam też dostępny tutorial.

Pong

Moja pierwsza gra w allegro.js to prosty Pong, inspirowany między innymi grą Jardinains. Poruszamy się paletką za pomocą strzałek i staramy się zdobyć jak najwięcej punktów odbijając spadające klocki. Im dłużej odbijamy konkretny klocek, tym więcej punktów on daje. Po kilku odbiciach dostajemy też bonus – poszerzenie paletki lub dodatkowe punkty.

Aby zagrać, kliknij w ten link.

Skrót implementacji

Implementacja używa zwykłych tablic, w których znajdują się struktury. Dla przykładu tablica klocki[] posiada pola: x, y, vx, vy, width, height zapamiętujące pozycję, prędkość i rozmiar każdego klocka. Dodatkowo w strukturze mam zmienne boolowskie(prawda albo fałsz), aby sprawdzić, czy klocek jest zbity.

Kolizje ze ścianami bocznymi: Jeśli klocek wyleciał za daleko, czyli jego pozycja w osi X, jest większa od szerokości ekranu lub jest mniejsza od zera, mnożę jego prędkość razy minus jeden, przez co klocek zawraca, gdy spotyka krawędź ekranu.

Kolizja klocka z paletką nie jest aż tak prosta. Musimy bowiem nadać klockowi pewną prędkość zależną od miejsca, w którym zderzył się z paletką. Im bliżej środka rakietki, tym mniejszy kąt odbicia (klocek.vx zależy od klocek.x-paletka.x).
Samo sprawdzenie czy kolizja wystąpiła, można przeprowadzić następująco:

 

Prosta gra konsolowa ze zgadywaniem liczb.

W grze naszym celem jest zgadywanie liczb z przedziału od 0 do 1000.
Komputer losuje nam liczbę np.(358). My wpisujemy np. 500 po czym otrzymujemy zwrotną informację, czy nasza liczba jest większa, czy mniejsza od wylosowanej: ‚500 to za dużo’.
Po zgadnięciu liczby otrzymujemy punkty według wzoru: ( 10 – liczba strzałów ) * 10.
Po zdobyciu 100 punktów wygrywamy grę.
Grę zaimplementowałem w języku ruby

Mastermind 1.0 – konsolowa gra w języku Ruby

Mastermind 1.0

W grze chodzi o odgadnięcie ukrytego kodu, przy czym komputer zlicza nam ilość prób po której odgadniemy kod.

Taki kod składa się z 4 cyfr od 1 do 4 (cyfry mogą się powtarzać)
Kod jest generowany przez komputer i może wyglądać jak jeden z poniższych:
– 2134
– 4223
– 1332

W pierwotnej wersji gry było maksymalnie 10 prób, a w mojej można zgadywać ile razy się chce. Ale skąd mamy wiedzieć, jak zgadywać aby wygrać? Wykorzystujemy informacje zwrotne od komputera.
Załóżmy sobie, że komputer wylosował kod: 3214
My wpisujemy np. 1234 i w odpowiedzi otrzymujemy ilość cyfr, które występują w kodzie (4) i ile z nich znajduje się na dobrym miejscu (2)
1234 4 2
1324 4 1
1243 4 1
2134 4 1
3214 4 4

Inny przykład:
1234 3 3
2244 2 1
1231 3 3
1232

Odgadłeś kod po 4 próbach.

Grę napisałem w języku ruby. Składa się ona z dwóch plików, o następującym kodzie:

Zmiana poziomu trudności gry:
Aby zmienić długość kodu do zgadnięcia i/lub ilość cyfr z jakich ma się on składać wystarczy w pliku Code.rb zmienić
@@length = 4
@@complexity = 4
na wybrane przez siebie liczby, z tym że:
długość(length) ma być większa od zera,
a druga liczba(poziom skomplikowania) musi być cyfrą większą od zera. Jeśli zmienisz complexity na liczbę dwucyfrową albo większą, program nie będzie działał poprawnie.

Jak uruchomić Mastermind (system windows)?
Instalacja:

Potrzebujesz zainstalować ruby na swoim komputerze.
Można pobrać za darmo z: http://rubyinstaller.org​/downloads/
Zainstaluj odpowiednią dla siebie wersję (polecam pierwszą z góry).

Na pulpicie utwórz katalog „Mastermind„, w którym stworzysz pliki „Code.rb” oraz „Game.rb„.
Przekopiuj do nich powyższy kod.

W systemowej wyszukiwarce wpisujemy cmd. Naszym oczom powinno ukazać się „Wiersz Polecenia” oraz „Start Command Prompt with Ruby”, w które klikamy.
Powinna wyświetlić się nam konsola.
Przechodzimy do miejsca, gdzie mamy naszą grę. Jak?
Polecenie cd Desktop powinno przenieść nas do pulpitu.
Następnie cd Mastermind przeniesie nas do katalogu Mastermind
Wystarczy już wpisać: ruby Game.rb Gra powinna już chodzić. 🙂
W tej wersji, po wygranej, gra nam się wyłączy, aby zagrać jeszcze raz naciśnij strzałkę do góry a następnie enter (w ten sposób wykonasz ostatnie polecenie jakie wpisałeś w konsolę, czyli ruby Game.rb)

Jak widać, ta gra ma prostą budowę, jednak jest wymagająca intelektualnie.