Digital and Interactive
Games 2015 – Week 4, Session 1
7.1 – 7.4 C++ Primer
map <string, int> myMap;
myMap[“Hero”] = 1;
string int
“Hero” 1
deckOfCards myDeck;
Q2
→ myDeck.print();
Q3
→ myDeck.shuffle();
Implementing Classes
A single card can be representing in a single struct.
Struct card {
int suitOrder;
int valueOrder;
std::string suitDisplay;
std::string valueOrder;
};
One way to set up a pack of cards
// Initialise the pack of cards
std::vector <std::string> suit{ “club”, “diamond”, “heart”, “spade” };
std::map<std::string, int> suitOrder;
for (auto i = 0; i != suit.size(); i++;) {
suitOrder[suit[i]] = i + 1;
}
std::vector<std::string> value{“2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “J”, “Q”, “K”, A”};
std::map<std::string, int> valueOrder;
for (auto i = 0; i != value.size(); ++i) {
valueOrder [value[i]] = i + 1;
}
Then you can loop through it.
std::vector<card> packOfCards;
for (auto i = 0; i != value.size(); ++i) {
for (auto j = 0; j != suit.size(); j++;) {
packOfCards.push_back({suitOrder[suit[i]], value[i], suit[i], suit[i])});
}
}
If done as above, if you want to change the order of suit or value, only the initial list need be manipulated.
Assertion failed.
Expression: vector subscript out of range
#cplusplus #gamedesign #gameprogramming #programming #tafe
7.1 – 7.4 C++ Primer
map <string, int> myMap;
myMap[“Hero”] = 1;
string int
“Hero” 1
deckOfCards myDeck;
Q2
→ myDeck.print();
Q3
→ myDeck.shuffle();
Implementing Classes
A single card can be representing in a single struct.
Struct card {
int suitOrder;
int valueOrder;
std::string suitDisplay;
std::string valueOrder;
};
One way to set up a pack of cards
// Initialise the pack of cards
std::vector <std::string> suit{ “club”, “diamond”, “heart”, “spade” };
std::map<std::string, int> suitOrder;
for (auto i = 0; i != suit.size(); i++;) {
suitOrder[suit[i]] = i + 1;
}
std::vector<std::string> value{“2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “J”, “Q”, “K”, A”};
std::map<std::string, int> valueOrder;
for (auto i = 0; i != value.size(); ++i) {
valueOrder [value[i]] = i + 1;
}
Then you can loop through it.
std::vector<card> packOfCards;
for (auto i = 0; i != value.size(); ++i) {
for (auto j = 0; j != suit.size(); j++;) {
packOfCards.push_back({suitOrder[suit[i]], value[i], suit[i], suit[i])});
}
}
If done as above, if you want to change the order of suit or value, only the initial list need be manipulated.
Assertion failed.
Expression: vector subscript out of range
#cplusplus #gamedesign #gameprogramming #programming #tafe
No comments:
Post a Comment