コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }