Ejemplo n.º 1
0
 public void Seed(ProtoState state)
 {
     for (var i = 0; i < _many; ++i)
     {
         state.Seed(i);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Publish and subscribe a dealcards -message.
        /// </summary>
        public void DealCards()
        {
            state = ProtoState.DealCard;

            if (IsMaster())
            {
                opponentsCards = App.CardModel.SuffleCards();
                Message msg = new Message(Message.TypeEnum.EDealCards);
                msg.CardIds = opponentsCards;

                // Construct and serialize a dealcards -message.
                MemoryStream mstream = _nfcMessage.SerializeMessage(msg);

                var dataWriter = new Windows.Storage.Streams.DataWriter();
                dataWriter.WriteBytes(mstream.GetBuffer());


                // Publish the message
                _publishedMsgId = _proximityDevice.PublishBinaryMessage("Windows.CarTrumps",
                                                                        dataWriter.DetachBuffer(), NfcWriteCallback);
            }
            else
            {
                // subscribe for a reply
                _subscribedMsgId = _proximityDevice.SubscribeForMessage("Windows.CarTrumps",
                                                                        NfcMessageReceived);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Publish and subscribe a showcard -message.
        /// </summary>
        public void ShowCard()
        {
            state = ProtoState.ShowCard;

            StopAll();

            // Construct and serialize a showcard -message.
            Message msg = new Message(Message.TypeEnum.EShowCard);

            msg.CardId = (ushort)App.CardModel.ActiveCard.CardId;
            msg.SelectedCardProperty = App.CardModel.SelectedCardPropertyName;
            MemoryStream mstream = _nfcMessage.SerializeMessage(msg);

            var dataWriter = new Windows.Storage.Streams.DataWriter();

            dataWriter.WriteBytes(mstream.GetBuffer());

            // Publish the message
            _publishedMsgId = _proximityDevice.PublishBinaryMessage("Windows.CarTrumps",
                                                                    dataWriter.DetachBuffer(), NfcWriteCallback);
            // and subscribe for a reply
            _subscribedMsgId = _proximityDevice.SubscribeForMessage("Windows.CarTrumps",
                                                                    NfcMessageReceived);
        }
Ejemplo n.º 4
0
 public static ProtoState MakeOneOrMore(ProtoState body) => Loop(body, atLeastOnce: true);
Ejemplo n.º 5
0
 public static ProtoState MakeZeroOrMore(ProtoState body) => Loop(body);
Ejemplo n.º 6
0
 public static ProtoState MakeZeroOrOne(ProtoState body) => Branch(body, Zero);
Ejemplo n.º 7
0
 public static ProtoState MakeAlternation(ProtoState left, ProtoState right) => Branch(left, right);
Ejemplo n.º 8
0
 public static ProtoState Loop(ProtoState body, bool atLeastOnce = false) => exit => {
     IState?_body = null;
     var    loop  = new Split(() => _body, exit);
     _body = body(loop);
     return(atLeastOnce ? _body : loop);
 };
Ejemplo n.º 9
0
 public static ProtoState Branch(ProtoState left, ProtoState right) => exit => new Split(left(exit), right(exit));
Ejemplo n.º 10
0
 public static ProtoState Connect(ProtoState first, ProtoState second) => exit => first(second(exit));
Ejemplo n.º 11
0
        /// <summary>
        /// Publish and subscribe a dealcards -message.
        /// </summary>
        public void DealCards()
        {
            state = ProtoState.DealCard;

            if (IsMaster())
            {
                opponentsCards = App.CardModel.SuffleCards();
                Message msg = new Message(Message.TypeEnum.EDealCards);
                msg.CardIds = opponentsCards;

                // Construct and serialize a dealcards -message.
                MemoryStream mstream = _nfcMessage.SerializeMessage(msg);

                var dataWriter = new Windows.Storage.Streams.DataWriter();
                dataWriter.WriteBytes(mstream.GetBuffer());

                // Publish the message
                _publishedMsgId = _proximityDevice.PublishBinaryMessage("Windows.CarTrumps",
                    dataWriter.DetachBuffer(), NfcWriteCallback);
            }
            else
            {
                // subscribe for a reply
                _subscribedMsgId = _proximityDevice.SubscribeForMessage("Windows.CarTrumps",
                    NfcMessageReceived);
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Publish and subscribe a showcard -message.
        /// </summary>
        public void ShowCard()
        {
            state = ProtoState.ShowCard;

            StopAll();

            // Construct and serialize a showcard -message.
            Message msg = new Message(Message.TypeEnum.EShowCard);
            msg.CardId = (ushort)App.CardModel.ActiveCard.CardId;
            msg.SelectedCardProperty = App.CardModel.SelectedCardPropertyName;
            MemoryStream mstream = _nfcMessage.SerializeMessage(msg);

            var dataWriter = new Windows.Storage.Streams.DataWriter();
            dataWriter.WriteBytes(mstream.GetBuffer());

            // Publish the message
            _publishedMsgId = _proximityDevice.PublishBinaryMessage("Windows.CarTrumps",
                dataWriter.DetachBuffer(), NfcWriteCallback);
            // and subscribe for a reply
            _subscribedMsgId = _proximityDevice.SubscribeForMessage("Windows.CarTrumps",
                NfcMessageReceived);
        }
Ejemplo n.º 13
0
 public void ProtocolInit(NfcInitiationMessage.NotifyNfcReady notify)
 {
     StopAll();
     state = ProtoState.NotReady;
     _nfcInitMsg.PingAdversary(_proximityDevice, notify);
 }
Ejemplo n.º 14
0
 public void Seed(ProtoState state)
 {
     state.Seed(0);
 }
Ejemplo n.º 15
0
 public void ProtocolInit(NfcInitiationMessage.NotifyNfcReady notify)
 {
     StopAll();
     state = ProtoState.NotReady;
     _nfcInitMsg.PingAdversary(_proximityDevice, notify);
 }