Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //PROG8TOWER.CPP
- #include "prog8tower.h"
- #include <iostream>
- #include <iomanip>
- using namespace std;
- //moveDisk
- //moves a disk from a peg to another using ToH rules
- //passes in the original peg as int, destination peg as int
- //returns nothing
- void Tower::moveDisk(int origin, int dest){
- Disk* pTemp;
- int tempPeg;
- }
- //mopveTower
- //this is the game right here, moves entire tower
- //passes in disk amount as int, three pegs as int
- //returns nothing
- void Tower::moveTower(int num, int dePeg, int aPeg, int tempPeg){
- cout << "====================\n";
- if (num > 0)
- {
- moveTower(num - 1, dePeg, tempPeg, aPeg);
- moveDisk(dePeg, aPeg);
- showTower();
- cout << num << ": " << convert(dePeg) << "--> " << convert(aPeg) << endl;
- moveTower(num - 1, tempPeg, aPeg, dePeg);
- cout << "====================\n";
- }
- }
- //showTower
- //shows tower info
- //no params
- //returns nothing
- void Tower::showTower() {
- Disk* pTemp = nullptr;
- pTemp = pAHead;
- cout << convert(pTemp->getWeight());
- while (pTemp != nullptr) {
- cout << pTemp->getWeight();
- pTemp = pTemp->getPointer();
- }
- pTemp = pBHead;
- cout << convert(pTemp->getWeight());
- while (pTemp != nullptr) {
- cout << pTemp->getWeight();
- pTemp = pTemp->getPointer();
- }
- pTemp = pCHead;
- cout << convert(pTemp->getWeight());
- while (pTemp != nullptr) {
- cout << pTemp->getWeight();
- pTemp = pTemp->getPointer();
- }
- }
- //convert
- //changes 1,2,3 to a, b, c
- //passes in user int
- //returns string that corresponds to user int
- string Tower::convert(int num) {
- string dummy;
- if (num == 1)
- dummy = "A";
- else if (num == 2)
- dummy = "B";
- else if (num == 3)
- dummy = "C";
- else
- dummy = "dummy";
- return dummy;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement