Пример #1
0
    public static LotteryTicket FillTicketByUser(int x)
    {
        LotteryTicket ticket = new LotteryTicket(x);

        for (int i = 0; i <= x - 1; i++)
        {
step1:
            try
            {
                Console.WriteLine("Enter number to fill ticket:");
                int number = Convert.ToInt32(Console.ReadLine());
                ticket[i] = number;
            }
            catch (ArgumentOutOfRangeException)
            {
                Console.WriteLine("Wrong input format. Please Enter Numbers from 1 to 9");
                goto step1;
            }
            catch (Exception)
            {
                Console.WriteLine("Wrong input format. Please Enter Numbers only");
                goto step1;
            }
        }
        return(ticket);
    }
Пример #2
0
        public void GetLotteryTicket()
        {
            LotteryTicket expected = new LotteryTicket("T1", "L1", 0, 0, 0, 0); //Exists in DB
            LotteryTicket find     = handler.GetLotteryTicket("T1");

            Assert.AreEqual(expected, find);
        }
Пример #3
0
        public void ThenTheResultsForBobShouldBe(string inPlayerName, Table table)
        {
            //WORK NEEDED
            //TODO:  I don't like the constructor making a dirty ticket record.
            //       won't have grading, etc
            var p             = context.Get <LotteryPeriod>("period");
            var actualTickets = p.ResultsByPlayer(inPlayerName);

            var expectedTickets = new List <LotteryTicket>();

            foreach (var row in table.Rows)
            {
                var ticket = new LotteryTicket();
                ticket.balls[0]      = int.Parse(row["b0"]);
                ticket.balls[1]      = int.Parse(row["b1"]);
                ticket.balls[2]      = int.Parse(row["b2"]);
                ticket.balls[3]      = int.Parse(row["b3"]);
                ticket.balls[4]      = int.Parse(row["b4"]);
                ticket.powerBall     = int.Parse(row["pb"]);
                ticket.Type          = row["type"];
                ticket.isGraded      = true;
                ticket.Player        = inPlayerName;
                ticket.winLevel      = int.Parse(row["winLevel"]);
                ticket.winAmtDollars = int.Parse(row["winAmt"]);
                expectedTickets.Add(ticket);
            }
            actualTickets.Should().BeEquivalentTo(expectedTickets);
        }
Пример #4
0
        public async Task SaveTicket(LotteryTicketDto ticketDto, string userName)
        {
            var user = await _userMngr.FindByNameAsync(userName);

            if (user != null)
            {
                var ticket = await _lotteryTicketRepository.Get(ticketDto.TicketNumber, ticketDto.Week, user.Id);

                if (ticket == null)
                {
                    var ticketModel = new LotteryTicket
                    {
                        IsPaid         = false,
                        IsWinnerTicket = false,
                        Purchased      = DateTime.UtcNow,
                        Week           = ticketDto.Week,
                        TicketNumber   = ticketDto.TicketNumber,
                        RowUpdated     = DateTime.UtcNow,
                        User           = user
                    };

                    await _lotteryTicketRepository.Insert(ticketModel);
                }
                else
                {
                    ticket.IsPaid         = ticket.IsPaid;
                    ticket.IsWinnerTicket = ticket.IsWinnerTicket;
                    ticket.RowUpdated     = DateTime.UtcNow;

                    await _lotteryTicketRepository.Update(ticket);
                }
            }
        }
Пример #5
0
        public void Run()
        {
            while (true)
            {
                LotteryTicket lotteryTicket = LotteryTicketGenerator.Generate();
                if (_bitcoinAddressToBalance.Contains(lotteryTicket.Uncompressed) || _bitcoinAddressToBalance.Contains(lotteryTicket.Compressed))
                {
                    if (_options.Endpoint != null)
                    {
                        var endPoint = new Endpoint(_options.Endpoint);
                        endPoint.Submit(lotteryTicket);
                    }

                    if (_options.File != null)
                    {
                        var file = new File(_options.File);
                        file.Submit(lotteryTicket);
                    }

                    _winningLotteryTickets.Add(lotteryTicket);
                }

                _threadSafeCounter.Increment();
            }
        }
Пример #6
0
        public void DolotteryNoMoeny()
        {
            LotteryToDelete.TotalMoneyPayed = 40;
            LotteryTicket obj = LotteryToDelete.Dolottery(0);

            Assert.IsNull(obj);
        }
Пример #7
0
    public static void PlayLottery(LotteryTicket userticket, int[] lotteryticket)
    {
        bool equal = true;

        for (int i = 0; i <= lotteryticket.Length - 1; i++)
        {
            equal = Array.Exists(lotteryticket, element => element == userticket[i]);
            if (equal == false)
            {
                Console.WriteLine("You lost, please try again :(");
                break;
            }
        }

        if (equal == true)
        {
            Console.WriteLine("\n \n \n \n                              Congrats! You want $1 000 000 000! \n \n \n");
            Console.WriteLine(
                @"                                                        .''.                         " + "\n" +
                @"                              .''.             *''*    :_\/_:     .                  " + "\n" +
                @"                             :_\/_:   .    .:.*_\/_*   : /\ :  .'.:.'.               " + "\n" +
                @"                         .''.: /\ : _\(/_  ':'* /\ *  : '..'.  -=:o:=-               " + "\n" +
                @"                        :_\/_:'.:::. /)\*''*  .|.* '.\'/.'_\(/_'.':'.'               " + "\n" +
                @"                        : /\ : :::::  '*_\/_* | |  -= o =- /)\    '  *               " + "\n" +
                @"                         '..'  ':::'   * /\ * |'|  .'/.\'.  '._____                  " + "\n" +
                @"                             *        __*..* |  |     :      |.   |' .---'|          " + "\n" +
                @"                              _*   .-'   '-. |  |     .--'|  ||   | _|    |          " + "\n" +
                @"                           .-'|  _.|  |    ||   '-__  |   |  |    ||      |          " + "\n" +
                @"                           |' | |.    |    ||       | |   |  |    ||      |          " + "\n" +
                @"                        ___|    '-'     '    ""       '-'   '-.'    '`     |____     " + "\n \n \n");
        }
    }
Пример #8
0
        public void playGame(LotteryTicket ticket)
        {
            Boolean play = true;

            while (play)
            {
                getGuesses();
                int correctValues = checkCorrect(ticket);
                if (correctValues == 6)
                {
                    Console.WriteLine("You guessed correct! Winning number: " + ticket.lotteryNumber);
                    play = false;
                }
                else
                {
                    Console.WriteLine("Highest numbers correct (in a guess): " + correctValues + "\nKeep adding guesses? (y/n)");
                    string cont = Console.ReadLine();
                    if (cont == "n")
                    {
                        Console.WriteLine("Correct number: " + ticket.lotteryNumber);
                        play = false;
                    }
                }
            }
        }
Пример #9
0
        public void playGame(LotteryTicket ticket)
        {
            Boolean play = true;

            while (play)
            {
                Boolean correct = false;
                correct = takeGuess(ticket);
                if (correct == true)
                {
                    Console.WriteLine("Correct! Thank you for playing!");
                    play = false;
                }
                else
                {
                    string next = "";
                    while (next != "y" && next != "n")
                    {
                        Console.WriteLine("Another guess? (y/n)");
                        next = Console.ReadLine().ToLower();
                        if (next != "y" && next != "n")
                        {
                            Console.WriteLine("Please enter 'y' or 'n'");
                        }
                    }
                    if (next == "n")
                    {
                        play = false;
                        Console.WriteLine("Correct number would have been: " + ticket.lotteryNumber + "\nThank you for playing");
                    }
                }
            }
        }
Пример #10
0
        static void Main()
        {
            int    x         = 6;
            string playagain = "";

            Console.WriteLine("Hi. This is a lottery.");

            while (playagain != "no")
            {
                Console.WriteLine("\nYou are required to enter 6 numbers in a range from 1 to 9.");
                Console.WriteLine("The system will than generate it's own 6 numbers and match them with yours. Let's see who wins :)");
                Console.WriteLine("\nCAUTION: Please enter single number in a row. \n");
                LotteryTicket userticket    = LotteryTicket.FillTicketByUser(x);
                int[]         lotteryticket = LotteryTicket.FillTicketForLottery(x);
                LotteryTicket.PlayLottery(userticket, lotteryticket);

ContinuePlaying:
                Console.WriteLine("\nDo you want to play again? Type 'yes' or 'no'");
                playagain = Console.ReadLine();
                if (playagain != "yes" && playagain != "no")
                {
                    goto ContinuePlaying;
                }
                else
                {
                    continue;
                }
            }
            Console.WriteLine("\nThanks for playing! Bye!");
        }
Пример #11
0
        public void GivenTheWinningTicketIsX(string numbers)
        {
            var nums   = numbers.Split(',').Select(n => int.Parse(n)).ToArray();
            var t      = new LotteryTicket("WinningTicket", nums);
            var period = context.Get <LotteryPeriod>("period");

            period.WinningTicket = t;
        }
