Beispiel #1
0
 public Player(IRandom random)
 {
     Health = 10;
     Attack = 3;
     Cargo = 1;
     Nature = random.Get(NatureUpperBound);
 }
Beispiel #2
0
        /// <summary>
        /// Get free position on the field. If field is full , throw InvalidOperationException.
        /// </summary>
        private Position GetFreePosition(Field field)
        {
            if (field.HasFreeSpace == false)
            {
                throw new InvalidOperationException("Field has no free space");
            }

            Position newPosition;

            do
            {
                newPosition = new Position(_random.Get(field.Width), _random.Get(field.Height));
            } while (_validator.PositionIsTaken(field, newPosition));

            return(newPosition);
        }
Beispiel #3
0
 public async Task <HandGesture> GetGesture()
 {
     return(await Task.Factory.StartNew <HandGesture>(() => {
         // Fake some thinking time
         var r = _Random.Get(3);
         return (HandGesture)r;
     }));
 }
 public async Task <HandGesture> GetGesture()
 {
     return(await Task.Factory.StartNew <HandGesture>(() => {
         var idx = _Random.Get(_Frequency.Count());
         var likelyGesture = _Frequency.ElementAt(idx);
         return _WinningGestures[likelyGesture];
     }));
 }