Example #1
0
        private static Command ReadLMove(int b1, Stream stream)
        {
            int   b2   = stream.StrictReadByte();
            int   a1   = (b1 & 0b00110000) >> 4;
            int   i1   = (b2 & 0b00001111) >> 0;
            int   a2   = (b1 & 0b11000000) >> 6;
            int   i2   = (b2 & 0b11110000) >> 4;
            Delta sld1 = DeltaDecoder.DecodeSld(a1, i1);
            Delta sld2 = DeltaDecoder.DecodeSld(a2, i2);

            return(Commands.LMove(sld1, sld2));
        }
Example #2
0
            internal override Command Decode(int prefix, Func <int> nextByte)
            {
                int   suffix = nextByte();
                int   a1     = (prefix & 0b00110000) >> 4;
                int   i1     = (suffix & 0b00001111) >> 0;
                int   a2     = (prefix & 0b11000000) >> 6;
                int   i2     = (suffix & 0b11110000) >> 4;
                Delta sld1   = DeltaDecoder.DecodeSld(a1, i1);
                Delta sld2   = DeltaDecoder.DecodeSld(a2, i2);

                return(Commands.LMove(sld1, sld2));
            }