Aplikacja pozwala na walkę pokemon dwóch osób. Każdy z graczy może wybrać 3 stworki, które pomogą mu osiągnąć sukces w walce z przeciwnikiem. Ten, który przeprowadzi grę lepiej wygra - o ile drugi gracz mu na to pozwoli!
Aplikacja została stworzona w oparciu o TypeScript w ramach kursu CodersCamp2020.
Pokemon Figth wzorowany był na popularnej grze Pokemon.
Design projektu: Figma
Pokemon Fight - start screen | Pokemon Fight - choose screen |
---|---|
Pokemon Fight - fight screen | Pokemon Fight - end screen |
---|---|
Mentor: Łukasz Dutka
Uczestnicy:
- Aleksandra Cypko (Product Owner)
- Małgorzata Dziewit (UX Designer)
- Daria Dziubałtowska
- Agata Ludwiczyńska (Develepment Manager)
- Mariusz Smarż (Tech Lead)
- TypeScript
- HTML
- CSS - SASS
- Visual Studio Code
- Git
- GitHub Desktop
- Figma
- Trello
- Ekran ładowania - śpiący Snorlax
- Ekran startowy - pola do wpisania imion graczy, którzy będą grają obok siebie na komputerze
- Ekran wyboru pokemonów - gracze wybierają naprzemiennie po 3 pokemony z puli 12 pokemonów.
- Ekran walki - jedno menu dla obu graczy, zmieniają się imiona. Gracz pierwszy zaczyna.
- w jednym czasie walczą tylko dwa pokemony (domyślnym, pierwszym pokemonem jest ten wybrany przez gracza jako pierwszy)
- menu wyboru akcji: 3 buttony
- atak (wyświetla dwie opcje wyboru ataku oraz jedną powrotu do menu wyboru akcji)
- switch (wyświetla dostępne opcje zmiany pokemona na inny oraz jedną powtoru do menu wyboru akcji)
- heal - "eat mango" (bezpośrednia akcja odnawiająca życie aktywnego pokemona do maximum HP - gracz może skorzystać z tej opcji tylko jeden raz w ciągu gry)
- UI - czytelny, interaktywny i responsywny
- Pokemon posiada:
- Punkty Życia/HP
- Atak i Obronę
- Typy (np. Bulbasaur: grass, poison)
- Moves / Ruchy (ataki mają swoje typy np. tackle: normal, fire blast: fire)
- Algorytm obliczania obrażeń uwzględniający typ pokemona przeciwnika oraz typ ataku aktywnego pokemona
- obrażenia są normalne, mało skuteczne lub bardzo skuteczne - w zależności od typu pokemona i typu ataku
- Okno z informacjami o przebiegu gry
- Gra kończy się, kiedy wszystkie pokemony jednego z graczy będą niezdolne do walki (0 hp)
- Komunikat końcowy - kto wygrał, powrót do ekranu startowego
- Animacje:
- ataki - domyślna animacja wspólna dla wszystkich
- zmiana pokemona
- zaznaczanie aktywnego gracza
- Spójne kolory i czcionki oraz style dla przycisków i interfejsu.
- Wybrane pokemony do implementacji (id, nazwa, typy):
- 1 Bulbasaur - Grass/Poison
- 4 Charmander - Fire
- 7 Squirtle - Water
- 13 Weedle - Bug
- 16 Pidgey - Normal/Flying
- 19 Rattata - Normal
- 25 Pikachu - Electric
- 27 Sandshrew - Ground
- 35 Clefairy - Fairy
- 63 Abra - Psychic
- 66 Machop - Fighting
- 73 Geodude - Rock/Ground