Merge branch 'master' of git+ssh://dav.pesa@repo.or.cz/srv/git/GoMoku3D
[GoMoku3D.git] / doc / Introduzione_GUI / Introduzione_GUI.tex
blob13529db5a55bf17450213806cb1ea241bb4db058
1 \documentclass[a4paper,11pt]{article}
2 \usepackage[utf8]{inputenc}
3 \usepackage[italian]{babel}
4 \usepackage{appendix}
5 \usepackage{fancyhdr}
6 \usepackage{graphicx}
7 \usepackage{lastpage}
8 \usepackage{tabularx}
9 \usepackage{ulem}
10 \usepackage[pdftex]{hyperref}
12 \hypersetup{
13 breaklinks,
14 colorlinks,
15 linkcolor=blue,
16 pdftitle={Introduzione\_GUI\_v1.0.pdf},
17 pdfsubject={Bozza della GUI},
18 pdfauthor={ITWorks!},
19 pdfcreator={TeXLive-2007}
22 \renewcommand{\appendixtocname}{Appendici}
23 \renewcommand{\appendixpagename}{Appendici}
24 \renewcommand{\headrulewidth}{0.6pt}
25 \renewcommand{\footrulewidth}{0.4pt}
27 \begin{document}
29 \normalem
30 \newtoks\titolo
31 \titolo{Introduzione all'Interfaccia Grafica (GUI)}
32 \newtoks\data
33 \data{\today}
35 \pagestyle{fancy}
36 \lhead{\includegraphics[scale=0.3]{../Logo_simple}}
37 \chead{}
38 \rhead{\small{itworks@googlegroups.com}}
39 \lfoot{\small{\the\titolo}}
40 \cfoot{}
41 \rfoot{\thepage\ di \pageref*{LastPage}}
43 \thispagestyle{empty}
45 \begin{center}
47 \includegraphics[scale=0.7]{../Logo_green}
48 \vspace{2cm}
49 \\\Huge{\textsc{\the\titolo}}
50 \vspace{1cm}
51 \\\Large{\textsl{\the\data}}
52 \vspace{1.2cm}
54 \begin{abstract}
55 Questo documento ha lo scopo di illustrare le idee che stanno alla base dell'interfaccia grafica proposta per il gioco \mbox{GoMoku3D}.
56 \end{abstract}
58 \small
59 \vspace*{\stretch{1}}
60 \begin{tabular}{r|l}
61 \textbf{Redazione} & Nicolò Navarin \\
62 & Tobia Zorzan \\
63 \textbf{Revisione} & Davide Pesavento \\
64 \textbf{Approvazione} & Davide Pesavento \\
65 \textbf{Versione} & $1.0$ \\
66 \textbf{Data} & \the\data \\
67 \textbf{Stato} & Formale \\
68 \textbf{Uso} & Esterno \\
69 \textbf{Distribuzione} & Prof.\ Tullio Vardanega \\
70 & Prof.\ Renato Conte \\
71 & ITWorks! \\
72 \end{tabular}
73 \vspace{\stretch{1}}
75 \end{center}
77 \pagebreak
79 \normalsize
80 \vspace*{0.1cm}
81 \tableofcontents
83 \pagebreak
85 \section{Scopo del documento}
86 Questo documento ha lo scopo di illustrare l'interfaccia grafica del gioco \mbox{\textbf{GoMoku3D}}, chiarendone le linee guida, sia dell'ambiente 3D che dell'interfaccia utente.
88 \section{Interfaccia utente}
89 L'interfaccia utente sarà definita in maniera rigorosa solamente dopo l'eventuale accettazione della nostra offerta. L'obiettivo è di mantenerla il più semplice e intuitiva possibile, garantendo così massima facilità d'uso del programma (l'idea è che l'utente non debba leggere il manuale d'uso per utilizzare il gioco). L'interfaccia verrà sviluppata tramite l'uso di librerie grafiche multipiattaforma che agevoleranno la portabilità del prodotto sui sistemi operativi GNU/Linux, MacOS X e Windows.
91 \section{Ambiente di gioco 3D}
92 L'azienda \textsl{ITWorks!} ritiene essenziale comunicare al committente come si intende sviluppare la parte 3D del gioco, costituendo questa un elemento fondamentale del software commissionato.\\
93 La \uline{matrice di gioco} è rappresentata da una moltitudine di cubetti, uniti a formare un unico grande cubo, la cui dimensione potrà variare a seconda del livello di \uline{difficoltà I} e \uline{difficoltà II}. Ogni singolo cubo rappresenta una casella di gioco, che può essere libera oppure occupata da una \uline{pedina}. Ci sono varie modalità di interazione con l'ambiente 3D: nel seguito analizzeremo le più importanti.
95 \subsection{Rotazione del cubo}
96 Anziché fornire tre visuali della \uline{matrice di gioco}, per favorire la giocabilità verrà implementata un'unica visuale dell'ambiente 3D, in cui l'utente potrà con facilità ruotare il cubo, in modo da poter visionare tutta la \uline{matrice di gioco}. Sarà presente e ben visibile un tasto per attivare questa opzione con il solo ausilio del mouse.
98 \subsection{Funzione \textit{``Explode''}}
99 Un'altra caratteristica che verrà implementata è stata chiamata informalmente ``Explode''. Questa permette di ``entrare'' nel cubo, visionando l'interno qualora vi siano pedine che si frappongono tra il punto di vista dell'osservatore e la casella selezionata, e che potrebbero ridurre le possibilità di scelta del giocatore.
100 Più in dettaglio: il mouse in ogni momento può selezionare una casella nel cubo; mediante la semplice pressione di un tasto (ad esempio il tasto destro del mouse, un pulsante a schermo o un tasto della tastiera) verrà applicata una roto-traslazione alle facce più esterne del cubo in modo da avere in primo piano la casella selezionata. Le parti che sono state spostate ovviamente non spariscono dal campo visivo dell'utente, rendendo comunque facile la visione della situazione globale di gioco.
102 \subsection{Esempi}
103 Alleghiamo alcune possibili \textbf{bozze prototipali} di come potrebbe apparire l'ambiente di gioco 3D all'utente. Ovviamente si tratta di un interfaccia a puro scopo esemplificativo, che potrà subire sostanziali cambiamenti nella versione finale dell'applicazione.
105 \subsubsection{Matrice di gioco}
106 \includegraphics[width=\textwidth]{cube-close.png}
107 Questa immagine rappresenta come potrà apparire la \uline{matrice di gioco} all'utente.
109 \subsubsection{Matrice di gioco dopo l'applicazione della funzione \mbox{\textit{``Explode''}}}
110 \includegraphics[width=\textwidth]{cube-open.png}
111 Vediamo come è facile visionare anche le caselle interne del cubo mediante la funzione \textit{``Explode''}.
113 \pagebreak
115 \appendix
116 \appendixpage
118 \section{Registro delle modifiche}
119 \vspace{5mm}
121 \begin{center}
123 \small
125 \begin{tabularx}{\textwidth}{|*{3}{X}|}
126 \hline
127 \textbf{Versione} & \textbf{Data} & \textbf{Autore} \\
128 \hline
129 \end{tabularx}
131 \vspace{2mm}
133 \begin{tabularx}{\textwidth}{*{3}{X}}
134 \vspace{1mm}
135 \\\hline
136 1.0 & 06/12/2007 & Davide Pesavento \\
137 \multicolumn{3}{p{0.95\textwidth}}{Verifica e approvazione.} \\
139 \vspace{1mm}
140 \\\hline
141 0.4 & 06/12/2007 & Nicolo' Navarin \\
142 \multicolumn{3}{p{0.95\textwidth}}{Aggiunte descrizioni delle immagini ed effettuate piccole correzioni.} \\
144 \vspace{1mm}
145 \\\hline
146 0.3 & 06/12/2007 & Tobia Zorzan \\
147 \multicolumn{3}{p{0.95\textwidth}}{Aggiunti i prototipi dell'ambiente 3D.} \\
149 \vspace{1mm}
150 \\\hline
151 0.2 & 05/12/2007 & Davide Pesavento \\
152 \multicolumn{3}{p{0.95\textwidth}}{Aggiornato alla versione 1.2 del template di documento. Alcune correzioni ortografiche.} \\
154 \vspace{1mm}
155 \\\hline
156 0.1 & 04/12/2007 & Nicolò Navarin \\
157 \multicolumn{3}{p{0.95\textwidth}}{Versione iniziale.} \\
158 \end{tabularx}
160 \end{center}
162 \end{document}