Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. stem;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Domino
  8. {
  9. public class Program
  10. {
  11. public static void Main(string[] args)
  12. {
  13. Random rnd = new Random();
  14. var list = new List<Domino>();
  15.  
  16. list.Add(new Domino(1, 4));
  17. list.Add(new Domino(0, 2));
  18. list.Add(new Domino(4, 3));
  19. list.Add(new Domino(6, 2));
  20. list.Add(new Domino(2, 1));
  21. list.Add(new Domino(3, 2));
  22. Console.Write("|");
  23. list.Add(new Domino(6, 4));
  24. foreach (var e in list)
  25. Console.Write(e.firstDots + " " + e.secondDots + " | ");
  26. var start = list[rnd.Next(list.Count - 1)];
  27. var queue = new List<Domino>();
  28. queue.Add(start);
  29. var p = Play(list, queue, start);
  30. Console.WriteLine("\n\nРезультат игры:\n");
  31. Console.Write("|");
  32. foreach (var e in p)
  33. Console.Write(e.firstDots + " " + e.secondDots + " | ");
  34. Console.ReadKey();
  35. }
  36.  
  37. public static List<Domino> Play(List<Domino> dominos, List<Domino> queue, Domino start)
  38. {
  39. dominos.Remove(start);
  40. for (int i = 0; i < dominos.Count; i++)
  41. {
  42. if (start.secondDots == dominos[i].firstDots)
  43. {
  44. queue.Add(dominos[i]);
  45. start = dominos[i];
  46. Play(dominos, queue, start);
  47. }
  48. else if (start.secondDots == dominos[i].secondDots)
  49. {
  50. var t = dominos[i].secondDots;
  51. dominos[i].secondDots = dominos[i].firstDots;
  52. dominos[i].firstDots = t;
  53. queue.Add(dominos[i]);
  54. start = dominos[i];
  55. Play(dominos, queue, start);
  56. }
  57. }
  58. return queue;
  59. }
  60. }
  61.  
  62. public class Domino
  63. {
  64. public int firstDots;
  65. public int secondDots;
  66. public Domino(int FirstDots, int SecondDots)
  67. {
  68. this.firstDots = FirstDots;
  69. this.secondDots = SecondDots;
  70. }
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement