This is the latest version of all my programs so far.

This commit is contained in:
Charles Descamps 2024-09-11 14:47:24 -07:00
parent 631aa69e32
commit 28e820292f
6 changed files with 299 additions and 8 deletions

View file

@ -32,9 +32,7 @@ Dependencies: ???
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <list>
#include <set>
#include <unordered_map>
#include <vector>
#include <time.h>
using namespace std;
@ -42,12 +40,112 @@ using namespace std;
// function prototypes
// class definitions
class Card
{
//
public:
Card(char value, char suit)
{
// store the value and suit. (possible values 2-9, T, J, Q, K, A)
cardValue = value;
cardSuit = suit;
// special 1/Ace card here
if(cardValue == 'A')
{
cardNumericalValue = 1;
}
// get the numerical value of the card, casting from string to num where possible. (2-9)
if((cardValue >= 2) || (cardValue <= 9))
{
// cast the character to number.
cardNumericalValue = (int)cardValue - 48; // numerical values 2-9 only
}
// face values here.
if(cardValue == 'T')
{
// 'ten' card
cardNumericalValue = 10;
}
if(cardValue == 'J')
{
// jack
cardNumericalValue = 11;
}
if(cardValue == 'Q')
{
// queen
cardNumericalValue = 12;
}
if(cardValue == 'K')
{
// king
cardNumericalValue = 13;
}
}
private:
char cardValue;
char cardSuit;
int cardNumericalValue;
};
// main program
int main(int argc, char **argv)
{
// create array of cards called deck.
vector<Card> deck;
// have two hands for cards
vector<Card> humanHand;
vector<Card> computerHand;
// game setup
// create deck by loop for 1 - 13 with each suit {(H)earts, S(pades), C(lubs), D(iamonds)}.
// use double for loop, outer for suits, inner for values.
// shuffle deck randomly? (use shuffle function from vector library)
// deal hands by taking each card from the deck, one by one (7x) (for loop here.)
// main gameplay loop (while?)
// ask for card rank/number/value
// if card is in hand,
// return 0
return 0;
}
// compiles using "g++ -Wall -pedantic go_fish.cpp -o go_fish" - note to programmer
// compiles using "g++ -Wall -pedantic go_fish.cpp -o go_fish" - note to programmer
/*
Function Name: humanTurn
Process: ???
Function Input/Parameters: ???
Function Output/Parameters: ???
Function Output/Returned: ???
Device Input/Device: ???
Device Output/Monitor: ???
Dependencies: ???
*/
void humanTurn()
{
/*
Handles the human’s turn. It will prompt the player to ask for a card rank/number and
check if the computer has the requested rank/number. If the card is available in the
computer’s hand, it will transfer the card to the human’s hand otherwise, it will draw a
card. The function should return the number of sets collected during the turn
*/
// void function, no return.
}
/*
Function Name: computerTurn
Process: ???
Function Input/Parameters: ???
Function Output/Parameters: ???
Function Output/Returned: ???
Device Input/Device: ???
Device Output/Monitor: ???
Dependencies: ???
*/
void computerTurn()
{
/*
Handles the computer’s turn and it should do the same actions as the human but for the
computer. The function should return the number of set that is collected during its turn.
*/
// void function, no return.
}