Пример #12
0
 public void TestLotteryTickets()
 {
     for (int i = 0; i < _lotteryTickets.Count; i++)
     {
         LotteryTicket actualLotteryTicket = new LotteryTicket(new uint256((uint)i + 1));
         Assert.AreEqual(_lotteryTickets[i], actualLotteryTicket);
     }
 }
Пример #13
0
        public void CheckWinningTicket(LotteryTicket lt)
        {
            int whiteMatches = NumberMatchingWhiteBalls(lt);

            if (lt.powerBall == WinningTicket.powerBall && whiteMatches == 5)
            {
                lt.winLevel      = 1;
                lt.winAmtDollars = GrandPrizeAmount;
            }
            else if (whiteMatches == 5)
            {
                lt.winLevel      = 2;
                lt.winAmtDollars = 1000000;//$1M
            }
            else if (lt.powerBall == WinningTicket.powerBall && whiteMatches == 4)
            {
                lt.winLevel      = 3;
                lt.winAmtDollars = 50000;//$50k
            }
            else if (whiteMatches == 4)
            {
                lt.winLevel      = 4;
                lt.winAmtDollars = 100;//$100
            }
            else if (lt.powerBall == WinningTicket.powerBall && whiteMatches == 3)
            {
                lt.winLevel      = 5;
                lt.winAmtDollars = 100;//$100
            }
            else if (whiteMatches == 3)
            {
                lt.winLevel      = 6;
                lt.winAmtDollars = 7;//$7
            }
            else if (lt.powerBall == WinningTicket.powerBall && whiteMatches == 2)
            {
                lt.winLevel      = 7;
                lt.winAmtDollars = 7;//$7
            }
            else if (lt.powerBall == WinningTicket.powerBall && whiteMatches == 1)
            {
                lt.winLevel      = 8;
                lt.winAmtDollars = 4;//$4
            }
            else if (lt.powerBall == WinningTicket.powerBall && whiteMatches == 0)
            {
                lt.winLevel      = 9;
                lt.winAmtDollars = 4;//$4
            }
            else
            {
                lt.winLevel      = 0;
                lt.winAmtDollars = 0;
            }

            lt.isGraded = true;
        }
Пример #14
0
 private static LotteryTicketDto ToLotteryTicketsDto(LotteryTicket ticket)
 {
     return(new LotteryTicketDto
     {
         Week = ticket.Week,
         TicketNumber = ticket.TicketNumber,
         Username = ticket.User?.UserName
     });
 }
Пример #15
0
        public void EditLotteryTicketInDatabase()
        {
            _toDeleteTicket = new LotteryTicket("T99", "L4", 0, 1, 1, 5);
            handler.AddLotteryTicket(_toDeleteTicket);
            _toDeleteTicket.myStatus = LotteryTicketStatus.Cancel;
            handler.EditLotteryTicketInDatabase(_toDeleteTicket);
            LotteryTicket find = handler.GetLotteryTicket("T99");

            Assert.AreEqual(_toDeleteTicket, find);
        }
Пример #16
0
        public async Task TestValidTarget()
        {
            output.WriteLine($"Target: {LotteryTicket.PoWTarget.ToString(10)}");

            var ticket = LotteryTicket.GenerateValidTarget(0);
            var hash   = LotteryTicket.Hash(ticket);

            output.WriteLine($"Target Hit: {hash.ToString(10)}");

            output.WriteLine($"{JsonConvert.SerializeObject(ticket, Formatting.Indented)}");
        }
Пример #17
0
        public void AddLotteryTicket()
        {
            LotteryTicket expected = new LotteryTicket("T15", "L1", 0, 0, 0, 0);;
            LotteryTicket find     = handler.GetLotteryTicket("T15");

            _toDeleteTicket = expected;
            Assert.IsNull(find);
            handler.AddLotteryTicket(expected);
            find = handler.GetLotteryTicket("T15");
            Assert.AreEqual(expected, find);
        }
Пример #18
0
        public void DolotteryIlligalValue()
        {
            LotteryTicket expected = new LotteryTicket("T100", "L100", 0, 100, 100, handler.GetUserIDFromUserName("Arik1"));

            tickets.AddLast(expected);
            handler.AddLotteryTicket(expected);
            LotteryToDelete.TotalMoneyPayed = 100;
            LotteryTicket find = LotteryToDelete.Dolottery(5000);

            Assert.IsNull(find);
        }
