1
1
const readline = require ( 'readline-sync' ) ;
2
- const gameController = require ( "./GameController/gameController.js" ) ;
2
+ const gameController = require ( "./GameController/gameController.js" ) ;
3
3
const cliColor = require ( 'cli-color' ) ;
4
4
const beep = require ( 'beepbeep' ) ;
5
- const position = require ( "./GameController/position.js" ) ;
6
- const letters = require ( "./GameController/letters.js" ) ;
5
+ const position = require ( "./GameController/position.js" ) ;
6
+ const letters = require ( "./GameController/letters.js" ) ;
7
7
8
8
class Battleship {
9
9
@@ -27,8 +27,7 @@ class Battleship {
27
27
this . StartGame ( ) ;
28
28
}
29
29
30
- StartGame ( )
31
- {
30
+ StartGame ( ) {
32
31
console . clear ( ) ;
33
32
console . log ( " __" ) ;
34
33
console . log ( " / \\" ) ;
@@ -41,15 +40,13 @@ class Battleship {
41
40
console . log ( " \\ \\_/" ) ;
42
41
console . log ( " \"\"\"\"" ) ;
43
42
44
- do
45
- {
43
+ do {
46
44
console . log ( ) ;
47
45
console . log ( "Player, it's your turn" ) ;
48
46
console . log ( "Enter coordinates for your shot :" ) ;
49
47
var position = Battleship . ParsePosition ( readline . question ( ) ) ;
50
48
var isHit = gameController . CheckIsHit ( this . enemyFleet , position ) ;
51
- if ( isHit )
52
- {
49
+ if ( isHit ) {
53
50
beep ( ) ;
54
51
55
52
console . log ( " \\ . ./" ) ;
@@ -67,9 +64,8 @@ class Battleship {
67
64
var computerPos = this . GetRandomPosition ( ) ;
68
65
var isHit = gameController . CheckIsHit ( this . myFleet , computerPos ) ;
69
66
console . log ( ) ;
70
- console . log ( `Computer shot in ${ computerPos . column } ${ computerPos . row } and ` + ( isHit ? `has hit your ship !` : `miss` ) ) ;
71
- if ( isHit )
72
- {
67
+ console . log ( `Computer shot in ${ computerPos . column } ${ computerPos . row } and ` + ( isHit ? `has hit your ship !` : `miss` ) ) ;
68
+ if ( isHit ) {
73
69
beep ( ) ;
74
70
75
71
console . log ( " \\ . ./" ) ;
@@ -85,72 +81,67 @@ class Battleship {
85
81
while ( true ) ;
86
82
}
87
83
88
- static ParsePosition ( input )
89
- {
84
+ static ParsePosition ( input ) {
90
85
var letter = letters . get ( input . toUpperCase ( ) . substring ( 0 , 1 ) ) ;
91
86
var number = parseInt ( input . substring ( 1 , 2 ) , 10 ) ;
92
87
return new position ( letter , number ) ;
93
88
}
94
89
95
- GetRandomPosition ( )
96
- {
90
+ GetRandomPosition ( ) {
97
91
var rows = 8 ;
98
92
var lines = 8 ;
99
93
var rndColumn = Math . floor ( ( Math . random ( ) * lines ) ) ;
100
- var letter = letters . get ( rndColumn + 1 ) ;
94
+ var letter = letters . get ( rndColumn + 1 ) ;
101
95
var number = Math . floor ( ( Math . random ( ) * rows ) ) ;
102
96
var result = new position ( letter , number ) ;
103
97
return result ;
104
98
}
105
99
106
- InitializeGame ( )
107
- {
100
+ InitializeGame ( ) {
108
101
this . InitializeMyFleet ( ) ;
109
102
this . InitializeEnemyFleet ( ) ;
110
103
}
111
104
112
- InitializeMyFleet ( )
113
- {
105
+ InitializeMyFleet ( ) {
114
106
this . myFleet = gameController . InitializeShips ( ) ;
115
107
116
108
console . log ( "Please position your fleet (Game board size is from A to H and 1 to 8) :" ) ;
117
109
118
- this . myFleet . forEach ( function ( ship ) {
110
+ this . myFleet . forEach ( function ( ship ) {
119
111
console . log ( ) ;
120
112
console . log ( `Please enter the positions for the ${ ship . name } (size: ${ ship . size } )` ) ;
121
- for ( var i = 1 ; i < ship . size + 1 ; i ++ ) {
113
+ for ( var i = 1 ; i < ship . size + 1 ; i ++ ) {
122
114
console . log ( `Enter position ${ i } of ${ ship . size } (i.e A3):` ) ;
123
115
const position = readline . question ( ) ;
124
116
ship . addPosition ( Battleship . ParsePosition ( position ) ) ;
125
117
}
126
118
} )
127
119
}
128
120
129
- InitializeEnemyFleet ( )
130
- {
121
+ InitializeEnemyFleet ( ) {
131
122
this . enemyFleet = gameController . InitializeShips ( ) ;
132
123
133
- this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 4 ) ) ;
134
- this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 5 ) ) ;
135
- this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 6 ) ) ;
136
- this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 7 ) ) ;
137
- this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 8 ) ) ;
124
+ this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 4 ) ) ;
125
+ this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 5 ) ) ;
126
+ this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 6 ) ) ;
127
+ this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 7 ) ) ;
128
+ this . enemyFleet [ 0 ] . addPosition ( new position ( letters . B , 8 ) ) ;
138
129
139
- this . enemyFleet [ 1 ] . addPosition ( new position ( letters . E , 6 ) ) ;
140
- this . enemyFleet [ 1 ] . addPosition ( new position ( letters . E , 7 ) ) ;
141
- this . enemyFleet [ 1 ] . addPosition ( new position ( letters . E , 8 ) ) ;
142
- this . enemyFleet [ 1 ] . addPosition ( new position ( letters . E , 9 ) ) ;
130
+ this . enemyFleet [ 1 ] . addPosition ( new position ( letters . E , 6 ) ) ;
131
+ this . enemyFleet [ 1 ] . addPosition ( new position ( letters . E , 7 ) ) ;
132
+ this . enemyFleet [ 1 ] . addPosition ( new position ( letters . E , 8 ) ) ;
133
+ this . enemyFleet [ 1 ] . addPosition ( new position ( letters . E , 9 ) ) ;
143
134
144
- this . enemyFleet [ 2 ] . addPosition ( new position ( letters . A , 3 ) ) ;
145
- this . enemyFleet [ 2 ] . addPosition ( new position ( letters . B , 3 ) ) ;
146
- this . enemyFleet [ 2 ] . addPosition ( new position ( letters . C , 3 ) ) ;
135
+ this . enemyFleet [ 2 ] . addPosition ( new position ( letters . A , 3 ) ) ;
136
+ this . enemyFleet [ 2 ] . addPosition ( new position ( letters . B , 3 ) ) ;
137
+ this . enemyFleet [ 2 ] . addPosition ( new position ( letters . C , 3 ) ) ;
147
138
148
- this . enemyFleet [ 3 ] . addPosition ( new position ( letters . F , 8 ) ) ;
149
- this . enemyFleet [ 3 ] . addPosition ( new position ( letters . G , 8 ) ) ;
150
- this . enemyFleet [ 3 ] . addPosition ( new position ( letters . H , 8 ) ) ;
139
+ this . enemyFleet [ 3 ] . addPosition ( new position ( letters . F , 8 ) ) ;
140
+ this . enemyFleet [ 3 ] . addPosition ( new position ( letters . G , 8 ) ) ;
141
+ this . enemyFleet [ 3 ] . addPosition ( new position ( letters . H , 8 ) ) ;
151
142
152
- this . enemyFleet [ 4 ] . addPosition ( new position ( letters . C , 5 ) ) ;
153
- this . enemyFleet [ 4 ] . addPosition ( new position ( letters . C , 6 ) ) ;
143
+ this . enemyFleet [ 4 ] . addPosition ( new position ( letters . C , 5 ) ) ;
144
+ this . enemyFleet [ 4 ] . addPosition ( new position ( letters . C , 6 ) ) ;
154
145
}
155
146
}
156
147
0 commit comments