#include "../deck.hpp" #include "../simulate.hpp" #include #include #include #include "../card.hpp" //32.4272 //32.4241 //32.4287 //32.425 //HA,DA 73.7738 //DA,HA 72.5726 int main() { std::ofstream myfile; myfile.open ("pair_stats_value.txt"); Deck deckA; Deck deckB; int setsCreated = 0; double successTotal = 0; double correct = 0; double incorrect = 0; while(deckA.length){ auto cardA = deckA.getCard(); // Want only half of cards in set deckB = Deck(); while(deckB.length){ auto cardB = deckB.getCard(); // Want only half of cards in set to prevent dupplication if(cardA.kind == cardB.kind && cardA.value == cardB.value) continue; std::string cardString = cardA.key + "," + cardB.key; double success = simulate(cardString,1000, 2); bool shouldWin = cardA.worth >= 7 && cardB.worth >= 7; if(shouldWin && success > 50){ correct++; }else{ incorrect++; } successTotal += success; setsCreated++; std::cout << cardString << " " << (cardA.worth + cardB.worth * 100) << " " << success << "%" << std::endl; myfile << cardString << " " << (cardA.worth + cardB.worth * 100) << " " << success << " %" << std::endl; } } double successAverage = successTotal / setsCreated; std::cout << "Combinations: " << setsCreated << " Average score: " << successAverage << "%" << std::endl; myfile << "Combinations: " << setsCreated << " Average score: " << successAverage << "%" << std::endl; std::cout << "Correct: " << correct << " Incorrect: : " << incorrect << std::endl; myfile << "Correct: " << correct << " Incorrect: : " << incorrect << std::endl; myfile.close(); return 0; }