game_board class might need more function but this is for now

Dependents:   Final_Project

game_board.cpp

Committer:
AndyTran
Date:
2015-12-07
Revision:
3:e21ecfae42e4
Parent:
2:1a54e4ed2669

File content as of revision 3:e21ecfae42e4:

#include <iostream>
#include "game_board.h"
using namespace std;


void game_board::new_game_board ()
{
   ship_lose = 0; 
   for (i = 0; i < 6; i++);
    {
        _my_ship[i][0] = 0;
        _my_ship[i][1] = 0;
        _my_ship[i][2] = 0;
        _my_ship[i][3] = 0;
        _my_ship[i][4] = 0;
        _my_ship[i][5] = 0;
    }
   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";
   
};
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
        ship_lose = ship_lose + 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; 
            }
        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(){
    //check for the number of ship is destroy;
    //if 5 or more ship is destroy player lose the game
    while (ship_lose > 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 (hit_miss == 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 (hit_miss == 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;
        }
    }
};