Brandon Donohue / Mbed 2 deprecated IoTBattleship

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Player.cpp Source File

Player.cpp

00001 #include "Player.h"
00002 
00003 Player::Player(){
00004     board = new int*[10];
00005     enemyBoard = new int*[10];
00006     for(int i = 0; i < 10; i++){
00007         board[i] = new int[10];
00008         enemyBoard[i] = new int[10];
00009         for(int j = 0; j < 10; j++){
00010             board[i][j] = 0;
00011             enemyBoard[i][j] = 0;
00012         }
00013     }
00014 }
00015 
00016 void Player::PrintBoard(){
00017     for(int i = 0; i < 10; i++){
00018         uLCD.line(26+i*10,26,26+i*10,127,0xFFFFFF);
00019         uLCD.line(26,26+i*10,127,26+i*10,0xFFFFFF);
00020         for(int j = 0; j < 10; j++){
00021             if(board[i][j] == 0){
00022                 uLCD.filled_circle(31+i*10,31+j*10,4,0x0000FF);
00023             } else if(board[i][j] == 1) {
00024                 uLCD.filled_circle(31+i*10,31+j*10,4,0xFF0000);    
00025             } else if(board[i][j] == 2) {
00026                 uLCD.filled_circle(31+i*10,31+j*10,4,0xFFFFFF);    
00027             } else {
00028                 uLCD.filled_circle(31+i*10,31+j*10,4,0xFFFFFF);   
00029                 uLCD.filled_circle(31+i*10,31+j*10,3,0xFF0000);    
00030             }
00031         }
00032     }
00033     uLCD.line(126,26,126,127,0xFFFFFF);
00034     uLCD.line(26,126,127,126,0xFFFFFF);
00035 }
00036 
00037 void Player::PrintEnemyBoard(){
00038     for(int i = 0; i < 10; i++){
00039         uLCD.line(26+i*10,26,26+i*10,127,0xFFFFFF);
00040         uLCD.line(26,26+i*10,127,26+i*10,0xFFFFFF);
00041         for(int j = 0; j < 10; j++){
00042             if(enemyBoard[i][j] == 0){
00043                 uLCD.filled_circle(31+i*10,31+j*10,4,0x0000FF);
00044             } else if(enemyBoard[i][j] == 1) {
00045                 uLCD.filled_circle(31+i*10,31+j*10,4,0xFF0000);    
00046             } else if(enemyBoard[i][j] == 2) {
00047                 uLCD.filled_circle(31+i*10,31+j*10,4,0xFFFFFF);   
00048             } else {
00049                 uLCD.filled_circle(31+i*10,31+j*10,4,0xFFFFFF);   
00050                 uLCD.filled_circle(31+i*10,31+j*10,3,0xFF0000);    
00051             }
00052         }
00053     }
00054 }
00055 
00056 void Player::Shot(int i, int j, int hit) {
00057     if(hit == 1){
00058         enemyBoard[i][j] = 3; 
00059     } else if(hit == 0){
00060         enemyBoard[i][j] = 1; 
00061     }
00062 }
00063 
00064 int Player::EnemyShot(int i, int j) {
00065     if(board[i][j] == 2){
00066         board[i][j] = 3;
00067         uLCD.filled_circle(31+i*10,31+j*10,4,0xFFFFFF);   
00068         uLCD.filled_circle(31+i*10,31+j*10,3,0xFF0000);  
00069         return 1;
00070     } else if(board[i][j] == 0){
00071         board[i][j] = 1;
00072         uLCD.filled_circle(31+i*10,31+j*10,4,0xFF0000);  
00073         return 0;
00074     }
00075     return 3;
00076     
00077 }
00078 
00079 void Player::PlaceShips(int i, int j){
00080     board[i][j] = 2;
00081 }
00082 
00083 int Player::getColor(int i, int j){
00084     return board[i][j]; 
00085 }
00086 
00087 int Player::getEnemyColor(int i, int j){
00088     return enemyBoard[i][j]; 
00089 }
00090 
00091 bool Player::presetShips(int con){
00092     if(con == 1){
00093     board[9][3] = 2;
00094     board[9][4] = 2;
00095     board[9][5] = 2;  
00096     board[9][6] = 2;  
00097     board[9][7] = 2;  
00098     
00099     board[5][3] = 2;  
00100     board[5][4] = 2;  
00101     board[5][5] = 2;  
00102     board[5][6] = 2;  
00103     
00104     board[1][7] = 2;  
00105     board[2][7] = 2;  
00106     board[3][7] = 2;  
00107     
00108     board[4][2] = 2;  
00109     board[5][2] = 2;  
00110     board[6][2] = 2;  
00111     
00112     board[0][0] = 2;  
00113     board[0][1] = 2;  
00114     } else if(con == 2){
00115     board[0][3] = 2;
00116     board[1][3] = 2;
00117     board[2][3] = 2;  
00118     board[3][3] = 2;  
00119     board[4][3] = 2;  
00120     
00121     board[2][5] = 2;  
00122     board[3][5] = 2;  
00123     board[4][5] = 2;  
00124     board[5][5] = 2;  
00125     
00126     board[7][1] = 2;  
00127     board[7][2] = 2;  
00128     board[7][3] = 2;  
00129     
00130     board[0][7] = 2;  
00131     board[0][8] = 2;  
00132     board[0][9] = 2;  
00133     
00134     board[9][8] = 2;  
00135     board[9][9] = 2;   
00136     } else if(con == 3){
00137     board[6][5] = 2;
00138     board[6][6] = 2;
00139     board[6][7] = 2;  
00140     board[6][8] = 2;  
00141     board[6][9] = 2;  
00142     
00143     board[6][3] = 2;  
00144     board[7][3] = 2;  
00145     board[8][3] = 2;  
00146     board[9][3] = 2;  
00147     
00148     board[4][1] = 2;  
00149     board[4][2] = 2;  
00150     board[4][3] = 2;  
00151     
00152     board[0][4] = 2;  
00153     board[0][5] = 2;  
00154     board[0][6] = 2;  
00155     
00156     board[4][5] = 2;  
00157     board[4][6] = 2;   
00158     } else if(con == 4){
00159     board[0][3] = 2;
00160     board[0][4] = 2;
00161     board[0][5] = 2;  
00162     board[0][6] = 2;  
00163     board[0][7] = 2;  
00164     
00165     board[1][3] = 2;  
00166     board[2][3] = 2;  
00167     board[3][3] = 2;  
00168     board[4][3] = 2;  
00169     
00170     board[8][7] = 2;  
00171     board[8][8] = 2;  
00172     board[8][9] = 2;  
00173     
00174     board[6][6] = 2;  
00175     board[7][6] = 2;  
00176     board[8][6] = 2;  
00177     
00178     board[6][9] = 2;  
00179     board[7][9] = 2;   
00180     } else {
00181         return false;   
00182     }
00183     return true;
00184 }
00185     
00186 Player::~Player(){
00187   for(int i = 0; i < 10; i++){
00188     delete[] board[i];
00189     delete[] enemyBoard[i];
00190   }
00191   delete[] board;
00192   delete[] enemyBoard;
00193 }