game_board class might need more function but this is for now
Diff: game_board.cpp
- Revision:
- 0:06bd2763aa53
- Child:
- 1:f4ece2e5a8f6
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/game_board.cpp Thu Dec 03 09:43:27 2015 +0000 @@ -0,0 +1,178 @@ +#include <iostream> +#include "game_board.h" +using namespace std; + + +void game_board::new_game_board () +{ + int i,j; + F_row = "F _ _ _ _ _ _ F _ _ _ _ _ _\n\r"; + E_row = "E _ _ _ _ _ _ E _ _ _ _ _ _\n\r"; + D_row = "D _ _ _ _ _ _ D _ _ _ _ _ _\n\r"; + C_row = "C _ _ _ _ _ _ C _ _ _ _ _ _\n\r"; + B_row = "B _ _ _ _ _ _ B _ _ _ _ _ _\n\r"; + A_row = "A _ _ _ _ _ _ A _ _ _ _ _ _\n\r"; + N_row = " 1 2 3 4 5 6 1 2 3 4 5 6\n\r"; + label = "Friendly Enemy\n\r"; + for (i = 0; i < 6; i++) + { + for (j = 0; j < 6; j++) + { + _my_ship [i][j] = 0; //initialize ship matrix to 0 + } + } +}; +bool game_board::place_hit_miss_friendly (int row, int colum){ + if (_my_ship[row-1][colum-1] >= 1){ + _my_ship[row-1][colum-1] = 2; //freindly got destroy + switch (row - 1) + { + case 0: F_row[(colum)*2] = '*'; + break; + case 1: E_row[(colum)*2] = '*'; + break; + case 2: D_row[(colum)*2] = '*'; + break; + case 3: C_row[(colum)*2] = '*'; + break; + case 4: B_row[(colum)*2] = '*'; + break; + case 5: A_row[(colum)*2] = '*'; + break; + } + return true; + } + else { + switch (row - 1) + { + case 0: F_row[(colum)*2] = 'O'; + break; + case 1: E_row[(colum)*2] = 'O'; + break; + case 2: D_row[(colum)*2] = 'O'; + break; + case 3: C_row[(colum)*2] = 'O'; + break; + case 4: B_row[(colum)*2] = 'O'; + break; + case 5: A_row[(colum)*2] = 'O'; + break; + } + return false; + } + //return false; +}; +void game_board::place_ship (int row, int colum) { + _my_ship [row - 1][colum - 1] = 1; + switch (row - 1) + { + case 0: + F_row[(colum)*2] = '>'; + break; + case 1: + E_row[(colum)*2] = '>'; + break; + case 2: + D_row[(colum)*2] = '>'; + break; + case 3: + C_row[(colum)*2] = '>'; + break; + case 4: + B_row[(colum)*2] = '>'; + break; + case 5: + A_row[(colum)*2] = '>'; + break; + } +}; +string game_board::get1row (int row){ + string r_row; + switch (row - 1) + { + case 0: r_row = F_row ; + break; + case 1: r_row = E_row; + break; + case 2: r_row = D_row; + break; + case 3: r_row = C_row; + break; + case 4: r_row = B_row; + break; + case 5: r_row = A_row; + break; + case 6: r_row = N_row; + break; + case 7: r_row = label; + break; + } + return r_row; +}; +bool game_board::looser(){ + int i,j,ship_lost = 0; + + for (i = 0; i < 6; i++) + { + for (j = 0; j < 6; j++) + { + if (_my_ship[i][j] == 2) + { + ship_lost = ship_lost + 1; + } + } + } + //check for the number of ship is destroy; + //if 5 or more ship is destroy player lose the game + if (ship_lost > 5) + { + return true; //you lose + } + else return false; //nothing happen +}; +void game_board::place_hit_miss_enemy (int row, int colum, bool hit_miss){ + if (_my_ship[row-1][colum-1] == 1) { + switch (row - 1) { + case 0: + F_row[(colum+8)*2] = '*'; + break; + case 1: + E_row[(colum+8)*2] = '*'; + break; + case 2: + D_row[(colum+8)*2] = '*'; + break; + case 3: + C_row[(colum+8)*2] = '*'; + break; + case 4: + B_row[(colum+8)*2] = '*'; + break; + case 5: + A_row[(colum+8)*2] = '*'; + break; + } + } + else if (_my_ship[row-1][colum-1] == 0) { + switch (row - 1) { + case 0: + F_row[(colum+8)*2] = 'O'; + break; + case 1: + E_row[(colum+8)*2] = 'O'; + break; + case 2: + D_row[(colum+8)*2] = 'O'; + break; + case 3: + C_row[(colum+8)*2] = 'O'; + break; + case 4: + B_row[(colum+8)*2] = 'O'; + break; + case 5: + A_row[(colum+8)*2] = 'O'; + break; + } + } +};