public List <KinoTicket> CreateKinoTickets(Random random) // Μέθοδος δημιουργίας λίστας δελτίων που περιέχει αντικείμενα δελτίων { var listObjectOfKinoTickets = new List <KinoTicket>(); var list_ID_KinoTicket = new List <int>(); int count = 1; int randomNumber = random.Next(lowerTicketNumber, upperTicketNumber); while (count <= randomNumber) { KinoTicket kinoTicket = new KinoTicket() // Δημιουργία δελτίων { listNumbersOfTicket = new List <int>(), ΙD_KinoTicket = Create_ID_Numbers_Of_KinoTIcket(random) }; kinoTicket.listNumbersOfTicket = CreateRandomNumbers(numbersPerTicket, random); // Γέμισμα δελτίου με αριθμούς listObjectOfKinoTickets.Add(kinoTicket); // Προσθήκη δελτίου στη λίστα δελτίων while (list_ID_KinoTicket.Contains(kinoTicket.ΙD_KinoTicket)) { kinoTicket.ΙD_KinoTicket = Create_ID_Numbers_Of_KinoTIcket(random); } list_ID_KinoTicket.Add(kinoTicket.ΙD_KinoTicket); count += 1; } return(listObjectOfKinoTickets); }
public static void WinninigTicketPerDraw() { double initialAmount = 100000; WinningColumnPerKinoTicket winningColumnPerTicket = new WinningColumnPerKinoTicket(); Random random = new Random(); NumbersOfDraw numbeRsOfDraw = new NumbersOfDraw(); KinoTicket kiNoTicket = new KinoTicket(); Result result = new Result(); Statistics statistics = new Statistics(); double jackPot = 0; var listNumbersOfDraw = numbeRsOfDraw.CreateNumbersOfDraw(random); // Λίστα που περιέχει μέσα της τις κληρώσεις. (Λίστα που περιέχει αντικείμενα δηλ κληρώσεων) var listNumbersOfKinoTicket = kiNoTicket.CreateKinoTickets(random); // Λίστα που περιέχει μέσα της τα δελτία συμπληρωμένα με αριθμούς. (Λίστα που περιέχει αντικείμενα δηλ δελτία) foreach (NumbersOfDraw numbersOfDraw in listNumbersOfDraw) { initialAmount += jackPot; var listOfwinningsColumnsPerTicket = new List <WinningColumnPerKinoTicket>(); // Αρχικοποιώ εδώ τη λίστα με τους κερδισμένους αριθμούς γιατί θέλω αποτελέσματα για κάθε κλήρωση και όχι γενικά αποτελέσματα για όλες τις κληρώσεις!!!! foreach (KinoTicket kinoTicket in listNumbersOfKinoTicket) { winningColumnPerTicket = winningColumnPerTicket.CreatWinningColumnPerKinoTicket(); // Δημιουργεία νικητήριας στήλης κάθε δελτίου foreach (int numberOfkinoticket in kinoTicket.listNumbersOfTicket) { //Console.Write(numberOfkinoticket + " "); if (numbersOfDraw.listOfDrawNumbers.Contains(numberOfkinoticket)) { winningColumnPerTicket.ListWinningsNumbers.Add(numberOfkinoticket); // Νικητήρια στήλη κάθε δελτίου if (winningColumnPerTicket.ListWinningsNumbers.Contains(numbersOfDraw.listOfDrawNumbers[11])) { winningColumnPerTicket.FoundKinoBonus = true; } } } listOfwinningsColumnsPerTicket.Add(winningColumnPerTicket); } jackPot = result.SortingByDraw(listOfwinningsColumnsPerTicket, initialAmount, numbersOfDraw); // Ανα κλήρωση καλώ τη μέθοδο SortingByDraw } statistics.GetStatistics(listNumbersOfDraw); }