1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Objektově orientované programování s S3 a R6 v R

Connected

Cvičení

Přiřaď třídu (1)

Funkce class() neslouží jen k získání třídy objektu – lze ji použít i k jejímu přepsání. Syntaxe vypadá takto:

class(x) <- "some_class"

Obzvlášť užitečné je to u seznamů, protože seznamy umožňují kombinovat různé proměnné do složitějších struktur. (Vzpomínáš na analogii s Legem? Jednotlivé proměnné jsou jako kostičky Lega a ze seznamů si postavíš, co chceš.)

V tomto cvičení se podíváš na objekt, který ukládá stav šachové partie, a přepíšeš jeho třídu.

Aby ti cvičení dávalo smysl, potřebuješ znát základy šachu.

  • Šachová partie má dva hráče: „bílý" a „černý".
  • Každý hráč má šest typů figurek: krále, dámu, střelce, koně, věže a pěšce.
  • Pozici každé figurky lze zapsat pomocí řádku ("a" až "h") a sloupce (1 až 8).

Pokyny

100 XP

Proměnná chess je v tvém pracovním prostoru předem definovaná.

  • Prozkoumej chess a pochop jeho strukturu.
  • Přepiš třídu objektu chess na "chess_game".
  • Zkontroluj, zda je chess stále seznam – použij funkci is.list() (docs).
  • Zjisti, kolik figurek ještě zbývá na šachovnici.
    • Dobrý přístup je zploštit objekt pomocí unlist() (docs) a vrátit jeho length() (docs).