game_board class might need more function but this is for now

Dependents:   Final_Project

Committer:
AndyTran
Date:
Sat Dec 05 10:23:50 2015 +0000
Revision:
2:1a54e4ed2669
Parent:
1:f4ece2e5a8f6
Child:
3:e21ecfae42e4
something cool

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndyTran 0:06bd2763aa53 1 #include <iostream>
AndyTran 0:06bd2763aa53 2 #include "game_board.h"
AndyTran 0:06bd2763aa53 3 using namespace std;
AndyTran 0:06bd2763aa53 4
AndyTran 0:06bd2763aa53 5
AndyTran 0:06bd2763aa53 6 void game_board::new_game_board ()
AndyTran 0:06bd2763aa53 7 {
AndyTran 2:1a54e4ed2669 8 //int i,j;
AndyTran 0:06bd2763aa53 9 F_row = "F _ _ _ _ _ _ F _ _ _ _ _ _\n\r";
AndyTran 0:06bd2763aa53 10 E_row = "E _ _ _ _ _ _ E _ _ _ _ _ _\n\r";
AndyTran 0:06bd2763aa53 11 D_row = "D _ _ _ _ _ _ D _ _ _ _ _ _\n\r";
AndyTran 0:06bd2763aa53 12 C_row = "C _ _ _ _ _ _ C _ _ _ _ _ _\n\r";
AndyTran 0:06bd2763aa53 13 B_row = "B _ _ _ _ _ _ B _ _ _ _ _ _\n\r";
AndyTran 0:06bd2763aa53 14 A_row = "A _ _ _ _ _ _ A _ _ _ _ _ _\n\r";
AndyTran 0:06bd2763aa53 15 N_row = " 1 2 3 4 5 6 1 2 3 4 5 6\n\r";
AndyTran 0:06bd2763aa53 16 label = "Friendly Enemy\n\r";
AndyTran 2:1a54e4ed2669 17
AndyTran 0:06bd2763aa53 18 };
AndyTran 0:06bd2763aa53 19 bool game_board::place_hit_miss_friendly (int row, int colum){
AndyTran 0:06bd2763aa53 20 if (_my_ship[row-1][colum-1] >= 1){
AndyTran 0:06bd2763aa53 21 _my_ship[row-1][colum-1] = 2; //freindly got destroy
AndyTran 0:06bd2763aa53 22 switch (row - 1)
AndyTran 0:06bd2763aa53 23 {
AndyTran 0:06bd2763aa53 24 case 0: F_row[(colum)*2] = '*';
AndyTran 0:06bd2763aa53 25 break;
AndyTran 0:06bd2763aa53 26 case 1: E_row[(colum)*2] = '*';
AndyTran 0:06bd2763aa53 27 break;
AndyTran 0:06bd2763aa53 28 case 2: D_row[(colum)*2] = '*';
AndyTran 0:06bd2763aa53 29 break;
AndyTran 0:06bd2763aa53 30 case 3: C_row[(colum)*2] = '*';
AndyTran 0:06bd2763aa53 31 break;
AndyTran 0:06bd2763aa53 32 case 4: B_row[(colum)*2] = '*';
AndyTran 0:06bd2763aa53 33 break;
AndyTran 0:06bd2763aa53 34 case 5: A_row[(colum)*2] = '*';
AndyTran 0:06bd2763aa53 35 break;
AndyTran 0:06bd2763aa53 36 }
AndyTran 0:06bd2763aa53 37 return true;
AndyTran 0:06bd2763aa53 38 }
AndyTran 0:06bd2763aa53 39 else {
AndyTran 0:06bd2763aa53 40 switch (row - 1)
AndyTran 0:06bd2763aa53 41 {
AndyTran 0:06bd2763aa53 42 case 0: F_row[(colum)*2] = 'O';
AndyTran 0:06bd2763aa53 43 break;
AndyTran 0:06bd2763aa53 44 case 1: E_row[(colum)*2] = 'O';
AndyTran 0:06bd2763aa53 45 break;
AndyTran 0:06bd2763aa53 46 case 2: D_row[(colum)*2] = 'O';
AndyTran 0:06bd2763aa53 47 break;
AndyTran 0:06bd2763aa53 48 case 3: C_row[(colum)*2] = 'O';
AndyTran 0:06bd2763aa53 49 break;
AndyTran 0:06bd2763aa53 50 case 4: B_row[(colum)*2] = 'O';
AndyTran 0:06bd2763aa53 51 break;
AndyTran 0:06bd2763aa53 52 case 5: A_row[(colum)*2] = 'O';
AndyTran 0:06bd2763aa53 53 break;
AndyTran 0:06bd2763aa53 54 }
AndyTran 0:06bd2763aa53 55 return false;
AndyTran 0:06bd2763aa53 56 }
AndyTran 0:06bd2763aa53 57 //return false;
AndyTran 0:06bd2763aa53 58 };
AndyTran 0:06bd2763aa53 59 void game_board::place_ship (int row, int colum) {
AndyTran 0:06bd2763aa53 60 _my_ship [row - 1][colum - 1] = 1;
AndyTran 0:06bd2763aa53 61 switch (row - 1)
AndyTran 0:06bd2763aa53 62 {
AndyTran 0:06bd2763aa53 63 case 0:
AndyTran 0:06bd2763aa53 64 F_row[(colum)*2] = '>';
AndyTran 0:06bd2763aa53 65 break;
AndyTran 0:06bd2763aa53 66 case 1:
AndyTran 0:06bd2763aa53 67 E_row[(colum)*2] = '>';
AndyTran 0:06bd2763aa53 68 break;
AndyTran 0:06bd2763aa53 69 case 2:
AndyTran 0:06bd2763aa53 70 D_row[(colum)*2] = '>';
AndyTran 0:06bd2763aa53 71 break;
AndyTran 0:06bd2763aa53 72 case 3:
AndyTran 0:06bd2763aa53 73 C_row[(colum)*2] = '>';
AndyTran 0:06bd2763aa53 74 break;
AndyTran 0:06bd2763aa53 75 case 4:
AndyTran 0:06bd2763aa53 76 B_row[(colum)*2] = '>';
AndyTran 0:06bd2763aa53 77 break;
AndyTran 0:06bd2763aa53 78 case 5:
AndyTran 0:06bd2763aa53 79 A_row[(colum)*2] = '>';
AndyTran 0:06bd2763aa53 80 break;
AndyTran 0:06bd2763aa53 81 }
AndyTran 0:06bd2763aa53 82 };
AndyTran 0:06bd2763aa53 83 string game_board::get1row (int row){
AndyTran 0:06bd2763aa53 84 string r_row;
AndyTran 0:06bd2763aa53 85 switch (row - 1)
AndyTran 0:06bd2763aa53 86 {
AndyTran 2:1a54e4ed2669 87 case 0: r_row = F_row;
AndyTran 0:06bd2763aa53 88 break;
AndyTran 0:06bd2763aa53 89 case 1: r_row = E_row;
AndyTran 0:06bd2763aa53 90 break;
AndyTran 0:06bd2763aa53 91 case 2: r_row = D_row;
AndyTran 0:06bd2763aa53 92 break;
AndyTran 0:06bd2763aa53 93 case 3: r_row = C_row;
AndyTran 0:06bd2763aa53 94 break;
AndyTran 0:06bd2763aa53 95 case 4: r_row = B_row;
AndyTran 0:06bd2763aa53 96 break;
AndyTran 0:06bd2763aa53 97 case 5: r_row = A_row;
AndyTran 0:06bd2763aa53 98 break;
AndyTran 0:06bd2763aa53 99 case 6: r_row = N_row;
AndyTran 0:06bd2763aa53 100 break;
AndyTran 0:06bd2763aa53 101 case 7: r_row = label;
AndyTran 0:06bd2763aa53 102 break;
AndyTran 0:06bd2763aa53 103 }
AndyTran 2:1a54e4ed2669 104 return (r_row);
AndyTran 0:06bd2763aa53 105 };
AndyTran 0:06bd2763aa53 106 bool game_board::looser(){
AndyTran 0:06bd2763aa53 107 int i,j,ship_lost = 0;
AndyTran 0:06bd2763aa53 108
AndyTran 0:06bd2763aa53 109 for (i = 0; i < 6; i++)
AndyTran 0:06bd2763aa53 110 {
AndyTran 0:06bd2763aa53 111 for (j = 0; j < 6; j++)
AndyTran 0:06bd2763aa53 112 {
AndyTran 0:06bd2763aa53 113 if (_my_ship[i][j] == 2)
AndyTran 0:06bd2763aa53 114 {
AndyTran 0:06bd2763aa53 115 ship_lost = ship_lost + 1;
AndyTran 0:06bd2763aa53 116 }
AndyTran 0:06bd2763aa53 117 }
AndyTran 0:06bd2763aa53 118 }
AndyTran 0:06bd2763aa53 119 //check for the number of ship is destroy;
AndyTran 0:06bd2763aa53 120 //if 5 or more ship is destroy player lose the game
AndyTran 0:06bd2763aa53 121 if (ship_lost > 5)
AndyTran 0:06bd2763aa53 122 {
AndyTran 0:06bd2763aa53 123 return true; //you lose
AndyTran 0:06bd2763aa53 124 }
AndyTran 0:06bd2763aa53 125 else return false; //nothing happen
AndyTran 0:06bd2763aa53 126 };
AndyTran 0:06bd2763aa53 127 void game_board::place_hit_miss_enemy (int row, int colum, bool hit_miss){
AndyTran 1:f4ece2e5a8f6 128 if (hit_miss == 1) {
AndyTran 0:06bd2763aa53 129 switch (row - 1) {
AndyTran 0:06bd2763aa53 130 case 0:
AndyTran 0:06bd2763aa53 131 F_row[(colum+8)*2] = '*';
AndyTran 0:06bd2763aa53 132 break;
AndyTran 0:06bd2763aa53 133 case 1:
AndyTran 0:06bd2763aa53 134 E_row[(colum+8)*2] = '*';
AndyTran 0:06bd2763aa53 135 break;
AndyTran 0:06bd2763aa53 136 case 2:
AndyTran 0:06bd2763aa53 137 D_row[(colum+8)*2] = '*';
AndyTran 0:06bd2763aa53 138 break;
AndyTran 0:06bd2763aa53 139 case 3:
AndyTran 0:06bd2763aa53 140 C_row[(colum+8)*2] = '*';
AndyTran 0:06bd2763aa53 141 break;
AndyTran 0:06bd2763aa53 142 case 4:
AndyTran 0:06bd2763aa53 143 B_row[(colum+8)*2] = '*';
AndyTran 0:06bd2763aa53 144 break;
AndyTran 0:06bd2763aa53 145 case 5:
AndyTran 0:06bd2763aa53 146 A_row[(colum+8)*2] = '*';
AndyTran 0:06bd2763aa53 147 break;
AndyTran 0:06bd2763aa53 148 }
AndyTran 0:06bd2763aa53 149 }
AndyTran 1:f4ece2e5a8f6 150 else if (hit_miss == 0) {
AndyTran 0:06bd2763aa53 151 switch (row - 1) {
AndyTran 0:06bd2763aa53 152 case 0:
AndyTran 0:06bd2763aa53 153 F_row[(colum+8)*2] = 'O';
AndyTran 0:06bd2763aa53 154 break;
AndyTran 0:06bd2763aa53 155 case 1:
AndyTran 0:06bd2763aa53 156 E_row[(colum+8)*2] = 'O';
AndyTran 0:06bd2763aa53 157 break;
AndyTran 0:06bd2763aa53 158 case 2:
AndyTran 0:06bd2763aa53 159 D_row[(colum+8)*2] = 'O';
AndyTran 0:06bd2763aa53 160 break;
AndyTran 0:06bd2763aa53 161 case 3:
AndyTran 0:06bd2763aa53 162 C_row[(colum+8)*2] = 'O';
AndyTran 0:06bd2763aa53 163 break;
AndyTran 0:06bd2763aa53 164 case 4:
AndyTran 0:06bd2763aa53 165 B_row[(colum+8)*2] = 'O';
AndyTran 0:06bd2763aa53 166 break;
AndyTran 0:06bd2763aa53 167 case 5:
AndyTran 0:06bd2763aa53 168 A_row[(colum+8)*2] = 'O';
AndyTran 0:06bd2763aa53 169 break;
AndyTran 0:06bd2763aa53 170 }
AndyTran 0:06bd2763aa53 171 }
AndyTran 0:06bd2763aa53 172 };