W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą

Podobne dokumenty
Referat pracy dyplomowej

REFERAT PRACY DYPLOMOWEJ

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

SZCZEGÓŁOWY OPIS SPOSOBU DOSTĘPU DO INFORMACJI I DANYCH ZAWARTYCH W RAPORTACH SKŁADANYCH DO KRAJOWEJ BAZY DLA GIOŚ I WIOŚ

Dokumentacja aplikacji Szachy online

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

1 Wprowadzenie do J2EE

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia.

Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA

Instrukcja obsługi Uczeń. Spis Treści

Overlord - specyfikacja uzupełniająca. Jakub Gołębiowski Adam Kawa Piotr Krewski Tomasz Weksej

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Wykład I. Wprowadzenie do baz danych

REFERAT PRACY DYPLOMOWEJ

SPRING FRAMEWORK. dr inż. Jakub Chłapioski

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

Instrukcja tworzenia, logowania i obsługi kont w portalu:

Instrukcja pozyskania identyfikatora - UID

Załącznik 2 utworzenie projektu

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Programowanie obiektowe

Instrukcja instalacji usługi Sygnity Service

Współpraca z platformą Emp@tia. dokumentacja techniczna

Logowanie do aplikacji TETA Web. Instrukcja Użytkownika

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Dodawanie nowego abonenta VOIP na serwerze Platan Libra

Przewodnik dla użytkownika. Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

Instrukcja logowania do systemu e-bank EBS

Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy

Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA klient korporacyjny

Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA

Instrukcja instalacji usługi Sygnity SmsService

System zarządzający grami programistycznymi Meridius

edziennik Ustaw Opis architektury

Wdrożenie modułu płatności eservice. dla systemu Magento

Instrukcja użytkownika aplikacji npodpis r.

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Multi-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java

REFERAT PRACY DYPLOMOWEJ

Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej. KomKOD

System Zarządzania Czasem Pracy na Produkcji by CTI. Aplikacje Terminalowe - Instrukcja

1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki za pomocą otrzymanych danych.

1 Ochrona Danych Osobowych

Al. Akacjowa 16A Wrocław. Instrukcja administratora programu Internet-Lab

1 Podstawowe informacje 2. 2 Tworzenie gry Rejestracja do gry Lista gier 7. 4 Gry Archiwalne 8. 5 Lista Graczy 9

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

HOTSPOT. [ konfiguracja, rejestracja, użytkowanie ]

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

ibcslabel v2 Instrukcja instalacji systemu

11. Autoryzacja użytkowników

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Arkusza obserwacji

Instrukcja użytkownika aplikacji npodpis r.

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

1. Ogólne informacje o platformie edukacyjnej

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

Instrukcja uruchomienia i korzystania z mtoken Asseco MAA na urządzeniach mobilnych oraz powiązania z Asseco CBP

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Projekt zespołowy - przykład

REFERAT O PRACY DYPLOMOWEJ

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Instrukcja Wykorzystania aplikacji SkyCash w procesie parkowania

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

SCENARIUSZE ĆWICZEŃ DLA UŻYTKOWNIKÓW ZEWNĘTRZNYCH SYSTEMU INFORMATYCZNEGO NAWIKUS

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Instrukcja logowania do systemu Rejestru Unii dla nowych użytkowników

Wykład Ćwiczenia Laboratorium Projekt Seminarium

TECHNOLOGIA OBSŁUGI KONTRAKTÓW INFORMACJA O AKTUALIZACJI SYSTEMU ISO 9001:2000 Dokument: Raport Numer: 22/2012 Wydanie: Waga: 90

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Diagnozy rozszerzonej

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Nowy sposób autoryzacji przelewów w Usłudze Bankowości Elektronicznej

Instrukcja instalacji czytnika kart mikroprocesorowych i konfiguracji przeglądarki internetowej do współpracy z systemem bankowości elektronicznej CIB

Technologia informacyjna

SOP System Obsługi Parkingów

Instrukcja logowania do systemu Rejestru Unii

Dokumentacja projektu Makao karciana gra sieciowa

Wersja dokumentu: Data: 28 kwietnia 2015r.

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

E-administracja. Korzystanie z Elektronicznej Platformy Usług Administracji Publicznej

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

Wersja dokumentu: Data: 17 listopada 2016 r.

EJB 3.0 (Enterprise JavaBeans 3.0)

Instrukcja instalacji usługi Sygnity Service

