Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Domino
- {
- public class Program
- {
- public static void Main(string[] args)
- {
- Random rnd = new Random();
- var list = new List<Domino>();
- list.Add(new Domino(1, 4));
- list.Add(new Domino(0, 2));
- list.Add(new Domino(4, 3));
- list.Add(new Domino(6, 2));
- list.Add(new Domino(2, 1));
- list.Add(new Domino(3, 2));
- Console.Write("|");
- list.Add(new Domino(6, 4));
- foreach (var e in list)
- Console.Write(e.firstDots + " " + e.secondDots + " | ");
- var start = list[rnd.Next(list.Count - 1)];
- var queue = new List<Domino>();
- queue.Add(start);
- var p = Play(list, queue, start);
- Console.WriteLine("\n\nРезультат игры:\n");
- Console.Write("|");
- foreach (var e in p)
- Console.Write(e.firstDots + " " + e.secondDots + " | ");
- Console.ReadKey();
- }
- public static List<Domino> Play(List<Domino> dominos, List<Domino> queue, Domino start)
- {
- dominos.Remove(start);
- for (int i = 0; i < dominos.Count; i++)
- {
- if (start.secondDots == dominos[i].firstDots)
- {
- queue.Add(dominos[i]);
- start = dominos[i];
- Play(dominos, queue, start);
- }
- else if (start.secondDots == dominos[i].secondDots)
- {
- var t = dominos[i].secondDots;
- dominos[i].secondDots = dominos[i].firstDots;
- dominos[i].firstDots = t;
- queue.Add(dominos[i]);
- start = dominos[i];
- Play(dominos, queue, start);
- }
- }
- return queue;
- }
- }
- public class Domino
- {
- public int firstDots;
- public int secondDots;
- public Domino(int FirstDots, int SecondDots)
- {
- this.firstDots = FirstDots;
- this.secondDots = SecondDots;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement