1. Nauka
  2. /
  3. Kursy
  4. /
  5. Programowanie obiektowe z S3 i R6 w R

Connected

ćwiczenie

Nadaj klasę (1)

Funkcja class() nie tylko pozwala odczytać klasę obiektu – można jej też użyć do jej nadpisania. Składnia wygląda następująco:

class(x) <- "some_class"

Jest to szczególnie przydatne w przypadku list, które pozwalają łączyć różne zmienne w bardziej złożone struktury. (Pamiętasz analogię z klockami Lego? Pojedyncze zmienne to osobne klocki, a lista to konstrukcja zbudowana z tych klocków – możesz z niej tworzyć co chcesz.)

W tym ćwiczeniu przeanalizujesz obiekt przechowujący stan partii szachów i nadpiszesz jego klasę.

Aby dobrze zrozumieć ćwiczenie, warto znać kilka podstawowych zasad szachów:

  • W szachach grają dwie strony: "white" (białe) i "black" (czarne).
  • Każda strona dysponuje sześcioma rodzajami bierek: królem, hetmanem, gońcami, skoczkami, wieżami i pionkami.
  • Pozycję każdej bierki można zapisać za pomocą wiersza (od "a" do "h") i kolumny (od 1 do 8).

Instrukcje

100 XP

Zmienna listowa chess jest już zdefiniowana w twoim środowisku.

  • Zbadaj obiekt chess, aby zrozumieć jego strukturę.
  • Nadpisz klasę obiektu chess, przypisując jej wartość "chess_game".
  • Sprawdź, czy chess nadal jest listą, używając funkcji is.list() (docs).
  • Wyznacz liczbę bierek pozostałych na szachownicy.
    • Dobrym podejściem jest spłaszczenie obiektu za pomocą unlist() (docs) i zwrócenie jego length() (docs).