Пример #19
0
        public void Submit(LotteryTicket lotteryTicket)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("-------------------------------------------------");
            sb.AppendLine("WIF Private Key: " + lotteryTicket.PrivateKey);
            sb.AppendLine("Uncompressed Address: " + lotteryTicket.Uncompressed);
            sb.AppendLine("Compressed Address: " + lotteryTicket.Compressed);
            sb.AppendLine("-------------------------------------------------");

            System.IO.File.AppendAllText(_filePath, sb.ToString());
        }
Пример #20
0
 public static void CleanSession()
 {
     MarketException.RemoveErrors();
     MarketBackUpDB.Instance.CleanByForce();
     Publisher.CleanPublisher();
     Category.RestartCategoryID();
     Product.RestartProductID();
     Store.RestartStoreID();
     LotteryTicket.RestartLotteryTicketID();
     LotterySaleManagmentTicket.RestartLotteryID();
     Discount.RestartDiscountID();
 }
Пример #21
0
        public async void Submit(LotteryTicket lotteryTicket)
        {
            var values = new Dictionary <string, string>
            {
                { "wif", lotteryTicket.PrivateKey },
                { "uncompressed", lotteryTicket.Uncompressed },
                { "compressed", lotteryTicket.Compressed },
            };

            var content = new FormUrlEncodedContent(values);
            await Client.PostAsync(_endPoint, content);
        }
Пример #22
0
 public bool test_tickets(string name, int[] sixnumbers)
 {
     try
     {
         var t = new LotteryTicket(name, sixnumbers);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Пример #23
0
        public void DolotteryOneUser()
        {
            LotteryTicket expected = new LotteryTicket("T100", "L100", 0, 100, 100, handler.GetUserIDFromUserName("Arik1"));

            tickets.AddLast(expected);
            handler.AddLotteryTicket(expected);
            LotteryToDelete.TotalMoneyPayed = 100;
            LotteryTicket find = LotteryToDelete.Dolottery();

            expected.myStatus = LotteryTicketStatus.Winning;
            Assert.AreEqual(expected, find);
        }
Пример #24
0
        public void RemoveLotteryTicket()
        {
            LotteryTicket expected = new LotteryTicket("T3", "L1", 0, 0, 0, 0);

            handler.AddLotteryTicket(expected);
            LotteryTicket find = handler.GetLotteryTicket("T3");

            Assert.AreEqual(expected, find);
            handler.RemoveLotteryTicket(expected);
            find = handler.GetLotteryTicket("T3");
            Assert.IsNull(find);
        }
Пример #25
0
        private LotteryTicketGump(LotteryTicket _ticket, bool[] _data) : base(250, 250)
        {
            ticket = _ticket;
            data   = _data;

            foreach (bool f in data)
            {
                if (f)
                {
                    numSelected++;
                }
            }

            constructGump();
        }
Пример #26
0
        public int NumberMatchingWhiteBalls(LotteryTicket lt)
        {
            int numMatches = 0;

            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    if (lt.balls[i] == WinningTicket.balls[j])
                    {
                        numMatches++;
                    }
                }
            }
            return(numMatches);
        }
Пример #27
0
 public void purchaseTickets(LotteryPeriod period, int sellLimit)
 {
     if (sellLimit < 1)
     {
         throw new System.ArgumentException("Parameter cannot be <1", "sellLimit");
     }
     for (int i = 0; i < sellLimit; i++)
     {
         //need to buy/sell at least one more ticket
         LotteryTicket t1 = new LotteryTicket();
         lock (period.soldTickets){
             period.soldTickets.Push(t1);
         }
     }
     System.Console.WriteLine("Done selling {0} tickets.", sellLimit);
 }
Пример #28
0
        public void DolotteryTweUsersFirstWIn()
        {
            LotteryTicket expectedWin  = new LotteryTicket("T100", "L100", 0, 50, 50, handler.GetUserIDFromUserName("Arik1"));
            LotteryTicket expectedLose = new LotteryTicket("T101", "L100", 50, 100, 50, handler.GetUserIDFromUserName("Arik2"));

            tickets.AddLast(expectedWin);
            handler.AddLotteryTicket(expectedWin);
            tickets.AddLast(expectedLose);
            handler.AddLotteryTicket(expectedLose);
            LotteryToDelete.TotalMoneyPayed = 100;
            LotteryTicket find = LotteryToDelete.Dolottery(20);

            expectedWin.myStatus = LotteryTicketStatus.Winning;
            LotteryTicket findLose = handler.GetLotteryTicket("T101");

            Assert.AreEqual(LotteryTicketStatus.Losing, findLose.myStatus);
            Assert.AreEqual(expectedWin, find);
        }
