[text] day2 part2

Viewer

copydownloadembedprintName: day2 part2
  1. string[] lines = System.IO.File.ReadAllLines(@"C:\Users\chris\source\repos\advent1\advent1\TextFile2.txt");
  2. int total = 0;
  3. static int calculateScore(char opp, char you)
  4. {
  5.     var convOpp = convertOpponent(opp);
  6.     var score = 0;
  7.     score += checkSymbol(you);
  8.     score += checkWin(convOpp, you);
  9.     if (convOpp == you) { score += 3; }
  10.     return score;
  11. static char convertOpponent(char opp)
  12. {
  13.     if (opp == 'A')
  14.     {
  15.         return 'X';
  16.     }
  17.     if (opp == 'B')
  18.     {
  19.         return 'Y';
  20.     }
  21.     return 'Z';
  22. }
  23. static int checkWin(char opp, char you)
  24. {
  25.     if (opp == 'X' && you == 'Y' || opp == 'Y' && you == 'Z' || opp == 'Z' && you == 'X')
  26.     {
  27.         return 6;
  28.     }
  29.     return 0;
  30. }
  31. static int checkSymbol(char input)
  32. {
  33.     if (input == 'X')
  34.     {
  35.         return 1;
  36.     }
  37.     if (input == 'Y')
  38.     {
  39.         return 2;
  40.     }
  41.     return 3;
  42. }
  43. //part 2
  44. static string checkNeededResult(char you)
  45. {
  46.     if (you == 'X')
  47.     {
  48.         return "loss";
  49.     }
  50.     if(you == 'Y')
  51.     {
  52.         return "draw";
  53.     }
  54.     return "win";
  55. }
  56. static int makeDraw(char opp)
  57. {
  58.     return 3 + checkSymbol(opp);
  59. }
  60. static int makeLoss(char opp)
  61. {
  62.     if (opp == 'X')
  63.     {
  64.         return 3; 
  65.     }
  66.     if (opp == 'Y')
  67.     {
  68.         return 1;
  69.     }
  70.     return 2;
  71. }
  72. static int makeWin(char opp)
  73. {
  74.     if (opp == 'X')
  75.     {
  76.         return 8;
  77.     }
  78.     if (opp == 'Y')
  79.     {
  80.         return 9;
  81.     }
  82.     return 7;
  83. }
  84.  
  85.  
  86. foreach (var line in lines)
  87. {
  88.     char opp = Convert.ToChar(line.Substring(0, 1));
  89.     char you = Convert.ToChar(line.Substring(2, 1));
  90.  
  91.     var convOpp = convertOpponent(opp);
  92.     var resultNeeded = checkNeededResult(you);
  93.  
  94.     Console.WriteLine("should be " + resultNeeded + "input" + opp + you);
  95.  
  96.     if (resultNeeded == "draw")
  97.     {
  98.         Console.WriteLine("draw" + " " + makeDraw(convOpp) + " " + convOpp + " " + you);
  99.         total += makeDraw(convOpp);
  100.     }
  101.     if (resultNeeded == "loss")
  102.     {
  103.         Console.WriteLine("loss" + " " + makeLoss(convOpp) + " " + convOpp + " " + you);
  104.         total += makeLoss(convOpp);
  105.     }
  106.     if (resultNeeded == "win")
  107.     {
  108.         Console.WriteLine("win" +" " +  makeWin(convOpp) +" "+ convOpp + " " + you);
  109.         total += makeWin(convOpp);
  110.     }
  111.     //total += calculateScore(opp, you);
  112. }
  113. Console.WriteLine(total);
  114.  
  115.  
  116.  

Editor

You can edit this paste and save as new:


File Description
  • day2 part2
  • Paste Code
  • 02 Dec-2022
  • 2.33 Kb
You can Share it: