whats wrong with my pirateMove function Please help c heres

what\'s wrong with my pirateMove function. Please help c++

here\'s the instructions of the code design

Overview

The area between the harbor and the hole in the reef can be represented by a 15-by-30 grid where each point representing a square nautical mile. Contained in this grid are:

One British battleship on patrol.

Very hungry great white sharks that fancy pirates (they taste like chicken marinated in Guinness).

Random icebergs. In addition, the entire perimeter of the oceanic area described is made up of icebergs that formed overnight.

A single exit point from the wall of surrounding icebergs that will release your ship into the open sea for escape.

Your program will repeatedly ask you which direction you want to move in. Each time you move, you must try to avoid hitting, or being hit/eaten by an iceberg or a shark (remember, they’re very big and like to eat pirates), or being blasted by the Brits. You are within range of the Brits if you are in an adjacent square to their war vessel, including diagonal squares. It’s almost certain that your ship will be obliterated by cannon fire.

Function Decomposition

You are being provided with the functions that you will need below. You simply need to add these to your program and complete the code and commit your program as below (see submission). The function prototypes and purposes are as follows:

void briefing();

Give the user playing instructions.

void readMap(char ocean[ROWS][COLUMNS], int, int, int, int);

Read in the initial map from a file (this is the map.txt file). Parameters include the map, your current position and the coordinates of the hole in the wall. The file contains exactly 15 lines of 30 integers per line, coded as follows:

0 = open sea

1 = iceberg

2 = shark

3 = British battleship

4 = the escape position

5 = your pirate ship

When you create the actual map you are to insert/convert to the actual characters to be displayed into the array.

Your ship and mates are represented by the character ‘Ò’. (Arrgh!)

The battle ship is represented by an asterisk ‘*’.

Sharks are represented by the Latin symbol ‘œ’ (which sort of looks like a fish with its mouth open).

Icebergs are represented by a solid dot ‘·’.

Open sea is represented by a blank ‘ ’.

The escape position is represented by an ‘X’.

You read in the map as a 2-dimensional array of integers for the sole purpose of file reading sanity. However, this is not how it will appear when you display it on the screen. You may not use the integer array to represent your ocean. As you read numbers, populate a 2-dimensional character array appropriately and proceed when finished reading the file.

void printMap(const char ocean[ROWS][COLUMNS]);

Print the current ocean grid map. The ocean map should be displayed on the screen after each time you move and after the battleship and all of the sharks have moved.

bool pirateMove(char ocean[ROWS][COLUMNS], int myX, int myY, const int escX, const int escY);

Get a move from the player. Remember, each time you move all the sharks and the battleship move one space toward you. Parameters are the same as for readMap(). Keyboard commands from the numeric keypad will move your ship as follows:

move one row above

your current position

move one column to the left

of your current position

move one column to the right

of your current position

move one row below

your current position

Any other keyboard entry will keep your ship in the same position. (Optionally you can implement diagonal moves for the ship if you choose.) After moving the ship, check to see if your voyage is to continue (see endVoyage() below). If so return true, otherwise false.

void endVoyage(int outcome);

Check to see if you have reached the escape point. There are four possibilities:

You’ve found the hole in the wall and escaped.

You’ve run into an iceberg.

You’ve been eaten by the sharks.

You’ve been destroyed by the British patrols.

Accept as an argument one of these options and print an appropriate message explaining what happened.

bool sharkMoves(char ocean[ROWS][COLUMNS], int myX, int myY);

Move the sharks. Each time you move your ship, the battleship and sharks move toward you (see below). Unlike your ship sharks can move diagonally (northeast, northwest, southeast and southwest). Sharks cannot travel through icebergs and therefore avoid them. The shark must still move toward you but it may not be optimal. Two sharks may not hit each other. If two sharks collide one is left.

bool battleshipMove(char ocean[ROWS][COLUMNS], int myX, int myY);

Move the battleship. The battleship can also navigate diagonally (northeast, northwest, southeast and southwest) and destroys anything in its path – icebergs, sharks, and, unfortunately, you. That means if a battleship moves to a position where an iceberg was, when it moves away, that map position becomes open sea.

The game continues until you reach the exit point; or until the sharks or the Brits have eliminated you; or you carelessly navigate into an iceberg. Once the scenario has reached a conclusion, print out what happened.

----------------------------------------------------------------------------------------------------------------------------

and here\'s my code. Please help, I couldn\'t figure out what is wrong with my pirate move function

#include <iostream>

#include <fstream>