THINK PROJECT! USER PORTAL

Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA. Przewodnik dla użytkownika

Rozdział 3. ROZWÓJ APLIKACJI CENTRALNEJ

PHICS - Polish Harbours Information & Control System Dokumentacja użytkownika System weryfikacji autentyczności polskich dokumentów marynarzy

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Licencja SEE Electrical zabezpieczona kluczem lokalnym

Bazy danych 2. Wykład 1

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Transkrypt:

2.4 QuestionGame QuestionGame jest grą z celem zaprojektowaną do gromadzenia pytań zadawanych przez ludzi podczas prób rozpoznawania ras psów. Program ma charakter aplikacji internetowej. W rozgrywcę mogą brać udział tylko zarejestrowani użytkownicy. Rejestracja wymaga podania unikalnej nazwy użytkownika i hasła. W celu zabezpieczenia aplikacji przed automatycznym zakładaniem kont, użytkownik podczas rejestracji musi odczytać dodatkowo kod z obrazka. Po zalogowaniu gracz zostaje przekierowany na stronę domową. Może przeglądać historię swoich rozgrywek jak i obiekty będące celem gry. Dodatkowo w celu uatrakcyjnienia rozgrywki wyświetlany jest ranking najlepszych graczy. Istnieje możliwość porównania swoich osiągnięć z innymi rywalami. Przycisk Play uruchamia grę. Jeżeli nie jest prowadzona żadna gra w tym momencie, system startuje nową rozgrywkę, w przeciwnym wypadku losuje jedną z założonych gier. 2 4 1 Zasady gry 2.4.1.1 Ogólne zasady gry W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą 210 punktów. Jeden z nich występuje w roli guesser, drugi natomiast odpowiada na pytania, czyli pełni rolę describer. Zadaniem guessera jest odgadnięcie przedmiotu gry, czyli rasy psa, którego zdjęcie jest prezentowane drugiemu graczowi. Na początku z zapisanych obiektów, aplikacja w sposób losowy wybiera jeden, który będzie celem gry. W polu oznaczonym numerem 1 na rysunku 2.4, zostaje wyświetlona nazwa psa oraz jego zdjęcie. Guesser zdobywa informacje o obiekcie poprzez zadawanie kolejnych pytań. Może ich zadać maksymalnie 20. Aktualny numer pytania wyświetlany jest w sekcjach o numerze 2. Istnieją dwa rodzaje pytań, przedstawia je pole oznaczone numerem 1 na rysunku 2.5: próba odgadnięcia rasy - wybór z dostępnych ras w formularzu próba zdobycia dodatkowych informacji - wpisanie pytania w formie: cecha i wartość W każdym przypadku gracz zadając pytanie zmniejsza liczbę punktów do zdobycia o 10. W sekcji numer 2 znajduje się aktualny stan punktów. Dodatkowo system sugeruje 18

Rysunek 2.4: Okno gracza odpowiadającego na pytania Źródło: własne 19

Rysunek 2.5: Okno gracza zadającego na pytania Źródło: własne 20

formę pytań, prezentując przykładowe pytania. Pytania są przesyłane pomiędzy graczami w czasie rzeczywistym i prezentowane w polu oznaczonym numerem 5. Describer może odpowiedzieć na trzy sposoby: yes - odpowiedź twierdząca no - zaprzeczenie dont know - gracz nie potrafi odpowiedzieć na pytanie Na pytania dotyczące rasy, system odpowiada automatycznie. 2.4.1.2 Zakończenie gry Gra może zostać zakończona na wiele sposobów: zadano 20 pytań - gra kończy się, informując o wykorzystanym limicie pytań, gracze za swój trud zostają nagrodzeni 10 punktami, mimo iż nie udało się odgadnąć rasy psa upłynął czas gry - w celu zapewnienia atrakcyjności rozgrywki, gra nie może trawć dłużej nić 5 minut, po upływie tego czasu gra kończy się, a gracze nie otrzymują żadnych punktów rasa psa została odgadnięta - gracz poprawnie określił rasę psa, gra kończy się, a konto każdego z graczy zostaje zwiększone o aktualną sumę punktów 2.4.1.3 Zabezpieczenia W celu zapewnienia poprawności danych, oraz w celu uniknięcia złośliwości niektórych użytkowników aplikacja została wyposażona w proste mechanizmy zabezpieczające: gracze są wybierani w sposób losowy gracz nie może grać sam ze sobą w jednej rozgrywce nie mogą brać udziału gracze o tym samym adresie internetowym cele gry są losowane 21

