Szachy przez sieć - matrix.umcs.lublin.pl
Transkrypt
Szachy przez sieć - matrix.umcs.lublin.pl
Szachy przez sieć 8 grudnia 2009 Ogólnie Elementy programu: • Plansza • Czat • Zaproś - zaproszenie do gry • Historia - historia gry • Ruch - wybór ruchu Plansza Szachownica - siatka dwukolorowa 8x8 pól. Obok szachownicy należy umieścić w poziomie od ”a” do ”h” (od lewej do prawej), w pionie od ”8” do ”1” (z góry na dół). Zasady gry w szachy Tutaj są opisane zasady poruszania się po planszy kolejnych figur, cele gry i sposoby zakończenia. Pod tym adresem znajduje się zapis szachowy, którego należy używać, przy komunikacji graczy. Poruszanie się po planszy • przeniesienie figury myszką nad wybrane pole. Pola, na których gracz może postawić figurę należy podświetlać. Po upuszczeniu figury na pole należy zapisa ruch w Historii i przesłać go do drugiego gracza. • wpisanie do okna Ruch odpowiedniego ruchu (notacja algebraiczna). Notacja ruchu Ruchy zapisuje się w dwóch ponumerowanych kolumnach. W pierwszej z nich zapisuje się ruchy białych, a w drugiej czarnych. Najpierw zapisywany jest symbol przesuwanej figury, następnie pole, na którym stoi dana figura, dalej łącznik (-), a następnie pole, na które przesuwamy figurę. Jeżeli ruch wykonywany jest pionem, pomijamy oznaczenie figury. 1. f2-f4 e7-e5 2. f4xe5 d7-d6 3. e5xd6 Bf8xd6 Ruch Okno do wpisywania ruchów w postaci algebraicznej - po zatwierdzeniu ruchu (przycisk Zatwierdź), ruch zapisuje się do Historii ruchów i wysyłany jest do aplikacji drugiego gracza. Niezbędne jest sprawdzanie poprawności ruchów w notacji algebraicznej - jeśli zapis nie jest poprawny, powiadamiamy o tym gracza - nie można zatwierdzić niepoprawnego ruchu. Historia Część okna z wypisaną historią kolejnych ruchów w postaci tabeli białe czarne f2-f4 e7-e5 f4xe5 d7-d6 e5xd6 Bf8xd6 Należy umożliwić z menu zapis historii do pliku. Rozszerzenia Historia z wybieralnym wierszem - jeśli użytkownik wybierze linię w historii gry, na planszy pojawi mu się ustawienie tuż przed ruchem białych z danej linii. Zaproszenie Wybrane z menu Zaproszenie powoduje pojawienie się okna na adres IP, na którym, na wybranym porcie, nasłuchuje druga aplikacja. Można wybrać adres jabberowy. Czat Korzystając z konta jabberowego lub po IP (wtedy tylko z jedną osobą). Serwer może być uruchomiony na dowolnym komputerze lub może być wbudowany w aplikację i przy uruchomieniu z opcją, np. –run-server, uruchomi się aplikacja kliencka z dodatkowym serwerem. Może być także odrębną aplikacją, służącą jedynie do tego. Protokół Komunikacja klient-serwer będzie polegała na przesyłaniu plików XML, w których będzie zawarta informacja o kliencie źródłowym (jaki gracz wykonuje ruch), docelowym (drugim graczu, który ten ruch ma przyjąć), o ruchu (notację algebraiczną można w tym wypadku rozbić na figury, pozycję wyściową i docelową czy tp.). Serwer ruchów i serwer czatu to powinien (choć nie musi) być ten sam serwer - protokół powinien to uwzględniać. Ogólne pomysły Jeśli ktoś będzie czuł się na siłach, może np. zrobić szyfrowanie ruchów poprzez klucz prywatny i dekodowanie kluczem publicznym takiego ruchu - pozwoliłoby to na stosunkowo pewną identyfikację wysyłającego gracza i możliwość sprawdzenia, czy ktoś się nie podszywa pod gracza. Oczywiście można to też próbować robić prościej. Wyniki i cała historia może być składowana w bazie danych. Dla okrojonej wersji dopuszczalne jest by była dostępna jedynie historia aktualnej (także po zakończeniu) gry. 2