Zasada działania gry
Gra, o czym chyba każdy wie, polega na stawianiu znaków - kółka (O) i krzyżyka (X) - na planszy składającej się z dziewięciu pól:
0 | 1 | 2 |
3 | 4 | 5 |
6 | 7 | 8 |
Gra toczy się do momentu wyczerpania wolnych pól (0-8) lub gdy jeden z graczy ustawi trzy znaki (kółka lub krzyżyki) obok siebie w pionie, poziomie lub po przekątnej. Gra przeznaczona jest dla dwóch graczy, którzy wykonują po jednym ruchu na przemian.
Założenia
Aplikacja ma umożliwiać grę między Człowiekiem (użytkownikiem komputera) a Komputerem (graczem komputerowym). Celem Komputera jest wygranie pojedynku z graczem (nie jedynie losowe stawianie ruchów) tak więc należy opracować algorytm wg którego Komputer będzie działał aby wygrać.
Istnieje ograniczona ilość rozwiązań, dzięki którym można wygrać grę:
1. Pierwsze rozwiązanie
0 | 1 | 2 |
2. Drugie rozwiązanie
3 | 4 | 5 |
3. Trzecie rozwiązanie
6 | 7 | 8 |
4. Czwarte rozwiązanie
0 | ||
3 | ||
6 |
5. Piąte rozwiązanie
1 | ||
4 | ||
7 |
6. Szóste rozwiązanie
2 | ||
5 | ||
8 |
7. Siódme rozwiązanie
0 | ||
4 | ||
8 |
8. Ósme rozwiązanie
2 | ||
4 | ||
6 |
Zwycięży gracz, który pierwszy tak ułoży swoje znaki (kółka lub krzyżyki) aby utworzyły jeden z ośmiu wyżej pokazanych układów.
Grę będzie rozpoczynał użytkownik komputera lub komputer - zależnie od ustawienia. Program będzie miał również możliwość wyboru, który z graczy bedzie posługiwał się znakiem X a który znakiem O.
Aplikacja będzie posiadać interfejs graficzny składający się z dwóch podstawowych elementów: planszy oraz pola na komunikaty. Plansza - jest to tak naprawdę dziewięć przycisków ułożonych za pomocą menedżera GridLayout tak aby tworzyły układ zaprezentowany na rysunku poniżej. Każdy z przycisków odpowiada za jedno pole planszy.
Pole tekstowe znajdujące się pod planszą pełni funkcję informacyjną – informuje
użytkownika dlaczego gra została przerwana. Może się tutaj pojawić komunikat o tym kto zwyciężył lub że nie ma już więcej wolnych pól i w związku z tym pojedynek między
graczami zakończył się remisem.
W następnym odcinku - UML'owy diagram przypadków użycia... :)
Podoba Ci się ten wpis? Kliknij w reklamę. :)
w rzeczywistosci taka prosta gra a rozpisana tutaj brzmi jak szachy ;-)
OdpowiedzUsuńszachy... to dopiero byłoby roboty i pisania... :)
OdpowiedzUsuń