Dodatkowo administrator może przeglądać pełną historię gier i wyszukiwać anomalie. Pomocny w poszukiwaniu nieuczciwych graczy może być także ranking najlepszych użytkowników. Zbyt duża liczba punktów, lub nagłe pojawienie się bardzo dobrego gracza może budzić podejrzenia. 2 4 2 Implementacja 2.4.2.1 Aplikacja Gra została zaimplementowana w formie aplikacji internetowej. Zrealizowana została w oparciu o technologię Java Platform, Enterprise Edition (zwaną również jako Java Enterprise, lub Java EE) 2 oraz szereg bibliotek. Warstwa logiki biznesowej korzysta ze szkieletu aplikacyjnego Spring Framework. Szablon Spring zawiera rozwiązania dla wielu zagadnień technicznych napotykanych przez programistów aplikacji internetowych. Pozwala w łatwiejszy sposób tworzyć złożone systemy, jakim jest omawiana gra. Biblioteka może być rozważana jako zbiór pomniejszych szablonów, które mogą pracować niezależnie. QuestionGame korzysta między innymi z: Kontenera IoC Szablonu obsługi transakcji Szablonu dostępu do danych Szablonu autoryzacji i autentykacji Interfejs użytkownika został wykonany przy użyciu frameworka Apache Wicket 3. Apache Wicket służy do tworzenia aplikacji internetowych opartych na komponentach. Uwaga programisty skupiona jest na komponentach, z których składa się strona. Każdy z nich ma zdefiniowany swój model (stan) oraz zachowanie. Przykładowo w aplikacji znajduje się komponent odpowiedzialny za obsługę roli gracza odpowiadającego na pytania. Komunikacja pomiędzy graczami w czasie rzeczywistym oparta jest o implementację protokołu Bayeux 4. System używa gotowego komponentu o nazwie wicketstuff-push 5 2 JavaEE: http://java.sun.com/javaee/ 3 Wicket: http://wicket.apache.org/ 4 Bayeux: http://svn.cometd.com/trunk/bayeux/bayeux.html 5 Push: http://sourceforge.net/projects/wicket stuff/ 22

2.4.2.2 Baza danych Aplikacja korzysta z mapowania obiektowo-relacyjnego przy użyciu Java Persistence API 6, który jest oficjalnym standardem mapowania obiektowo-relacyjnego (w skrócie ORM) firmy Sun Microsystems dla języka programowania Java. ORM jest sposobem odwzorowania obiektowej architektury systemu informatycznego na bazę danych. Rozwiązanie to zapewnia przenośność aplikacji. Program może być uruchomiony na niemal każdej bazie danych. Najnowsza wersja pracuje przy użyciu bazy danych PostgreSQL 7, system był testowany również przy użyciu MySQL 8. Model aplikacji zawiera encję opisujące podstawowe elementy gry: Game - zapis gry zawierający między innymi graczy, zadawane pytania oraz cel gry i punktację User - użytkownik systemu GameObject - cel gry, reprezentuję rasę psa, zawiera nazwę i zdjęcie Question - pytanie przechowywane w formie: wartość i cecha wraz z odpowiedzią Aplikacja zawiera standardowe mechanizmy służące do przeglądanie i modyfikowania tych obiektów przy użyciu panela administratora. Encje mają swoje odpowiedniki w bazie danych w postaci tabel. 2.4.2.3 Serwer System jest uruchomiony na serwerze Jetty 9. Jest to otwarty serwer www napisany w języku Java. Ze względu na wykorzystane rozwiązania aplikacja nie wymaga skomplikowanego serwera aplikacyjnego. Może być uruchamiana na niemal dowolnym kontenerze serwletów np. Apache Tomcat 1. Wymagane wówczas jest jedynie dostarczenie bibliotek implementujących protokół Bayeux, przykładowo CometD 11. 6 JPA: http://java.sun.com/javaee/technologies/persistence.jsp 7 PosrgreSQL: http://www.postgresql.org.pl/ 8 MySQL: http://www.mysql.com/ 9 Jetty: http://jetty.codehaus.org/jetty/ 1 Tomcat: http://tomcat.apache.org/ 11 CometD: http://cometd.org/ 23

2 4 3 Analiza zgromadzonych pytań Czekam na oficjalny start 24