2010-02-15

[Java] Gra w Kółko i Krzyżyk - 5. Diagramy aktywności (UML)

Komputer w naszej aplikacji Kółko i Krzyżyk dąży przede wszystkim do zwycięstwa – dlatego też pierwszą czynnością, którą powinien wykonywać przed każdym ruchem jest sprawdzenie czy może w danym momencie zakończyć partię zwycięsko. Diagram aktywności przedstawiony poniżej ukazuje schemat działania gracza komputerowego.



Widać tutaj, że w pierwszej kolejności Komputer weryfikuje czy może zakończyć zwycięsko pojedynek. Jeśli nie może to sprawdza czy w kolejnym ruchu istnieje szansa, że Człowiek może zakończyć grę – jeśli istnieje taka możliwość to Komputer stara się przeszkodzić Człowiekowi. Jeśli nie ma takiego zagrożenia dla Komputera to sprawdza on czy jest jakieś rozwiązanie już częściowo zrealizowane przez gracza komputerowego i możliwe do zrealizowania. Jeśli istnieje takie rozwiązanie to gracz stara się je zrealizować. Jeśli nie ma rozpoczętego rozwiązania ale jest za to możliwość zaczęcia realizacji nowego rozwiązania to Komputer stara się to zrealizować. Jeśli nie ma już możliwości zakończenia gry zwycięsko – każde z ośmiu rozwiązań jest nieosiągalne – Komputer stawia ruch losowo na jednym z wolnych pól.

Rysunek poniżej przedstawia w sposób graficzny za pomocą diagramu aktywności w jaki sposób odbywa się zarządzanie ruchem na planszy.



Podoba Ci się ten wpis? Kliknij w reklamę. :)

2 komentarze:

  1. Wydaje mi się, że w diagramie 2. jest kilka błędów logicznych.

    Jeżeli istnieje 1 wolne pole [wolnePole=true] to gra kończy się remisem.

    Jeżeli ostatnim graczem był człowiek [player=czlowiek] to człowiek wykonuje ruch.

    OdpowiedzUsuń
  2. Faktycznie - powinno być odwrotnie w jednym i drugim przypadku - dzięki za komentarz!

    OdpowiedzUsuń