Пример #1
0
 /// <returns>
 /// True if the packed arrived
 /// </returns>
 public bool Step()
 {
     if (_Tail == null) {
         return true;
     }
     if (_Tail.Step (_Receiver.PositionX, _Receiver.PositionY)) {
         _Tail = _Tail._Next;
     }
     if (_Tail == null) {
         _Receiver.AddPiece (_PieceId);
         return true;
     }
     return false;
 }
Пример #2
0
        public Packet(Node sender, Node receiver, int pieceId)
        {
            _Sender = sender;
            _Receiver = receiver;
            _PieceId = pieceId;

            var x = _Sender.PositionX;
            var y = _Sender.PositionY;

            for (int i = 0; i < PartsPerPiece; i++) {
                _Tail = new PacketTail (
                    this,
                    0.3 + 0.3 * _R.NextDouble (),
                    _Tail);
            }
        }
Пример #3
0
 public PacketTail(Packet packet, double size, PacketTail next)
 {
     _Packet = packet;
     _Size = size;
     _Next = next;
     _Delay = _R.Next (1, 4);
 }