376
Rozdział 8.
Przetwarzanie pola wskazanego przez użytkownika
Przetwarzanie pola wskazanego przez użytkownika
Zadaniem kontrolera jest pobranie pola wskazanego przez użytkownika, sprawdzenie, czy
można je ostrzelać, a następnie przekazanie jego współrzędnych do modelu. Skąd można pobrać
te informacje? Nie obawiaj się, już zaraz wszystko wyjaśnimy. Na razie założymy, że w jakimś
momencie rozgrywki jakiś kod wywoła metodę
SURFHVV*XHVV
kontrolera i przekaże do niej
łańcuch znaków w następującej postaci:
"A3"
"3""A"
0 
"03"
Doskonale już znasz postać
współrzędnych stosowanych w grze
w okręty: to litera i cyfra.
Gracz na pewno nigdy
nie poda niewłaściwych
współrzędnych, prawda?
Ha! Lepiej jednak
upewnijmy się,
że to, co wpisał,
to prawidłowe
współrzędne pola.
Załóżmy, że otrzymaliśmy
alfanumeryczny łańcuch znaków
w postaci:
A zatem podzielmy łańcuch znaków
na części, znaki określające
wiersz i kolumnę.
Skonwertujemy ten znak na liczbę
i upewnimy się, czy mieści się
ona w zakresie od zera do sześciu.
Zamienimy literę na
cyfrę i sprawdzimy,
czy mieści się ona
w zakresie od zera
do sześciu.
W końcu obie cyfry ponownie
połączymy w nowy łańcuch znaków.
"A3"
To doskonała
technika pisania
kodu. Koncentrujemy
się na wymaganiach
konkretnego kodu,
nad którym aktualnie
pracujemy. Zajmowanie
się całym problemem
jednocześnie rzadko daje
pomyślne efekty.
Wszystko po kolei. Musimy także pamiętać o sprawdzeniu, czy dane wpisane przez
użytkownika są prawidłowe. Zanim zabierzemy się do kodowania, spróbujmy to
wszystko zaplanować.
Teraz, kiedy już pobraliśmy współrzędne w odpowiedniej postaci (łańcuch składający się
z dwóch znaków alfanumerycznych, taki jak
”A3”
), musimy je przekształcić do postaci,
którą będzie w stanie zrozumieć model (czyli do postaci łańcucha znaków składającego
się z dwóch cyfr, takiego jak
”03”
). Poniżej naszkicowaliśmy ogólną postać sposobu
konwersji prawidłowych współrzędnych do postaci współrzędnych zapisanych przy użyciu
dwóch cyfr.

Get Programowanie w JavaScript Rusz głową! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.