-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproject.tex
57 lines (44 loc) · 2.51 KB
/
project.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
%% ***************************************************************
% Copyright (C) Luca Parolari 2020
%
%
% You should have received a copy of the license with this file,
% if not write to the author and request the license.
% !TeX spellcheck = it_IT
\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{authblk}
\usepackage{enumerate}
\usepackage[
backend=biber,
style=numeric,
citestyle=numeric % numeric, alphabetic
]{biblatex} % bib management. %bibtex
\author{
Luca Parolari\thanks{\href{mailto:[email protected]}{[email protected]}}}
\title{Battaglia Navale}
\date{Novembre 2019}
\begin{document}
\maketitle
\section{Obiettivo}
Scrivere in linguaggio C++ un programma che simula il famoso gioco da tavolo \emph{battaglia navale}.
Il programma si compone di un menù che permette all'utente di scegliere le azioni da eseguire tra
\begin{itemize}
\item posiziona navi giocatore 1
\item posiziona navi giocatore 2
\item gioca
\item termina il programma
\end{itemize}
Il tavolo di gioco per battaglia navale è una griglia 10x10 dove le etichette delle colonne sono le lettere $A, B, \ldots, J$ e le etichette delle righe sono i numeri $1, 2, \ldots, 10$.
L'azione di posizionamento delle navi dei giocatori consente appunto agli stessi di posizionare le navi sulla propria griglia. Il programma deve controllare che le navi siano posizionate in modo che non siano sovrapposte e solo in orizzontale e verticale.
Il numero di navi e la dimensione sono fissati: per esempio 2 navi di dimensione 2, due di dimensione 3, una di dimensione 4 ed una di dimensione 5. (Opzionale: permettere all'utente di modificare questi parametri, scegliendo lunghezza e numero di navi con cui giocare).
L'azione \emph{gioca} inizia il gioco, permettendo ad uno dei giocatori di scegliere una coordinata dalla griglia del giocatore opposto da colpire. Il giocatore viene notificato del successo o del fallimento dell'azione mostrando la griglia con una \texttt{'x'} in caso di nave colpita o di \texttt{'o'} in caso di ``acqua''. Il turno viene passato all'altro giocatore che svolge le stesse operazioni. Se uno dei due giocatori affonda una nave le \texttt{'x'} utilizzate per evidenziare la nave colpita diventano \texttt{'-'}, di modo da rendere esplicito l'affondamento.
\end{document}