Advertisement
Guest User

assignment

a guest
Feb 16th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.33 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cstdlib>
  4. #include <string>
  5. #include <ctime>
  6. #include <vector>
  7. using namespace std;
  8.  
  9. const char HILL = '$', TRAP = '#', GOLD = '*', TRAPPED = '@';
  10.  
  11. enum Direction
  12. {
  13. north = 3,
  14. east = 2,
  15. west = 1,
  16. south = 0
  17. };
  18.  
  19. class Map
  20. {
  21. private:
  22. vector < vector<char> > map;
  23. int dimX, dimY, roverX, roverY;
  24. char objectUnderRover;
  25. Direction heading;
  26. public:
  27. Map()
  28. {
  29. dimX = 0;
  30. dimY = 0;
  31. roverX = 0;
  32. roverY = 0;
  33. }
  34. Map(int dimx, int dimy)
  35. {
  36. dimX = dimx;
  37. dimY = dimy;
  38. roverX = dimx/2;
  39. roverY = dimy/2;
  40. init();
  41. }
  42. void init()
  43. {
  44. const int noOfObjects = 10; //number of objects in the objects array
  45. char objects[noOfObjects] = {' ', ' ', ' ', ' ', ' ', ' ',
  46. HILL, HILL, TRAP, TRAP };
  47.  
  48. //create dynamic 2D array using vector
  49. map.resize(dimY); //create rows
  50. for (int i=0; i<dimY; ++i)
  51. {
  52. map[i].resize(dimX); //resize each rows
  53. }
  54.  
  55. //put random chars into the vector array
  56.  
  57. unsigned int seed = static_cast<unsigned int>(time(NULL));
  58. srand(seed); // seed needs to be set only once in the entire program
  59.  
  60. for (int i=0; i<dimY; ++i)
  61. {
  62. for (int j=0; j<dimX; ++j)
  63. {
  64. int objNo = rand() % noOfObjects;
  65. map[i][j] = objects[objNo];
  66. }
  67. }
  68. }
  69.  
  70. void populateGold(int quantity)
  71. {
  72. roverX = dimY/2;
  73. roverY = dimX/2;
  74. int goldDeployed = 0;
  75. map[roverX][roverY] = ' '; // sets center of map to be empty
  76. do {
  77. const int SIZE = 4;
  78. Direction directions[SIZE] = {north, east, west, south};
  79.  
  80. int dir = rand() % SIZE;
  81. heading = directions[dir];
  82. int randNum = rand() % 10;
  83. if (randNum == 0 || randNum == 1)
  84. {
  85. turnRight();
  86. }
  87. else if (randNum == 8 || randNum == 9)
  88. {
  89. turnLeft();
  90. }
  91. else
  92. {
  93. move();
  94. int randNumGold = rand() % 10;
  95. if (randNumGold == 0)
  96. {
  97. if (objectUnderRover != GOLD)
  98. {
  99. map[roverX][roverY] = GOLD;
  100. goldDeployed++;
  101. }
  102. }
  103. }
  104. } while(goldDeployed<quantity);
  105. }
  106.  
  107. void turnLeft()
  108. {
  109. switch (heading) {
  110. case 1:
  111. heading = west;
  112. break;
  113. case 2:
  114. heading = north;
  115. break;
  116. case 3:
  117. heading = south;
  118. break;
  119. case 4:
  120. heading = east;
  121. break;
  122. }
  123. }
  124. void turnRight()
  125. {
  126. switch (heading) {
  127. case 1:
  128. heading = west;
  129. break;
  130. case 2:
  131. heading = north;
  132. break;
  133. case 3:
  134. heading = south;
  135. break;
  136. case 4:
  137. heading = east;
  138. break;
  139. }
  140. }
  141.  
  142. void move()
  143. {
  144. switch (heading) {
  145. case north:
  146. if (isInsideMap(roverX-1, roverY))
  147. {
  148. roverX-=1;
  149. objectUnderRover = map[roverX][roverY];
  150. if (objectUnderRover != GOLD)
  151. {
  152. map[roverX][roverY] = ' ';
  153. }
  154. }
  155. else
  156. {
  157. heading = south;
  158. }
  159. break;
  160. case east:
  161. if (isInsideMap(roverX, roverY+1))
  162. {
  163. roverY+=1;
  164. objectUnderRover = map[roverX][roverY];
  165. if (objectUnderRover != GOLD)
  166. {
  167. map[roverX][roverY] = ' ';
  168. }
  169. }
  170. else
  171. {
  172. heading = west;
  173. }
  174. break;
  175. case west:
  176. if (isInsideMap(roverX, roverY-1))
  177. {
  178. roverY-=1;
  179. objectUnderRover = map[roverX][roverY];
  180. if (objectUnderRover != GOLD)
  181. {
  182. map[roverX][roverY] = ' ';
  183. }
  184. }
  185. else
  186. {
  187. heading = east;
  188. }
  189. break;
  190. case south:
  191. if (isInsideMap(roverX+1, roverY))
  192. {
  193. roverX+=1;
  194. objectUnderRover = map[roverX][roverY];
  195. if (objectUnderRover != GOLD)
  196. {
  197. map[roverX][roverY] = ' ';
  198. }
  199. }
  200. else
  201. {
  202. heading = north;
  203. }
  204. break;
  205. }
  206. }
  207.  
  208. void resize(int dimx, int dimy)
  209. {
  210. dimX = dimx;
  211. dimY = dimy;
  212. map.resize(dimy); //create rows
  213. for (int i=0; i<dimy; ++i)
  214. {
  215. map[i].resize(dimx); //resize each rows
  216. }
  217. for (int i=0; i<dimy; ++i)
  218. {
  219.  
  220. }
  221. }
  222.  
  223.  
  224. void display()
  225. {
  226. cout << "\n --__--__--Welcome to Mars!--__--__--" << endl;
  227.  
  228. for (int i=0; i<dimY; ++i)
  229. {
  230. cout << " ";
  231. for (int j=0; j<dimX; ++j)
  232. {
  233. cout << "+-";
  234. }
  235. cout << "+" << endl;
  236. cout << setw(2) << (dimY-i);
  237. for (int j=0; j<dimX; ++j)
  238. {
  239. cout << "|" << map[i][j];
  240. }
  241. cout << "|" << endl;
  242. }
  243.  
  244. cout << " ";
  245. for (int j=0; j<dimX; ++j)
  246. {
  247. cout << "+-";
  248. }
  249. cout << "+" << endl;
  250.  
  251. cout << " ";
  252. for (int j=0; j<dimX; ++j)
  253. {
  254. int digit = (j+1)/10;
  255. cout << " ";
  256. if (digit==0)
  257. cout << " ";
  258. else
  259. cout << digit;
  260. }
  261. cout << endl;
  262. cout << " ";
  263. for (int j=0; j<dimX; ++j)
  264. {
  265. cout << " " << (j+1)%10;
  266. }
  267. cout << endl << endl;
  268. }
  269. void setObject(int x, int y, char ch)
  270. {
  271. map[x][y] = ch;
  272. }
  273. char getObject(int x, int y)
  274. {
  275. char object = map[x][y];
  276. return object;
  277. }
  278. bool isEmpty(int x, int y)
  279. {
  280. if(getObject(x, y) == ' ')
  281. {
  282. return true;
  283. }
  284. else
  285. return false;
  286. }
  287. bool isHill(int x, int y)
  288. {
  289. if(getObject(x, y) == HILL)
  290. {
  291. return true;
  292. }
  293. else
  294. return false;
  295. }
  296. bool isTrap(int x, int y)
  297. {
  298. if(getObject(x, y) == TRAP)
  299. {
  300. return true;
  301. }
  302. else
  303. return false;
  304. }
  305. bool isGold(int x, int y)
  306. {
  307. if (getObject(x, y) == GOLD) {
  308. return true;
  309. }
  310. else
  311. return false;
  312. }
  313. bool isInsideMap(int x, int y)
  314. {
  315. if ((x>=0 && x<dimY) && (y>=0 && y<dimX))
  316. {
  317. return true;
  318. }
  319. else
  320. return false;
  321. }
  322. int getDimX()
  323. {
  324. return dimX;
  325. }
  326. int getDimY()
  327. {
  328. return dimY;
  329. }
  330. }; //Map
  331.  
  332. class Rover
  333. {
  334. private:
  335. int x, y, goldCollected = 0;
  336. bool quit = false;
  337. Direction heading;
  338. char objectUnderRover;
  339. Map* ptrToMars; //a pointer to the map for Mars
  340. Map mapper; //a map that keeps track of observed cells so far
  341. public:
  342. Rover()
  343. {
  344. }
  345.  
  346. void land(Map& mars) //links a map of Mars to a Rover
  347. {
  348. int dimX = mars.getDimX(), dimY = mars.getDimY();
  349. ptrToMars = &mars;
  350. mapper.resize(dimX, dimY);
  351. x = dimX/2;
  352. y = dimY/2;
  353.  
  354. const int SIZE = 4;
  355. Direction directions[SIZE] = {north, east, west, south};
  356.  
  357. int dir = rand() % SIZE;
  358. heading = directions[dir];
  359.  
  360. switch (heading) {
  361. case north:
  362. mapper.setObject(y, x, '^');
  363. unhideNearbyObj();
  364. break;
  365. case east:
  366. mapper.setObject(y, x, '>');
  367. unhideNearbyObj();
  368. break;
  369. case west:
  370. mapper.setObject(y, x, '<');
  371. unhideNearbyObj();
  372. break;
  373. case south:
  374. mapper.setObject(y, x, 'v');
  375. unhideNearbyObj();
  376. break;
  377. }
  378. }
  379.  
  380. Map* getPtrToMars()
  381. {
  382. return ptrToMars;
  383. }
  384.  
  385. int getGoldCollected()
  386. {
  387. return goldCollected;
  388. }
  389.  
  390. void setGoldCollected(int no)
  391. {
  392. goldCollected = no;
  393. }
  394.  
  395. char getObjUnderRover()
  396. {
  397. return objectUnderRover;
  398. }
  399.  
  400. void setObjUnderRover(char obj)
  401. {
  402. objectUnderRover = obj;
  403. }
  404.  
  405. bool getQuitVal()
  406. {
  407. return quit;
  408. }
  409.  
  410. void unhideNearbyObj() {
  411. switch (heading) {
  412. case north:
  413. if(mapper.isInsideMap(y-1, x))
  414. {
  415. mapper.setObject(y-1, x, ptrToMars->getObject(y-1, x));
  416. }
  417. if(mapper.isInsideMap(y-1, x-1))
  418. {
  419. mapper.setObject(y-1, x-1, ptrToMars->getObject(y-1, x-1));
  420. }
  421. if(mapper.isInsideMap(y-1, x+1))
  422. {
  423. mapper.setObject(y-1, x+1, ptrToMars->getObject(y-1, x+1));
  424. }
  425. break;
  426. case east:
  427. if(mapper.isInsideMap(y, x+1))
  428. {
  429. mapper.setObject(y, x+1, ptrToMars->getObject(y, x+1));
  430. }
  431. if(mapper.isInsideMap(y-1, x+1))
  432. {
  433. mapper.setObject(y-1, x+1, ptrToMars->getObject(y-1, x+1));
  434. }
  435. if(mapper.isInsideMap(y+1, x+1))
  436. {
  437. mapper.setObject(y+1, x+1, ptrToMars->getObject(y+1, x+1));
  438. }
  439. break;
  440. case west:
  441. if(mapper.isInsideMap(y, x-1))
  442. {
  443. mapper.setObject(y, x-1, ptrToMars->getObject(y, x-1));
  444. }
  445. if(mapper.isInsideMap(y-1, x-1))
  446. {
  447. mapper.setObject(y-1, x-1, ptrToMars->getObject(y-1, x-1));
  448. }
  449. if(mapper.isInsideMap(y+1, x-1))
  450. {
  451. mapper.setObject(y+1, x-1, ptrToMars->getObject(y+1, x-1));
  452. }
  453. break;
  454. case south:
  455. if(mapper.isInsideMap(y+1, x))
  456. {
  457. mapper.setObject(y+1, x, ptrToMars->getObject(y+1, x));
  458. }
  459. if(mapper.isInsideMap(y+1, x-1))
  460. {
  461. mapper.setObject(y+1, x-1, ptrToMars->getObject(y+1, x-1));
  462. }
  463. if(mapper.isInsideMap(y+1, x+1))
  464. {
  465. mapper.setObject(y+1, x+1, ptrToMars->getObject(y+1, x+1));
  466. }
  467. break;
  468. }
  469. }
  470.  
  471. bool turnLeft()
  472. {
  473. switch (heading) {
  474. case north:
  475. mapper.setObject(y, x, '<');
  476. heading = west;
  477. unhideNearbyObj();
  478. break;
  479. case east:
  480. mapper.setObject(y, x, '^');
  481. heading = north;
  482. unhideNearbyObj();
  483. break;
  484. case west:
  485. mapper.setObject(y, x, 'v');
  486. heading = south;
  487. unhideNearbyObj();
  488. break;
  489. case south:
  490. mapper.setObject(y, x, '>');
  491. heading = east;
  492. unhideNearbyObj();
  493. break;
  494. }
  495. return true;
  496. }
  497. bool turnRight()
  498. {
  499. switch (heading) {
  500. case north:
  501. mapper.setObject(y, x, '>');
  502. heading = east;
  503. unhideNearbyObj();
  504. break;
  505. case east:
  506. mapper.setObject(y, x, 'v');
  507. heading = south;
  508. unhideNearbyObj();
  509. break;
  510. case west:
  511. mapper.setObject(y, x, '^');
  512. heading = north;
  513. unhideNearbyObj();
  514. break;
  515. case south:
  516. mapper.setObject(y, x, '<');
  517. heading = west;
  518. unhideNearbyObj();
  519. break;
  520. }
  521. return true;
  522. }
  523. bool move()
  524. {
  525. switch (heading) {
  526. case north:
  527. if ((mapper.isInsideMap(y-1, x)) && (mapper.isEmpty(y-1, x)==true))
  528. {
  529. mapper.setObject(y, x, ' ');
  530. y-=1;
  531. objectUnderRover = mapper.getObject(y, x);
  532. mapper.setObject(y, x, '^');
  533. unhideNearbyObj();
  534. return true;
  535. }
  536. else if ((mapper.isInsideMap(y-1, x)) && (mapper.isTrap(y-1, x)==true))
  537. {
  538. mapper.setObject(y, x, ' ');
  539. y-=1;
  540. objectUnderRover = mapper.getObject(y, x);
  541. mapper.setObject(y, x, TRAPPED);
  542. unhideNearbyObj();
  543. return true;
  544. }
  545. else if ((mapper.isInsideMap(y-1, x)) && (mapper.isGold(y-1, x)==true))
  546. {
  547. mapper.setObject(y, x, ' ');
  548. y-=1;
  549. objectUnderRover = mapper.getObject(y, x);
  550. goldCollected++;
  551. mapper.setObject(y, x, '^');
  552. ptrToMars->setObject(y, x, ' ');
  553. unhideNearbyObj();
  554. return true;
  555. }
  556. else
  557. return false;
  558. break;
  559. case east:
  560. if ((mapper.isInsideMap(y, x+1)) && (mapper.isEmpty(y, x+1)==true))
  561. {
  562. mapper.setObject(y, x, ' ');
  563. x+=1;
  564. objectUnderRover = mapper.getObject(y, x);
  565. mapper.setObject(y, x, '>');
  566. unhideNearbyObj();
  567. return true;
  568. }
  569. else if ((mapper.isInsideMap(y, x+1)) && (mapper.isTrap(y, x+1)==true))
  570. {
  571. mapper.setObject(y, x, ' ');
  572. x+=1;
  573. objectUnderRover = mapper.getObject(y, x);
  574. mapper.setObject(y, x, TRAPPED);
  575. unhideNearbyObj();
  576. return true;
  577. }
  578. else if ((mapper.isInsideMap(y, x+1)) && (mapper.isGold(y, x+1)==true))
  579. {
  580. mapper.setObject(y, x, ' ');
  581. x+=1;
  582. objectUnderRover = mapper.getObject(y, x);
  583. goldCollected++;
  584. mapper.setObject(y, x, '>');
  585. ptrToMars->setObject(y, x, ' ');
  586. unhideNearbyObj();
  587. return true;
  588. }
  589. else
  590. return false;
  591. break;
  592. case west:
  593. if ((mapper.isInsideMap(y, x-1)) && (mapper.isEmpty(y, x-1)==true))
  594. {
  595. mapper.setObject(y, x, ' ');
  596. x-=1;
  597. objectUnderRover = mapper.getObject(y, x);
  598. mapper.setObject(y, x, '<');
  599. unhideNearbyObj();
  600. return true;
  601. }
  602. else if ((mapper.isInsideMap(y, x-1)) && (mapper.isTrap(y, x-1)==true))
  603. {
  604. mapper.setObject(y, x, ' ');
  605. x-=1;
  606. objectUnderRover = mapper.getObject(y, x);
  607. mapper.setObject(y, x, TRAPPED);
  608. unhideNearbyObj();
  609. return true;
  610. }
  611. else if ((mapper.isInsideMap(y, x-1)) && (mapper.isGold(y, x-1)==true))
  612. {
  613. mapper.setObject(y, x, ' ');
  614. x-=1;
  615. objectUnderRover = mapper.getObject(y, x);
  616. goldCollected++;
  617. mapper.setObject(y, x, '<');
  618. ptrToMars->setObject(y, x, ' ');
  619. unhideNearbyObj();
  620. return true;
  621. }
  622. else
  623. return false;
  624. break;
  625. case south:
  626. if ((mapper.isInsideMap(y+1, x)) && (mapper.isEmpty(y+1, x)==true))
  627. {
  628. mapper.setObject(y, x, ' ');
  629. y+=1;
  630. objectUnderRover = mapper.getObject(y, x);
  631. mapper.setObject(y, x, 'v');
  632. unhideNearbyObj();
  633. return true;
  634. }
  635. else if ((mapper.isInsideMap(y+1, x)) && (mapper.isTrap(y+1, x)==true))
  636. {
  637. mapper.setObject(y, x, ' ');
  638. y+=1;
  639. objectUnderRover = mapper.getObject(y, x);
  640. mapper.setObject(y, x, TRAPPED);
  641. unhideNearbyObj();
  642. return true;
  643. }
  644. else if ((mapper.isInsideMap(y+1, x)) && (mapper.isGold(y+1, x)==true))
  645. {
  646. mapper.setObject(y, x, ' ');
  647. y+=1;
  648. objectUnderRover = mapper.getObject(y, x);
  649. goldCollected++;
  650. mapper.setObject(y, x, 'v');
  651. ptrToMars->setObject(y, x, ' ');
  652. unhideNearbyObj();
  653. return true;
  654. }
  655. else
  656. return false;
  657. break;
  658. }
  659. }
  660. void displayMapper()
  661. {
  662. int dimX = mapper.getDimX(), dimY = mapper.getDimY();
  663. cout << "\n --__--__--Mars Rover Mapper--__--__--" << endl;
  664.  
  665. for (int i=0; i<dimY; ++i)
  666. {
  667. cout << " ";
  668. for (int j=0; j<dimX; ++j)
  669. {
  670. cout << "+-";
  671. }
  672. cout << "+" << endl;
  673. cout << setw(2) << (dimY-i);
  674. for (int j=0; j<dimX; ++j)
  675. {
  676. cout << "|" << mapper.getObject(i, j);
  677. }
  678. cout << "|" << endl;
  679. }
  680.  
  681. cout << " ";
  682. for (int j=0; j<dimX; ++j)
  683. {
  684. cout << "+-";
  685. }
  686. cout << "+" << endl;
  687.  
  688. cout << " ";
  689. for (int j=0; j<dimX; ++j)
  690. {
  691. int digit = (j+1)/10;
  692. cout << " ";
  693. if (digit==0)
  694. cout << " ";
  695. else
  696. cout << digit;
  697. }
  698. cout << endl;
  699. cout << " ";
  700. for (int j=0; j<dimX; ++j)
  701. {
  702. cout << " " << (j+1)%10;
  703. }
  704. cout << endl << endl;
  705. }
  706. bool executeCommand(char command) {
  707. bool success;
  708. if (command == 'M')
  709. {
  710. success = move();
  711.  
  712. return success;
  713. }
  714. else if (command == 'R')
  715. {
  716. success = turnRight();
  717. return success;
  718.  
  719. }
  720. else if (command == 'L')
  721. {
  722. success = turnLeft();
  723. return success;
  724. }
  725. else if (command == 'Q')
  726. {
  727. quit = true;
  728. return true;
  729. }
  730. else
  731. return false;
  732. }
  733. }; //Rover
  734.  
  735. void menu();
  736. void score(int, int, int, int);
  737. void enterCSeq(Rover&, int*, int*, int*, char*);
  738.  
  739.  
  740. int main()
  741. {
  742. system("CLS");
  743. char again = 'Y';
  744. char *ptrToAgain = &again;
  745. do
  746. {
  747. int dimx, dimy, noOfGold, commandSScore = 0, totalCommands = 0;
  748. int *ptrToNoOfGold = &noOfGold, *ptrToCSScore = &commandSScore, *ptrToTotalCommands = &totalCommands;
  749. cout << "Let's explore Mars..." << endl;
  750. cout << "Mars Dimension X => ";
  751. cin >> dimx;
  752.  
  753. cout << "Mars Dimension Y => ";
  754. cin >> dimy;
  755.  
  756. cout << "No of Golds => ";
  757. cin >> noOfGold;
  758.  
  759. Map mars(dimx, dimy);
  760. mars.populateGold(noOfGold);
  761. Rover curiosity;
  762. curiosity.land(mars);
  763. do
  764. {
  765. curiosity.displayMapper();
  766. menu();
  767. score(commandSScore, totalCommands, curiosity.getGoldCollected(), noOfGold);
  768. enterCSeq(curiosity, ptrToNoOfGold, ptrToCSScore, ptrToTotalCommands, ptrToAgain);
  769. } while (again == 'Y' || again == 'y');
  770. cout << "Do you want to explore Mars again? => ";
  771. cin >> again;
  772. } while (again == 'Y' || again == 'y');
  773. cout << "\nGood Bye from Mars!" << endl;
  774. return 0;
  775.  
  776. }
  777.  
  778. void menu()
  779. {
  780. cout << "\nMission: Get all the golds!!, Do not get trapped!!" << endl;
  781. cout << "L=Turn Left, R=Turn Right, M=Move, Q=Quit" << endl;
  782. cout << HILL << "=Hill " << TRAP << "=Trap " << GOLD << "=Gold" << endl;
  783. }
  784.  
  785. void score(int cScore, int commands, int gCollected, int totalGold)
  786. {
  787. int totalScore = gCollected*50-cScore*5-commands*1;
  788. cout << "\nTotal Command Sequences = " << cScore << " [S]" << endl;
  789. cout << "Total Commands = " << commands << " [C]" << endl;
  790. cout << "Total Golds = " << gCollected << " [G] out of " << totalGold << endl;
  791. cout << "Total Score =" << totalScore << endl;
  792. }
  793.  
  794. void enterCSeq(Rover& curiosity, int* noOfGold, int* commandSScore, int* totalCommands, char* again)
  795. {
  796. if (curiosity.getObjUnderRover() != TRAP && curiosity.getGoldCollected() < *noOfGold && curiosity.getQuitVal() == false)
  797. {
  798. cout << "\nExample Sequence: MMLMMMRMMRMRMLLL" << endl;
  799. cout << "Enter command sequence => ";
  800. string commandSequence;
  801. getline(cin >> ws, commandSequence);
  802. *commandSScore = *commandSScore+1;
  803.  
  804. int len = static_cast<int>(commandSequence.length());
  805. *totalCommands += commandSequence.length();
  806.  
  807. for (int i=0; i<len; ++i)
  808. {
  809. char command = commandSequence[i];
  810. command = toupper(command); //convert to upper case
  811.  
  812. curiosity.displayMapper();
  813. cout << "Command = " << command << " ..." << endl;
  814.  
  815. system("CLS");
  816. bool success = curiosity.executeCommand(command);
  817.  
  818. curiosity.displayMapper();
  819.  
  820. cout << "Command = " << command;
  821.  
  822. if (success)
  823. cout << " [executed]" << endl;
  824. else
  825. cout << " [failed to execute]" << endl;
  826. }
  827. }
  828. else if (curiosity.getGoldCollected() == *noOfGold)
  829. {
  830. cout << "\nCongratz, Mission ACCOMPLISHED!!" << endl;
  831. cout << "\nDo you want to see the Map of Mars? => ";
  832. char seeMapMars;
  833. cin >> seeMapMars;
  834.  
  835. }
  836. else if (curiosity.getObjUnderRover() == TRAP)
  837. {
  838. cout << "\nTRAPPED, Mission FAILED!!" << endl;
  839. cout << "\nDo you want to see the Map of Mars? => ";
  840. char seeMapMars;
  841. cin >> seeMapMars;
  842.  
  843. }
  844. else if (curiosity.getQuitVal() == true)
  845. {
  846. cout << "\nQUITTED, Mission FAILED!!" << endl;
  847. cout << "\nDo you want to see the Map of Mars? => ";
  848. char seeMapMars;
  849.  
  850. }
  851. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement