Esempio n. 1
0
        public static BoardArea BoardTarget()
        {
            int i = ReadValue("Where are you aiming?\n1. Single\n2. Double\n3. Triple\n4. Outer Bull (25)\n5. Inner Bull (50)\n", 1, 5);

            i--;
            string    iString = i.ToString();
            BoardArea target  = (BoardArea)Enum.Parse(typeof(BoardArea), iString);

            return(target);
        }
Esempio n. 2
0
 public DartBoard(BoardArea board)
 {
     board = boardArea;
 }
Esempio n. 3
0
        public BoardAreaViewModel(BoardArea boardArea)
        {
            BoardArea = boardArea;

            this.WhenAnyValue(vm => vm.PartNumberLength,
                              vm => vm.SerialNumberLength,
                              vm => vm.ProductNameLength,
                              vm => vm.ManuNameLength,
                              vm => vm.FruFileIDLength)
            .Subscribe(x =>
            {
                int length        = (x.Item1 + x.Item2 + x.Item3 + x.Item4 + x.Item5 + 5 + 6 + 1);
                BoardArea.padding = (8 - (length % 8));
                Length            = length + BoardArea.padding; // add padding to length
            });

            this.WhenAnyValue(vm => vm.ManufacturerDateTime).Subscribe(mdt =>
            {
                ManufacturerTime = (int)(mdt.ToUniversalTime() - Hel.timeStartOffset).TotalMinutes;
            });

            this.WhenAnyValue(vm => vm.ManuName, vm => vm.ManuNameType).Subscribe(name =>
            {
                ManuNameLength = ManuName.Length;
            });

            this.WhenAnyValue(vm => vm.ProductName, vm => vm.ProductNameType).Subscribe(name =>
            {
                ProductNameLength = ProductName.Length;
            });

            this.WhenAnyValue(vm => vm.PartNumber, vm => vm.PartNumberType).Subscribe(name =>
            {
                PartNumberLength = PartNumber.Length;
            });

            this.WhenAnyValue(vm => vm.SerialNumber, vm => vm.SerialNumberType).Subscribe(name =>
            {
                SerialNumberLength = SerialNumber.Length;
            });

            this.WhenAnyValue(vm => vm.FruFileID, vm => vm.FruFileIDType).Subscribe(name =>
            {
                FruFileIDLength = FruFileID.Length;
            });

            var ob1 = this.WhenAnyValue(vm => vm.PartNumber,
                                        vm => vm.SerialNumber,
                                        vm => vm.ProductName,
                                        vm => vm.ManuName,
                                        vm => vm.FruFileID);


            var ob2 = this.WhenAnyValue(vm => vm.ManufacturerTime,
                                        vm => vm.ManuNameType,
                                        vm => vm.SerialNumberType,
                                        vm => vm.ProductNameType,
                                        vm => vm.FruFileIDType,
                                        vm => vm.PartNumberType);

            ob1.CombineLatest(ob2).Subscribe(_ =>
            {
                var b    = BoardArea.GetBoardAreaBytes();
                Checksum = b.Last();
                Bytes    = BitConverter.ToString(b.ToArray());
            });

            GenerateBytes = ReactiveCommand.Create(BoardArea.GetBoardAreaBytes, Observable.Return(true));
            GenerateBytes.Subscribe(result =>
            {
                Debug.WriteLine(result);
                Bytes = "0x" + BitConverter.ToString(result.ToArray()).Replace("-", " 0x");
            });

            Bytes = "hello";
        }
Esempio n. 4
0
        public static int ThrowGenerator(BoardArea boardtarget, Skill playerSkill, int target, int currentScore)
        {
            var random    = new Random();
            int skill     = Convert.ToInt32(playerSkill);
            int boardarea = Convert.ToInt32(boardtarget);
            int boardmultiplier;
            int finalshot  = 0;
            int misschance = random.Next(0, 3);

            switch (skill)
            {
            case 0:
                if (misschance == 0)
                {
                    return(0);
                }
                else if (misschance == 1)
                {
                    boardarea = random.Next(0, 6);
                    break;
                }
                finalshot = (random.Next(0, 20)) * (random.Next(0, 4));
                boardarea = 5;
                break;

            case 1:
                if (skill >= random.Next(0, 4))
                {
                    break;
                }
                boardarea = random.Next(0, 6);
                break;

            case 2:
                if (skill >= random.Next(0, 4))
                {
                    break;
                }
                boardarea = random.Next(0, 6);
                break;

            case 3:
                if (skill >= random.Next(0, 4))
                {
                    break;
                }
                boardarea = random.Next(0, 6);
                break;
            }

            switch (boardarea)
            {
            case 0:
                boardmultiplier = 1;
                finalshot       = target * boardmultiplier;
                break;

            case 1:
                boardmultiplier = 2;
                finalshot       = target * boardmultiplier;
                break;

            case 2:
                boardmultiplier = 3;
                finalshot       = target * boardmultiplier;
                break;

            case 3:
                finalshot = 25;
                break;

            case 4:
                finalshot = 50;
                break;

            case 5:
                break;
            }

            currentScore -= finalshot; //check to see if the shot reduces the remaining score to zero

            if (currentScore > 0)
            {
                return(finalshot);
            }

            else if (currentScore == 0)
            {
                if (boardarea == 1)
                {
                    return(finalshot);
                }
                else
                {
                    finalshot = 0;
                    return(finalshot);
                }
            }

            else
            {
                finalshot = 0;
                return(finalshot);
            }
        }
Esempio n. 5
0
 public void InitWidgets()
 {
     BoardArea.AddEvents((int)Gdk.EventMask.ButtonPressMask);
     MaterialDifferenceLabel.Text = "Material is equal.";
 }