From e23e8c77262bf9786a31a9e29ac46223d3806889 Mon Sep 17 00:00:00 2001 From: Christina Song Date: Tue, 19 Apr 2022 17:58:50 -0400 Subject: [PATCH] changes to Common, stock is created in main, started crazy eights --- Common/Common.h | 85 +++++++++++++++++++++++++++----------- CrazyEights/CrazyEights.h | 42 +++++++++++++++++++ GoFish/GoFish.h | 11 ++--- main.cpp | 22 +++++----- main.exe | Bin 133250 -> 135915 bytes 5 files changed, 117 insertions(+), 43 deletions(-) create mode 100644 CrazyEights/CrazyEights.h diff --git a/Common/Common.h b/Common/Common.h index 549f60f..86f04f3 100644 --- a/Common/Common.h +++ b/Common/Common.h @@ -7,9 +7,9 @@ using namespace std; const string consoleSep = "-------------------------------"; const string consoleLine = "* * * * * *"; // game selection -const int NUM_VALID_GAMES = 1; +const int NUM_VALID_GAMES = 2; const int MAX_GAME_NAME = 50; -string validGameChoices[][MAX_GAME_NAME] = {{"1", "Go Fish"}}; +string validGameChoices[][MAX_GAME_NAME] = {{"1", "Go Fish"}, {"2", "Crazy Eights"}}; const string QUIT_PROG_CMD = "Q"; // game play const string COMP_NAME = "Computer"; @@ -70,6 +70,14 @@ void free2DArray(char** arr, int* size) { free2DArray(arr, *size); free(size); } +char* stringToCharArray(string s) { + int n = s.length(); + char* charArr = (char*)malloc(n * sizeof(char)); + for (int i = 0; i < n; i++) { + charArr[i] = s[i]; + } + return charArr; +} // PLAYING GAMES @@ -167,24 +175,6 @@ char** copyDeck(char** deck, int n) { printArray(copyDeck, n); return copyDeck; } -char*** dealCards(char** deck, int deckSize, int numToDeal) { - char*** dealtCards = (char***)malloc(2 * sizeof(char**)); - for (int i = 0; i < 2; i++) { - dealtCards[i] = (char**)malloc(CARD_SIZE * numToDeal * sizeof(char*)); - } - int p1 = 0, p2 = 0; - for (int i = 0; i < 2*numToDeal; i++) { - if (i%2 == 0) { - dealtCards[0][p1] = copyCard(deck[i]); - p1++; - } - else { - dealtCards[1][p2] = copyCard(deck[i]); - p2++; - } - } - return dealtCards; -} void addToCards(char** cards, int* n, char* card) { *n = *n + 1; cards = (char**)realloc(cards, (*n) * sizeof(char*)); @@ -207,8 +197,11 @@ bool checkValidCardRank(string r) { bool cardRanksEq(char* c1, char* c2) { return c1[0] == c2[0] && c1[1] == c2[1]; } +bool cardSuitsEq(char* c1, char* c2) { + return c1[2] == c2[2]; +} bool cardsEq(char* c1, char* c2) { - return cardRanksEq(c1, c2) && c1[2] == c2[2]; + return cardRanksEq(c1, c2) && cardSuitsEq(c1, c2); } void removeFromCards(char** cards, int* n, char** toRemove, int numToRemove) { int origN = *n; @@ -235,14 +228,37 @@ void removeFromCards(char** cards, int* n, char** toRemove, int numToRemove) { // cout << "just removed from cards" << endl; // printArray(cards, *n); } -char* removeTopFromCards(char** cards, int* n) { - char* toRemove = copyCard(cards[0]); +void removeSingleCard(char** cards, int* n, char* cardToRemove) { char** temp = (char**)malloc(sizeof(char*)); - temp[0] = copyCard(toRemove); - removeFromCards(cards, n, temp, 1); + temp[0] = copyCard(cardToRemove); + removeFromCards(cards, n , temp, 1); free2DArray(temp, 1); +} +char* removeTopFromCards(char** cards, int* n) { + char* toRemove = copyCard(cards[0]); + removeSingleCard(cards, n, toRemove); return toRemove; } +char*** dealCards(char** deck, int* deckSize, int numToDeal) { + char*** dealtCards = (char***)malloc(2 * sizeof(char**)); + for (int i = 0; i < 2; i++) { + dealtCards[i] = (char**)malloc(CARD_SIZE * numToDeal * sizeof(char*)); + } + int p1 = 0, p2 = 0; + for (int i = 0; i < 2*numToDeal; i++) { + if (i%2 == 0) { + dealtCards[0][p1] = copyCard(deck[i]); + p1++; + } + else { + dealtCards[1][p2] = copyCard(deck[i]); + p2++; + } + } + removeFromCards(deck, deckSize, copyDeck(dealtCards[0], numToDeal), numToDeal); + removeFromCards(deck, deckSize, copyDeck(dealtCards[1], numToDeal), numToDeal); + return dealtCards; +} int countCardsWithRank(char** cards, int n, char* cardRank) { int numCards = 0; for (int i = 0; i < n; i++) { @@ -262,4 +278,23 @@ bool rankInCards(char** cards, int n, char* cardRank) { } // printf("%c%c not in cards\n", cardRank[0], cardRank[1]); return false; +} +bool cardInCards(char** cards, int n, char* card) { + for (int i = 0; i < n; i++) { + if (cardsEq(cards[i], card)) { + return true; + } + } + return false; +} +char* chooseCardFromHand(char** userCards, int* numUserCards) { + string userAsk; + char* cardChosen; + do { + cout << "Please choose a card to play" << endl; + printArray(userCards, *numUserCards); + cin >> userAsk; + cardChosen = stringToCharArray(userAsk); + } while (!cardInCards(userCards, *numUserCards, cardChosen)); + return cardChosen; } \ No newline at end of file diff --git a/CrazyEights/CrazyEights.h b/CrazyEights/CrazyEights.h new file mode 100644 index 0000000..1f71dd1 --- /dev/null +++ b/CrazyEights/CrazyEights.h @@ -0,0 +1,42 @@ +#pragma once +#include "../precompiled_headers/pch.h" +#include "../Common/Common.h" + +using namespace std; + +// ---- GAME FUNCTIONS ---- +bool canPlayCard(char* lastCard, char* newCard) { + return cardRanksEq(lastCard, newCard) || cardSuitsEq(lastCard, newCard); +} + + +// ---- PLAYING CRAZY EIGHTS ---- +void playCrazyEights(char** stock) { + bool gameOver = false; + + const int DEAL_SIZE = 5; + int* stockSize = new int(DECK_SIZE); + + char*** dealtCards = dealCards(stock, stockSize, DEAL_SIZE); + char** userCards = dealtCards[0]; + char** compCards = dealtCards[1]; + int* numUserCards = new int(DEAL_SIZE); + int* numCompCards = new int(DEAL_SIZE); + + char* lastCardPlayed = new char[CARD_SIZE]; + + while (!gameOver) { + char* starterCard = removeTopFromCards(stock, stockSize); + lastCardPlayed = starterCard; + + printf("starter card is %c%c%c\n", starterCard[0], starterCard[1], starterCard[2]); + + // user's turn + char* userPlay; + do { + userPlay = chooseCardFromHand(userCards, numUserCards); + } while (!canPlayCard(lastCardPlayed, userPlay)); + removeSingleCard(userCards, numUserCards, userPlay); + printf("you chose to play %c%c%c\n", userPlay[0], userPlay[1], userPlay[2]); + } +} \ No newline at end of file diff --git a/GoFish/GoFish.h b/GoFish/GoFish.h index 63e0773..32c05fe 100644 --- a/GoFish/GoFish.h +++ b/GoFish/GoFish.h @@ -52,6 +52,7 @@ int removeCardsWithRank(char** cards, int* n, char* cardRank) { } } removeFromCards(cards, n, toRemove, numToRemove); + free2DArray(toRemove, numToRemove); return numToRemove; } void giveCardsWithRank(char** pCards, int* nP, char** opCards, int* opN, char* cardRank) { @@ -112,9 +113,7 @@ bool checkWinConditionGoFish(int numUserBooks, int numCompBooks, int stockSize) // ---- PLAYING GO FISH ---- -void playGoFish(char** origCardDeck, int origDeckSize) { - char** stock = copyDeck(origCardDeck, origDeckSize); - cout << "just made stock" << endl; +void playGoFish(char** stock) { int* stockSize = (int*)malloc(sizeof(int)); *stockSize = DECK_SIZE; bool gameOver = false; @@ -137,17 +136,13 @@ void playGoFish(char** origCardDeck, int origDeckSize) { string userName = "player"; // deal cards - char*** dealtCards = dealCards(stock, origDeckSize, DEAL_SIZE); + char*** dealtCards = dealCards(stock, stockSize, DEAL_SIZE); char** userCards = dealtCards[0]; char** compCards = dealtCards[1]; cout << "user's cards: " << endl; printArray(userCards, *numUserCards); cout << "computer's cards: " << endl; printArray(compCards, *numCompCards); - removeFromCards(stock, stockSize, userCards, *numUserCards); - removeFromCards(stock, stockSize, compCards, *numCompCards); - cout << "stock: " << endl; - printArray(stock, *stockSize); handleBookInCards(userCards, numUserCards, userBooks, numUserBooks, NULL_RANK); handleBookInCards(compCards, numCompCards, compBooks, numCompBooks, NULL_RANK); diff --git a/main.cpp b/main.cpp index 7392b63..a4a7c70 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,7 @@ #include "precompiled_headers/pch.h" #include "Common/Common.h" #include "GoFish/GoFish.h" +#include "CrazyEights/CrazyEights.h" /* TO DO TESTING @@ -72,19 +73,20 @@ int main() cout << "\nshuffled deck" << endl; printArray(cardDeck,DECK_SIZE); - // // select game to play - // userChoice = selectGame(); - // while (!checkValidGameChoice(userChoice)) { - // cout << "Invalid choice" << endl; - // userChoice = selectGame(); - // } - // showGameChoice(userChoice); - /* TESTING PURPOSES */ - userChoice = "1"; + // select game to play + userChoice = selectGame(); + while (!checkValidGameChoice(userChoice)) { + cout << "Invalid choice" << endl; + userChoice = selectGame(); + } + showGameChoice(userChoice); // play game if (userChoice == "1") { - playGoFish(cardDeck, DECK_SIZE); + playGoFish(copyDeck(cardDeck, DECK_SIZE)); + } + else if (userChoice == "2") { + playCrazyEights(copyDeck(cardDeck, DECK_SIZE)); } else if (userChoice == QUIT_PROG_CMD) { cout << "Goodbye!" << endl; diff --git a/main.exe b/main.exe index ba66a92ebc29920ab1cb0ac081059fda56e0f70e..bae02cde47bf8d52a488fd791321e6d54930e899 100644 GIT binary patch delta 39574 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 L-n<8AO_%-;YN%SQ