Summoning sickness – choroba przywołania.

§ Choroba przywołania działa na kreatury, czyli karty typu creature.

Zasady gry  Magic: the Gathering

Jakie choroba przywołania daje ograniczenia?

-Nie pozwala używać kreaturze zdolności ze znaczkiem tapnięcia (),
-Nie pozwala kreaturze atakować.

Kiedy ta choroba działa?

Żeby odpowiedzieć na pytanie:

Czy ta kreatura ma chorobę przywołania?

Należy odpowiedzieć na pytanie:

Czy kontrolowałem tę kreaturę na początku swojej tury?

Odpowiedzi na te pytania są takie same.

Przykłady:

1.Royal Assassin

Nie możesz użyć zdolności karty Royal Assassin od razu po jej wystawieniu, ponieważ ta zdolność ma znaczek tapowania().

2.Dryad Arbor

Nie możesz użyć karty Dryad Arbor do wyprodukowania many w turze, w której ją wystawisz! Nie widać tego na pierwszy rzut oka z powodu zmiany wyglądu landów Magic: the Gathering. Kiedyś wyglądały one tak:

IslandSwamp

3. Bramblesnap

Tej zdolności możesz użyć kiedy Ci się żywnie podoba, ponieważ nie ma ona symbolu tapowania. Możesz więc wystawić Bramblesnapa i w turze przeciwnika zablokować Bramblesnapem, a następnie dodać mu bonus +1/+1 tapując jego samego.

Zmiana w kreaturę innej karty.

Jeśli chcesz zaatakować kreaturą, która jeszcze chwilę temu była landem, artefaktem, czy czymkolwiek innym, dalej obowiązuje pytanie: Czy kontrolowałem tę kreaturę na początku swojej tury? Jeśli odpowiedź na nie jest twierdząca, wtedy możesz zaatakować.

Przejmowanie kontroli – np. Mind Control

Jeżeli przejmiesz kontrolę nad stworem przeciwnika, nie możesz użyć ani atakować w tej samej turze, nawet jeśli stwór był w grze od dawna.

Wyjątek od reguły stanowi keyword haste. Dla przykładu podam kartę Act of Treason, która po przejęciu kontroli stwora przeciwnika daje mu haste, aby mógł od razu zaatakować.

Kart, które nie są kreaturami choroba przywołania nie obowiązuje.

Możesz więc używać od razu artefaktów/enchantów ze znaczkiem tapowania, wykorzystywać landy do produkcji many zaraz po ich wystawieniu do gry, etc.

To wszystko co powinieneś wiedzieć o chorobie przywołania.

 

Tesseract jako hiper-przestrzenny portal

Tesseract to artefakt występujący w różnych uniwersach w twórczości sci-fi. Jest potężnym artefaktem o niezmierzonej mocy. Potrafi przenosić obiekty na duże odległości i tworzyć portale w przestrzeni. Często występuje jako obiekt tajemniczy i niezbadany.
Zrobienie tej konkretnej animacji było dość łatwe, ale z uwagi na długi czas renderingu, zapętliłem ją, aby była dłuższa niż kilkanaście sekund.

Enkapsulacja – co to takiego?

Enkapsulacja (hermetyzacja) jest pojęciem z dziedziny programowania obiektowego.
Chodzi w niej o to, aby ukryć przed użytkownikiem to, co nie jest dla niego istotne.
np. jeśli chcemy sprawdzić numer seryjny produktu, to wywołujemy metodę wyświetlającą ten numer na ekranie, zamiast martwić się czy jest on przechowywany w pamięci jako int, czy może string, a potem używać funkcji wyświetlającej odpowiedni typ danych.

Enkapsulacja jest to zaimplementowanie modelu, w którym obiekty mają przydatne metody, a parametry wewnętrzne są ukrywane, bo wiedza o nich nie przydaje się do niczego.
Dla przykładu, weźmiemy sobie stos. Istotne jest dla nas to, że do stosu możemy dodać element na górę i że możemy zdjąć pierwszy element z góry, nie interesuje nas jak nazywa się zmienna wewnątrz klasy.

Prawdziwe korzyści wynikające z użycia enkapsulacji zauważymy w szczególności w dużych projektach, ale już w małych zobaczymy, że kod będzie bardziej czytelny i lepiej zorganizowany.

Enkapsulacja pozwala nam operować na danych w sposób bliższy do rzeczywistości, na bardziej naturalnym poziomie abstrakcji.


Dla przykładu podajmy obiekt „Piłka” oraz dwa podejścia programistyczne, których opiszemy prostą animację toczącej się piłki.

  • Podejście podstawowe, proceduralne:
    Tworzymy dwie zmienne liczbowe: pozycja_piłki oraz rotacja_piłki. Jeśli chcemy sprawić aby piłka się poturlała, napiszemy coś w tym rodzaju:
    pozycja_piłki++;
    rotacja_piłki++;
    Dla kilku piłek, będziemy musieli napisać pętlę:
    for( int i = 0 ; i < liczba_piłek ; i++ ){
    pozycja_piłki[i]++;
    rotacja_piłki[i]++;
    }
    Jeśli ten kod umieścimy w odpowiedniej pętli (wykonującej się kilka razy na sekundę), możemy utworzyć prostą animację z piłkami toczącymi się po ekranie.
  • Z użyciem enkapsulacji kod będzie wyglądał tak:
    piłki.turlaj();

Więcej w temacie: Hermetyzacja(enkapsulacja) – Wikipedia, wolna encyklopedia

Krzywe Lissajous

Aby utworzyć krzywą Lissajous[wymawia się „lisażu”] możemy użyć dwóch wahadeł (ciężarków na sznurku), albo użyć modelu matematycznego do stworzenia komputerowej reprezentacji takich krzywych.

Eksperyment rysujący krzywe:
Kawałek sznurka przymocowujemy do stojaka. Na końcu sznurka przymocowujemy ciężarek. Do ciężarka przymocowujemy sznurek, a na jego końcu drugi ciężarek.
Odchylamy oba ciężarki od położenia równowagi, pierwszy ciężarek ma być odchylony w płaszczyźnie prostopadłej do płaszczyzny ruchu drugiego.
Ruch niższego ciężarka będzie zakreślał coś w rodzaju krzywej Lissajous.

W języku C++, napisałem program wyliczający pozycję wahadła matematycznego w zależności od czasu. Jedno wahadło zmieniało swoją pozycję w osi x, drugie w osi y. Do wyrysowania krzywych w czasie rzeczywistym, użyłem biblioteki graficznej Allegro. Złożenie ruchów dwóch wahadeł pozwalało rysować krzywe na ekranie.

Wygląd krzywych zależał od parametrów początkowych programu, amplitudy, fazy i częstotliwości drgań. Bawiąc się parametrami utworzyłem następujące obrazy:

W rezultacie uzyskałem ciekawe wzory, ale postanowiłem nieco je urozmaicić. W tym celu zmodyfikowałem nieco kod programu, uzależniając funkcyjnie (zwykłą funkcją liniową) amplitudę drgań wahadła od czasu.

Jeśli chcesz, abym dokładniej wyjaśnił coś z tego tematu  możesz zostawić komentarz. 🙂