Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1. void cheat(string name, Node * (&undefeated)[20], int &players) {
  2.     string loserName;
  3.     int cheaterIndex;
  4.     Node * current;
  5.     Node * cheater;
  6.     Node * exLoser;
  7.     // find most recent opponent from cheater's tree
  8.     for (int i = 0; i < players; i++) {
  9.         if (undefeated[i]->name == name) {
  10.             i = cheaterIndex;
  11.             cheater = undefeated[i];
  12.         }  
  13.     }
  14.     // remove cheated game from cheater's tree
  15.     while ((cheater->left->left != NULL) && (cheater->left->right != NULL)) {
  16.         cheater = cheater->left;
  17.     }
  18.     loserName = cheater->right->name;
  19.     // set new pointer to exloser
  20.     exLoser = cheater->right;
  21.     current = cheater->right;
  22.     cheater->left = NULL;
  23.     cheater->right = NULL;
  24.     // modify game results in exloser's tree
  25.     // set undefeated[i] to right node
  26.     while ((current->left != NULL) && (current->right != NULL)) {
  27.         current = current->left;
  28.     }
  29.     // create new node for winner on left and set name field
  30.     current->left = new Node(loserName);
  31.     current->right = undefeated[cheaterIndex];
  32.     undefeated[cheaterIndex] = exLoser;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement