#include "../deck.hpp"
#include "../simulate.hpp"
#include <iostream>
#include <iostream>
#include <fstream>
#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;
}