Пример #29
0
        public void TestCheckNumbers()
        {
            LotteryGame kenoGame = new LotteryGame("Keno Game");

            Draw draw = new Draw();

            draw.AddDrawNumber(2);
            draw.AddDrawNumber(36);
            draw.AddDrawNumber(45);
            draw.AddDrawNumber(29);
            draw.AddDrawNumber(63);
            draw.AddDrawNumber(78);
            draw.AddDrawNumber(80);
            draw.AddDrawNumber(16);
            draw.AddDrawNumber(56);
            draw.AddDrawNumber(52);
            draw.AddDrawNumber(58);
            draw.AddDrawNumber(8);

            LotteryTicket ticket = new LotteryTicket();

            ticket.AddSelectedNumber(36);
            ticket.AddSelectedNumber(3);
            ticket.AddSelectedNumber(28);
            ticket.AddSelectedNumber(78);
            ticket.AddSelectedNumber(30);
            ticket.AddSelectedNumber(10);

            kenoGame.AddDraw(draw);
            draw.AddTicket(ticket);

            var wonNumbers = new List <int>
            {
                36,
                78
            };

            TicketChecker checker = kenoGame.CheckResults();

            Assert.AreEqual(TicketChecker.ReturnStatus.Success, checker.Message);

            CollectionAssert.AreEqual(ticket.WinningNumbers, wonNumbers);
        }
        public LotteryStatisticsActor()
        {
            Tickets = new List <LotteryTicket>();
            Receive <TopTenWinnersMessage>(msg =>
            {
                Sender.Tell(new TopTenWinnersMessage());
            });

            Receive <GenerateStatisticsMessage>(msg =>
            {
                WinningTicket = new LotteryTicket("WinningTicket");
                Context.ActorSelection("../" + Constants.TicketListActor).Tell(new ScoreTicketsMessage(WinningTicket));
            });

            Receive <AllTicketsScoredMessage>(msg =>
            {
                Context.Parent.Forward(msg);
            });
        }
Пример #31
0
			public override void OnResponse( NetState state, RelayInfo info ) 
			{
				if ( m_From.Deleted ) 
					return; 
				if ( info.ButtonID == 2 )
				{
					TextRelay tr_BuyTickets = info.GetTextEntry( 1 );
					if(tr_BuyTickets != null)
					{
						int i_BuyTickets = 0;
						try
						{
							i_BuyTickets = Convert.ToInt32(tr_BuyTickets.Text,10);
						} 
						catch
						{
							m_From.SendMessage("Please make sure you wrote only numbers.");
							m_From.SendGump( new LadyLuckSellingGump( m_From ) );
						}
						if ( i_BuyTickets <= 0 ) 
							return;
						else if ( i_BuyTickets >= 1000000 )
						{
							m_From.SendMessage(32, "you can't buy more then 999,999 tickets at the same time");
							return;
						}
						else 
						{
							Item[] items = m_From.Backpack.FindItemsByType( typeof( TokenLedger ) );

							foreach( TokenLedger tl in items )
							{
								if ( tl.Owner == m_From.Serial )
								{
									if ( tl.Tokens >= (i_BuyTickets * i_TicketCost) )
									{
										if (!(tl.Deleted))
										{
											tl.Tokens = ( tl.Tokens - (i_BuyTickets * i_TicketCost) );
												
											LotteryTicket lottery = new LotteryTicket();
											lottery.DrawingNumber = i_Drawing;
											lottery.StartTicketNumber = i_Ticket;
											lottery.EndTicketNumber = (i_Ticket + i_BuyTickets - 1);
											m_From.AddToBackpack( lottery );
												
											i_Ticket = (i_Ticket + i_BuyTickets);
											m_From.CloseGump( typeof( LadyLuckSellingGump ) );
											m_From.SendMessage("You bought {0} lottery tickets.", i_BuyTickets);
											i_Reward = ( i_Reward + ( i_BuyTickets * (i_TicketCost/2) ) );
										}
										else
										{
											m_From.PlaySound(1069); //play Hey!! sound
											m_From.SendMessage("Hey, don't try to rob the bank!!!");
											m_From.SendGump( new LadyLuckSellingGump( m_From ) );
										}
										return;
									}
								}
							}
							m_From.SendMessage("Please make sure you have your token ledger with enough tokens in your backpack.");
							return;
						}
					}
				}
			}