static void Main(string[] args) { int genFolderCount = 10; int iterable = 100; int deckPerGen = 10000; int genFolderDups = 4; opponentDeckController opController = new opponentDeckController(); texttocsvController ttc = new texttocsvController(); texttocsvCostController ttcc = new texttocsvCostController(); oneHotController onc = new oneHotController(); cardInfoProvider cPro = new cardInfoProvider(); dataManipulatorController dataManipulator = new dataManipulatorController(); winRateController winc = new winRateController(); /**Get the data of all the cards**/ Dictionary <int, cardDefs> cards = cPro.getAllCardsWithId(); /******************************This section is used to convert JSON to Txt*********************************/ //List<opponentModel> opModel = opController.convertJSONToDeck(); //opController.convertJSONToText(opModel); /******************************This section is used to convert Txt to Csv*********************************/ Console.WriteLine("***********************************************************************************"); Console.WriteLine(" TXT to CSV Controller "); Console.WriteLine("***********************************************************************************\n\n"); //List<List<List<int>>> friendDeck = ttc.scrapeFriendFromText(genFolderCount , iterable); //List<List<int>> enemyDeck = ttc.scrapeEnemyFromText(genFolderCount); //Dictionary<List<int>, List<int>> tuple = ttc.convertToTuple(friendDeck , enemyDeck , genFolderCount , iterable); //List<string> playerStat = ttc.getPlayerResult(genFolderCount , iterable); // Convert the data into JSON Format //string finalJSON = ttc.convertToFinalStruct(tuple , playerStat , genFolderCount , iterable); // Convert the JSON string to CSV file //ttc.convertToCsv(finalJSON); /******************************This section is used to convert Txt to Csv (with Cost)*********************************/ Console.WriteLine("***********************************************************************************"); Console.WriteLine(" TEXT to CSV (with Cost) Controller "); Console.WriteLine("***********************************************************************************\n\n"); //List<List<List<friendDeckModel>>> friendDeckCost = ttcc.scrapeFriendFromText(genFolderCount , iterable); //List<List<friendDeckModel>> enemyDeckCost = ttcc.scrapeEnemyFromText(genFolderCount,iterable); //Dictionary<List<friendDeckModel>, List<friendDeckModel>> tupleCost = ttcc.convertToTuple(friendDeckCost , enemyDeckCost, genFolderCount , iterable); //List<string> playerStatCost = ttcc.getPlayerResult(genFolderCount , iterable); // Convert the data into JSON Format //string finalJSONCost = ttcc.convertToFinalStruct(tupleCost , playerStatCost , genFolderCount , iterable); // Convert the JSON string to CSV file //ttcc.convertToCsv(finalJSONCost); /****************************This section will convert the data to OneHot Representation****************************/ Console.WriteLine("***********************************************************************************"); Console.WriteLine(" One Hot Converter Controller "); Console.WriteLine("***********************************************************************************\n\n"); //Dictionary<string, string> CardPool = onc.GetCardPoolData(); //string oneHotStr = onc.convertJSONToOneHot1(finalJSON , CardPool); //onc.convertToCsv(oneHotStr); //convertJSONToOneHot2(finalJSONCost); /****************************This section will add duplicate the data and store them in a text file ****************************/ Console.WriteLine("***********************************************************************************"); Console.WriteLine(" Duplicate Data Controller "); Console.WriteLine("***********************************************************************************\n\n"); //Dictionary<int, List<List<string>>> deckDataDict = dataManipulator.populateDeckData(genFolderCount , iterable); //dataManipulator.storeDatatoTxt(deckDataDict, genFolderCount, iterable); //dataManipulator.makeDuplicates(genFolderCount , 4); /****************************This section will calcuate the winrate for each deck ****************************/ Console.WriteLine("***********************************************************************************"); Console.WriteLine(" WinRate Controller "); Console.WriteLine("***********************************************************************************\n\n"); List <List <List <int> > > friendDeckDups = winc.scrapeFriendFromText(10, 100); List <List <int> > enemyDeckDups = winc.scrapeEnemyFromText(10, 100); List <double> winRate = winc.getWinRate(100, 4, 10, 600); Dictionary <List <int>, List <int> > dupTuple = winc.convertToTuple(friendDeckDups, enemyDeckDups, 10, 100); string dupStr = winc.convertToFinalStruct(dupTuple, winRate, 10, 100); winc.convertToCsv(dupStr); // Convert to One-Hot Dictionary <string, string> CardPool = onc.GetCardPoolData(); string winRateJSON = onc.convertJSONToOneHotWinRate(dupStr, CardPool); onc.convertToCsvWinRate(winRateJSON); }