game_board class might need more function but this is for now

Dependents:   Final_Project

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;
+        }
+    }
+};