From 4a608b9edb871bfb98c43ffc553c941d045c5f2a Mon Sep 17 00:00:00 2001 From: cdez Date: Thu, 12 Sep 2024 16:24:25 -0700 Subject: [PATCH] Human stuff is done, but segfaults. Look into that. --- assignmentOne/go_fish | Bin 51576 -> 70576 bytes assignmentOne/go_fish.cpp | 63 +++++++++++++++++++++++++++++--------- 2 files changed, 49 insertions(+), 14 deletions(-) diff --git a/assignmentOne/go_fish b/assignmentOne/go_fish index 646be19bf4f8c0a6d621960e7c8eb1525fd4de1f..fbdf18d3a9cb0ed950249daacfe227eff7e2136d 100755 GIT binary patch literal 70576 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

KauK*~|FZ%Mzd0(U)Fpq%GT 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 Cb&W#+ literal 51576 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 Qzhpph(Epq;FIUm}zc8V`asU7T diff --git a/assignmentOne/go_fish.cpp b/assignmentOne/go_fish.cpp index bda2c1d..3bfb7a0 100644 --- a/assignmentOne/go_fish.cpp +++ b/assignmentOne/go_fish.cpp @@ -140,6 +140,8 @@ int main(int argc, char **argv) vector computerHand; // keep count of the number of sets collected. ends when number is 13. int currentNumSets = 0; + int humanNumSets = 0; + int computerNumSets = 0; // char array for the setups char suits[] = {'C','D','H','S'}; int suitsLen = sizeof(suits)/sizeof(suits[0]); @@ -174,7 +176,7 @@ int main(int argc, char **argv) deck.pop_back(); } // tell the user the game has started. - cout << "Game Start." << endl; + cout << "Game Start." << endl << endl; // output the human's hand to the screen cout << "Here is your starting hand:" << endl << "| "; int handSize = humanHand.size(); @@ -187,8 +189,9 @@ int main(int argc, char **argv) while(currentNumSets != 13) { // switch back and forth between human and computer. - currentNumSets = currentNumSets + humanTurn(humanHand, computerHand, deck); - currentNumSets = currentNumSets + computerTurn(humanHand, computerHand, deck); + humanNumSets = humanNumSets + humanTurn(humanHand, computerHand, deck); + computerNumSets = computerNumSets + computerTurn(humanHand, computerHand, deck); + currentNumSets = humanNumSets + computerNumSets; } // return 0 return 0; @@ -228,14 +231,13 @@ int humanTurn(vector &human, vector &computer, vector &cardDec int maxCountCard = 0; char inputChar; bool foundCard = false; + bool foundSet = false; // ask for card rank/number/value - cout << "Your turn. Ask for a card (2-9, J/Q/K/A): " << endl; - cin.ignore(); - cout << ">"; + cout << endl << "Your turn. Ask for a card (2-9, J/Q/K/A): "; cin >> inputChar; - Card valueOnlyCard(inputChar, 'X'); + int computerHandSize = computer.size(); // if card is in opposite hand, remove from and give to the other. (loop through computer hand looking for card) - for(int checkHandIterator = 0; checkHandIterator < computer.size(); checkHandIterator++) + for(int checkHandIterator = 0; checkHandIterator < computerHandSize; checkHandIterator++) { // checking if value of card is equal to any of the other ones. if(computer[checkHandIterator].getCardRawValue() == inputChar) @@ -244,6 +246,8 @@ int humanTurn(vector &human, vector &computer, vector &cardDec human.push_back(computer[checkHandIterator]); // set the card find to true. foundCard = true; + cout << "Opponent has " << computer[checkHandIterator].getFullCard(); + cout << ". You collect all " << inputChar << "s." << endl; } } // remove the cards that had been drawn from the other hand (use remove/remove if and erase with the vector iterators) @@ -251,7 +255,8 @@ int humanTurn(vector &human, vector &computer, vector &cardDec if(foundCard) { // remove cards if found - computer.erase(remove_if(computer.begin(), computer.end(), [&](Card &remCard){return remCard.getCardValue() == inputChar;}), computer.end()); + computer.erase(remove_if(computer.begin(), computer.end(), + [&](Card &remCard){return remCard.getCardValue() == inputChar;}), computer.end()); } // if not, draw a card from the top of the deck. else @@ -259,16 +264,46 @@ int humanTurn(vector &human, vector &computer, vector &cardDec // draw a card if not found. human.push_back(cardDeck.back()); cardDeck.pop_back(); + cout << "Opponent does not have " << inputChar << ". You go fish." << endl; + cout << "New Card: " << human[human.size() - 1].getFullCard() << endl; } // check to see if sets exist in the vector, aka is there four of a value. // if there is four of a value, increase the number of sets to return, remove the cards from hand. - // NOTE: https://stackoverflow.com/questions/39906504/how-to-count-duplicates-in-a-vector-c - for (int setCounter = 0; setCounter < human.size(); setCounter++) + // NOTE TO PROGRAMMER: https://stackoverflow.com/questions/39906504/how-to-count-duplicates-in-a-vector-c + sort(human.begin(), human.end()); + // had to use the stupid auto keyword here to make the damn iterator move... kept getting bad casting types. + for (auto cardIterator = human.cbegin(); cardIterator != human.cend();) { - /* code */ + maxCountCard = count(cardIterator, human.cend(), *cardIterator); + if(maxCountCard == 4) + { + // this is where I make sure that there is a set here before removing it, + // and set return value here. + numSets = numSets + 1; + foundSet = true; + } + // skip around until duplicates are found, using a trick that I researched. + for(auto lastChar = *cardIterator; *++cardIterator == lastChar;) + { + // this above for loop essentially keeps the iterator moving + // intentional empty block, since iterator must keep moving, but I don't need to do anything. + } } - - + if(foundSet) + { + // if a valid set is found, remove all four cards from the human's hand. + human.erase(remove_if(human.begin(), human.end(), + [&](Card &remCard){return remCard.getCardValue() == inputChar;}), human.end()); + } + // display hand to human. + int handSize = human.size(); + cout << "Your Hand: " << endl; + cout << "| "; + for(int handDisplayIterator = 0; handDisplayIterator < handSize; handDisplayIterator++) + { + cout << human[handDisplayIterator].getFullCard() << " | "; + } + cout << endl; // return the number of sets return numSets; }