using namespace std;

void briefing();

void readMap(char ocean[30][15],int& myX, int& myY, int& escX, int& escY);

void printMap(const char ocean[30][15]);

bool pirateMove(char ocean[30][15], int myX, int myY, const int escX, const int escY);

void endVoyage(int outcome);

bool sharkMoves(char ocean[30][15], int myX, int myY);

bool battleshipMove(char ocean[30][15], int myX, int myY);

int main()

{

char ocean[30][15];

int myX,myY,escX,escY;\\

briefing();

readMap(ocean,myX,myY,escX,escY);

printMap(ocean); //reading the initial map state

while (pirateMove(ocean, myX, myY, escX, escY))
   {
       printMap(ocean);
   }


printMap(ocean); //printing the map at the final state

}
//pre-condtion: instructions for the game
//post-condtion: display the instruction for the player before the game starts
void briefing()

{

cout<<\"Your program will repeatedly ask you which direction you want to move in. Each time you move,\"<<endl;
cout<<\" you must try to avoid hitting, or being hit/eaten by an iceberg or a shark (remember, they’re very big\"<<endl;
cout<<\"and like to eat pirates), or being blasted by the Brits. You are within range of the Brits if you are\"<<endl;
cout<<\"in an adjacent square to their war vessel, including diagonal squares. It’s almost certain that your ship\"<<endl;
cout<<\"will be obliterated by cannon fire.\"<<endl;

}
//pre-condtion: read the initial map
//post-condtion:store the data into the given variables in the 2-d ocean array
void readMap(char ocean[30][15], int& myX, int& myY, int& escX, int& escY)

{

   int temp = 0;

   int i;

   int j;

   ifstream in(\"map.txt\");

   if (in.fail())

   {

       cout << \"file failed to open\" << endl;

       return;

   }

   for (i = 0; i < 30; i++)

   {

       for (j = 0; j < 15; j++)

       {

           in >> temp;


switch(temp){
case 0: ocean[i][j] = \' \'; break;
case 1: ocean[i][j] = (char)149; break;
case 2: ocean[i][j] = (char)156; break;
case 3: ocean[i][j] = \'*\'; break;
case 4: ocean[i][j] = \'X\';
escX = i;
escY = j;
break;
case 5: ocean[i][j] = (char)175;
myX = i;
myY = j;

break;
}
       }

   }

}
//pre-condition:Print the current ocean grid map.
//post-condition:The ocean map should be displayed on the screen
//after each time you move and after the battleship and all of the sharks have moved.
void printMap(const char ocean[30][15])

{

for(int i = 0; i<30;i++)
{
for(int j = 0; j<15; j++)
{
cout<<ocean[i][j];
}
cout<<endl;
}

}
//pre-condtion:Get an input move from the user
//post-condtion:we move based on the 4 coordinates specified here
bool pirateMove(char ocean[30][15], int myX, int myY, const int escX, const int escY)

{

int move;

cout<<\"Enter your move: \" <<endl;

cin>>move;

//moving the pirate based on the info provided
switch(move){
case(2): myX--; break;
case(4): myY--; break;
case(6): myY++; break;
case(8): myX++; break;
default:
cout<<\"Can\'t move\"<<endl;
}


//checking and passing case numbers of the outcome

if (ocean[myX][myY] == (char)149)

   {

       endVoyage(1);

       return false;

   }

   else if (sharkMoves(ocean, myX, myY))

   {

       endVoyage(2);

       return false;

   }

   else if (battleshipMove(ocean, myX, myY))

   {

       endVoyage(3);

       return false;

   }

   else if (myX == escX && myY == escY)

   {

       endVoyage(0);

       return false;

   }

   else

       return true;

}
//pre-condition:passing specific numbers based on the scenarios (outcomes).
//post-condition:each ending has a specific message associated with it that we must let the user know
void endVoyage(int outcome)

{

   if (outcome == 0)

   {

       cout << \"You’ve found the hole in the wall and escaped.\" << endl;

   }

   else if (outcome == 1)

   {

       cout << \"You’ve run into an iceberg.\" << endl;

   }

   else if (outcome == 2)

   {

       cout << \"You’ve been eaten by the sharks.\" << endl;

   }

   else if (outcome == 3)

   {

       cout << \"You’ve been destroyed by the British patrols.\" << endl;

   }

}
//pre-condition:look for sharks and move them closer to the pirate
//post-condition: check if the shark hits the my coordinates, which indicates sharkMove is succeful
//that ends the game on a lose scenario.
bool sharkMoves(char ocean[30][15], int myX, int myY)
{
   int i;
   int j;
   //variables to find which direction to move the shark
   int distX;
   int distY;
   int newSharkX;
   int newSharkY;
   for (i = 0; i < 30; i++)
   {
       for (j = 0; j < 15; j++)
       {
           if (ocean[i][j] == \'$\') // shark
           {
               distX = myX - i;
               distY = myY - j;

               newSharkX = i;
               newSharkY = j;

               if (distX < 0)
               {
                   newSharkX--;
               }
               else if (distX > 0)
               {
                   newSharkX++;
               }

               if (distY < 0)
               {
                   newSharkY--;
               }
               else if (distY > 0)
               {
                   newSharkY++;
               }

               if (ocean[newSharkX][newSharkY] != \'%\')
               {
                   ocean[i][j] = \' \';
                   ocean[newSharkX][newSharkY] = \'$\';
                   if (newSharkX == myX && newSharkY == myY)
                   {
                       return true;
                   }
               }
           }
       }
   }


   return false;
}

//pre-condition:no need to check for iceberg or not.
//post-condition:return false for all other cases
bool battleshipMove(char ocean[30][15], int myX, int myY)
{
   int i;
   int j;
   //variables to move the battleship towards the pirate
   int distX;
   int distY;
   int newBattleshipX;
   int newBattleshipY;
   for (i = 0; i < 30; i++)
   {
       for (j = 0; j < 15; j++)
       {
           if (ocean[i][j] == \'*\') // battleship
           {
               distX = myX - i;
               distY = myY - j;
               newBattleshipX = i;
               newBattleshipY = j;

               if (distX < 0)
               {
                   newBattleshipX--;
               }
               else if (distX > 0)
               {
                   newBattleshipX++;
               }

               if (distY < 0)
               {
                   newBattleshipY--;
               }
               else if (distY > 0)
               {
                   newBattleshipY++;
               }

               ocean[i][j] = \' \';
               ocean[newBattleshipX][newBattleshipY] = \'*\';

               if (newBattleshipX == myX && newBattleshipY == myY)
               {
                   return true;
               }
           }
       }
   }

   return false;
}

move one row above

your current position

move one column to the left

of your current position

move one column to the right

of your current position

move one row below

your current position

Solution

Answer:

#include <iostream.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>   
void displaygamerwindow();
void shiplocation();
void systemlocation();
void systemoption(int capacity1, int leftsidedirection, int upwards, int word_taken);
void systemwindow();
void locationselect(int capacity, int left, int up, int word_input);
char shiplabel[10], systemlabel[10];
int x,locatevertical, locatehorizontal,locateupwards,locateleftwards,computevertical, computehorizontal,computeupwards,computeleftwards;
char gamerboard [10][10]=
{
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
};
char hiddensystem [10][10]=
{
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
};
char displayedsystem [10][10]=
{
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
{00,00,00,00,00,00,00,00,00,00},
};

main()
{
HANDLE result;
result = GetStdHandle(STD_OUTPUT_HANDLE);
cout<<\"Loading Please Wait : \"<<endl;
Sleep(1000);
system(\"CLS\");
cout<<\"Loading Please Wait :\"<<endl;
Sleep(1000);
system(\"CLS\");
cout<<\"Loading Please Wait :\"<<endl;
Sleep(1000);
system(\"CLS\");
cout<<\"Loading Please Wait :\"<<endl;
Sleep(1000);
system(\"CLS\");
  
SetConsoleTextAttribute(result, FOREGROUND_BLUE|BACKGROUND_CYAN);
cout<<\"Lets Play BattleShip Game :\"<<endl;
SetConsoleTextAttribute(result, FOREGROUND_CYAN|FOREGROUND_GREEN|FOREGROUND_BLUE);

systemlocation();
systemwindow();
return 0;
}

void systemwindow()
{

computehorizontal=0;
computevertical=0;
cout << \"\" << endl;
cout << \" System Board \" << endl;
cout << \".........................................................\" << endl;
cout << \" |0|1|2|3|4|5|6|7|8|9|\" ;
cout<<\'\ \';
cout << computehorizontal << \"|\";
do
{
if(computehorizontal == 9 && computevertical == 10)
{break;}
if(computevertical > 9 && computehorizontal < 9)
{
cout << \"|\"<< endl;
computehorizontal = computehorizontal + 1;
cout << (computehorizontal) << \"|\";
computevertical = 0;
}
if(computehorizontal < 10)
{
if(computevertical < 9)
{
cout << hiddensystem[computehorizontal] [computevertical] << \" \";
}
if(computevertical > 8)
{
cout << hiddensystem[computehorizontal] [computevertical];
}
}
computevertical = computevertical + 1;
}
while(computehorizontal < 10);
computehorizontal = 0;
computevertical = 0;
cout << \"|\" << endl;
cout << \"................................................................\" << endl;
cout << \"\" << endl;
}

void systemlocation()
{
srand(time(NULL));
for (x=5;x>=2;x--)
{
switch(x)
{
case 5:
strcpy(systemlabel,\"Carrier\");
break;
case 4:
strcpy(systemlabel,\"Battleship\");
break;
case 3:
strcpy(systemlabel,\"Kruiser\");
break;
case 2:
strcpy(systemlabel,\"Destroyer\");
break;
}
do
{
computeleftwards=rand()%(10);
computeupwards=rand()%(10);
}
while((hiddensystem[computeleftwards][computeupwards]!=00));
hiddensystem[computeleftwards][computeupwards]=int(systemlabel[0]);
systemoption(x,computeleftwards,computeupwards, (int(systemlabel[0])));
}
do
{
computeleftwards=rand()%(10);
computeupwards=rand()%(10);
}
while((hiddensystem[computeleftwards][computeupwards]!=00));
hiddensystem[computeleftwards][computeupwards]=00;
systemoption(3,computeleftwards,computeupwards, 00);
}

void systemoption(int capacity1, int leftsidedirection, int upwards, int word_taken)
{
srand(time(NULL));
int select,circle;
select=1+rand()%(4);
switch (select)
{
case 1:
for(circle=1;circle<capacity1;circle++)
{
if(hiddensystem[leftsidedirection-circle][upwards]!=00 || int(leftsidedirection-(capacity1-1))<(0))
{
hiddensystem[leftsidedirection][upwards]=00;
x=x+1;
break;
}
if(int(leftsidedirection-(capacity1-1)) >= (0) && x==capacity1)
{
for(circle=1;circle<capacity1;circle++)
{hiddensystem[leftsidedirection-circle][upwards]=word_taken;}
systemwindow();
}
}
break;
case 2:
for(circle=1;circle<capacity1;circle++)
{
if(hiddensystem[leftsidedirection+circle][upwards]!=00 || int(leftsidedirection-(capacity1-1))>(9))
{
hiddensystem[leftsidedirection][upwards]=00;
x=x+1;
break;
}
if(int(leftsidedirection-(capacity1-1)) <= (9) && x==capacity1)
{
for(circle=1;circle<capacity1;circle++)
{hiddensystem[leftsidedirection+circle][upwards]=word_taken;}
systemwindow();
}
}
break;
case 3:
for(circle=1;circle<capacity1;circle++)
{
if(hiddensystem[leftsidedirection-circle][upwards]!=00 || int(leftsidedirection-(capacity1-1))>(9))
{
hiddensystem[leftsidedirection][upwards]=00;
x=x+1;
break;
}
if(int(upwards+(capacity1-1)) <= (9) && x==capacity1)
{
for(circle=1;circle<capacity1;circle++)
{hiddensystem[leftsidedirection][upwards+ circle]=word_taken;}
systemwindow();
}
}
break;
case 4:
for(circle=1;circle<capacity1;circle++)
{
if(hiddensystem[leftsidedirection-circle][upwards]!=00 || int(upwards-(capacity1-1))<(0))
{
hiddensystem[leftsidedirection][upwards]=00;
x=x+1;
break;
}
if(int(upwards-(capacity1-1)) >= (0) && x==capacity1)
{
for(circle=1;circle<capacity1;circle++)
{hiddensystem[leftsidedirection][upwards-circle]=word_taken;}
systemwindow();
}
}
break;
}
}

void displaygamerwindow()
{
locatehorizontal=0;
locatevertical=0;
cout << \"\" << endl;
cout << \" Gamer \'s Board\" << endl;
cout << \".................................................................\" << endl;
cout << \" |0|1|2|3|4|5|6|7|8|9|\" ;
cout<<\'\ \';
cout << locatehorizontal << \"|\";
do
{
if(locatehorizontal == 9 && locatevertical == 10)
{break;}
if(locatevertical > 9 && locatehorizontal < 9)
{
cout << \"|\"<< endl;
locatehorizontal = locatehorizontal + 1;
cout << (locatehorizontal) << \"|\";
locatevertical = 0;
}
if(locatehorizontal < 10)
{
if(locatevertical < 9)
{
cout << gamerboard[locatehorizontal] [locatevertical] << \" \";
}
if(locatevertical > 8)
{
cout << gamerboard[locatehorizontal] [locatevertical]<<flush;
}
}
locatevertical = locatevertical + 1;
}
while(locatehorizontal < 10);
locatehorizontal = 0;
locatevertical = 0;
cout << \"|\" << endl;
cout << \"................................................................................\" << endl;
cout << \"\" << endl;
}

void locationselect(int capacity,int left,int up,int word_input)
{
int select,circle;
cout<<\"Do you need any ship to face: \"<< \'\ \' << \"1. UP 2.DOWN 3.RIGHT 4.LEFT\"<<\'\ \';
cin>>select;
switch (select)
{
case 1:
for(circle=1;circle<capacity;circle++)
{
if(gamerboard[left-circle][up]!=00 || int(left-(capacity-1))<(0))
{
gamerboard[left][up]=00;
cout<<\"Don\'t place ships illegally...\"<<endl;
x=x+1;
break;
}
if(int(left-(capacity-1)) >= (0) && x==capacity)
{
for(circle=1;circle<capacity;circle++)
{gamerboard[left-circle][up]=word_input;}
displaygamerwindow();
}
}
break;
case 2:
for(circle=1;circle<capacity;circle++)
{
if(gamerboard[left+circle][up]!=00 || int(left-(capacity-1))>(9))
{
gamerboard[left][up]=00;
cout<<\"Please check ships place correctly.\"<<endl;
x=x+1;
break;
}
if(int(left-(capacity-1)) <= (9) && x==capacity)
{
for(circle=1;circle<capacity;circle++)
{gamerboard[left+circle][up]=word_input;}
displaygamerwindow();
}
}
break;
case 3:
for(circle=1;circle<capacity;circle++)
{
if(gamerboard[left-circle][up]!=00 || int(left-(capacity-1))>(9))
{
gamerboard[left][up]=00;
cout<<\"Please check ships place correctly\"<<endl;
x=x+1;
break;
}
if(int(up+(capacity-1)) <= (9) && x==capacity)
{
for(circle=1;circle<capacity;circle++)
{gamerboard[left][up+ circle]=word_input;}
displaygamerwindow();
}
}
break;
case 4:
for(circle=1;circle<capacity;circle++)
{
if(gamerboard[left-circle][up]!=00 || int(up-(capacity-1))<(0))
{
gamerboard[left][up]=00;
cout<<\"Please check ships place correctly\"<<endl;
x=x+1;
break;
}
if(int(up-(capacity-1)) >= (0) && x==capacity)
{
for(circle=1;circle<capacity;circle++)
{gamerboard[left][up-circle]=word_input;}
displaygamerwindow();
}
}
break;
}
}

void shiplocation()
{
for (x=5;x>=2;x--)
{
switch(x)
{
case 5:
strcpy(shiplabel,\"Carrier\");
break;
case 4:
strcpy(shiplabel,\"Battleship\");
break;
case 3:
strcpy(shiplabel,\"Kruiser\");
break;
case 2:
strcpy(shiplabel,\"Destroyer\");
break;
}
do
{
cout<<\"Locating one end of the \"<<shiplabel<<\".\"<<\'\ \';
cout<<\"Place left side coordinate followed by top :\"<< \'\ \';
cin>>locateleftwards;
cin>>locateupwards;
}
while(locateleftwards<0||locateleftwards>9||locateupwards<0||locateupwards>9||(gamerboard[locateleftwards][locateupwards]!=00));
gamerboard[locateleftwards][locateupwards]=int(shiplabel[0]);
displaygamerwindow();
locationselect(x,locateleftwards,locateupwards, (int(shiplabel[0])));
}
do
{
cout<<\"Locate one end of the Submarine.\"<<\'\ \';
cout<<\"Place left side coordinate followed by top \"<< \'\ \';
cin>>locateleftwards;
cin>>locateupwards;
}
while(locateleftwards<0||locateleftwards>9||locateupwards<0||locateupwards>9||(gamerboard[locateleftwards][locateupwards]!=00));
gamerboard[locateleftwards][locateupwards]=00;
displaygamerwindow();
locationselect(3,locateleftwards,locateupwards, 00);
}

what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the
what\'s wrong with my pirateMove function. Please help c++ here\'s the instructions of the code design Overview The area between the harbor and the hole in the

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site