Advertisement
n0837

prog8tower.cpp

Dec 9th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.71 KB | None | 0 0
  1. //PROG8TOWER.CPP
  2. #include "prog8tower.h"
  3. #include <iostream>
  4. #include <iomanip>
  5. using namespace std;
  6.  
  7. //moveDisk
  8. //moves a disk from a peg to another using ToH rules
  9. //passes in the original peg as int, destination peg as int
  10. //returns nothing
  11. void Tower::moveDisk(int origin, int dest){
  12.     Disk* pTemp;
  13.     int tempPeg;
  14. }
  15.  
  16. //mopveTower
  17. //this is the game right here, moves entire tower
  18. //passes in disk amount as int, three pegs as int
  19. //returns nothing
  20. void Tower::moveTower(int num, int dePeg, int aPeg, int tempPeg){
  21.     cout << "====================\n";
  22.     if (num > 0)
  23.     {
  24.         moveTower(num - 1, dePeg, tempPeg, aPeg);
  25.         moveDisk(dePeg, aPeg);
  26.         showTower();
  27.         cout << num << ": " << convert(dePeg) << "--> " << convert(aPeg) << endl;
  28.         moveTower(num - 1, tempPeg, aPeg, dePeg);
  29.         cout << "====================\n";
  30.     }
  31. }
  32.  
  33. //showTower
  34. //shows tower info
  35. //no params
  36. //returns nothing
  37. void Tower::showTower() {
  38.     Disk* pTemp = nullptr;
  39.     pTemp = pAHead;
  40.     cout << convert(pTemp->getWeight());
  41.  
  42.     while (pTemp != nullptr) {
  43.         cout << pTemp->getWeight();
  44.         pTemp = pTemp->getPointer();
  45.     }
  46.  
  47.     pTemp = pBHead;
  48.     cout << convert(pTemp->getWeight());
  49.  
  50.     while (pTemp != nullptr) {
  51.         cout << pTemp->getWeight();
  52.         pTemp = pTemp->getPointer();
  53.     }
  54.  
  55.     pTemp = pCHead;
  56.     cout << convert(pTemp->getWeight());
  57.  
  58.     while (pTemp != nullptr) {
  59.         cout << pTemp->getWeight();
  60.         pTemp = pTemp->getPointer();
  61.     }
  62. }
  63.  
  64. //convert
  65. //changes 1,2,3 to a, b, c
  66. //passes in user int
  67. //returns string that corresponds to user int
  68. string Tower::convert(int num) {
  69.     string dummy;
  70.  
  71.     if (num == 1)
  72.         dummy = "A";
  73.     else if (num == 2)
  74.         dummy = "B";
  75.     else if (num == 3)
  76.         dummy = "C";
  77.     else
  78.         dummy = "dummy";
  79.     return dummy;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement