-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.cpp
86 lines (76 loc) · 2.95 KB
/
main.cpp
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
//main
#include <iostream>
#include "./header/Point.h"
#include "./header/Player.h"
#include "./header/Ship.h"
#include "./header/Graphic.h"
using namespace std;
using graphic::up;
using graphic::clear;
using graphic::gohome;
using graphic::color;
int main(){
//PRESENTAZIONE DEL GIOCO
graphic::clear();
graphic::gohome();
graphic::title("BATTAGLIA NAVALE");
cout << " ********************************************************** " << endl;
cout << " Benvenuti a battaglia navale, per cominciare inserite i nomi dei giocatori " << endl;
cout << endl;
//CREAZIONE DEI GIOCATORI
Player *p1 = new Player();
Player *p2 = new Player();
graphic::up(5);
//ISTRUZIONI
cout << " *********************** ISTRUZIONI ************************* " << endl << endl
<< "Generali" << endl
<< " Il gioco si svolge in una griglia 10x10 caselle numerate 0-9." << endl
<< " Ogni posizione va indicata con 2 numeri separati da virgola (prima la riga poi la colonna): y,x" << endl << endl
<< "Legenda" << endl
<< " cacciatorpediniere = nave da 2 caselle" << endl
<< " incrociatore = nave da 3 caselle" << endl
<< " nave da battaglia = nave da 4 caselle" << endl
<< " portaerei = nave da 5 caselle" << endl
<< " [ ] = casella base" << endl
<< " [-] = casella mancata" << endl
<< " [#] = casella colpita" << endl
<< " [0] = casella occupata da una nave" << endl << endl
<< "Fase 1: Schieramento" << endl
<< " Ogni giocatore deve posizionare 4 cacciatorpedinieri, 3 incrociatori" << endl
<< " 2 navi da battaglia e 1 portaerei. Una volta posizionate tutte le navi" << endl
<< " tocca all'altro giocatore." << endl << endl
<< "Fase 2: Gioco" << endl
<< " A turno i giocatori indicano una posizione in cui sparare ricevendo" << endl
<< " come risposta un messaggio (colpito o mancato ed eventualmente affondato)." << endl
<< " Quando un giocatore affonda tutte le navi avversarie è dichiarato vincitore." << endl
<< endl;
graphic::waitUser();
graphic::up(28);
//CREAZIONE DELLE FLOTTE
p1->Deploy();
p2->Deploy();
//TURNI DI GIOCO
bool thisturn = false;
while(Player::getSomewinner() == false){
if(thisturn == false){
p2->Draw();
p1->Attack(*p2);
thisturn = true;
}
else{
p1->Draw();
p2->Attack(*p1);
thisturn = false;
}
};
//DECRETAMENTO DEL VINCITORE
if(thisturn == false){
cout << "Complimenti " << p2->getName() << ", hai vinto!" << endl;
}
else{
cout << "Complimenti " << p1->getName() << ", hai vinto!" << endl;
}
delete p1;
delete p2;
return 0;
}