Re: [alex stt org: gtetrinet and "qualified client"]



On Saturday, October 4, 2003, at 05:37 PM, James Antill wrote:

 Well you can always send a full field, a differential is done by...

foreach tile
    ADD_TILE_MARKER
    foreach row
        foreach column
            if (tile different)
                 ADD_DIFFERENCE

ADD_TILE_MARKER is the ASCII character '!' plus the tile number
(0-14). Note that you _only_ add this is there is a difference for
that tile number.

ADD_DIFFERENCE is the encoded column number followed by the encoded
row number. Encoding is done by adding the ASCII character '3' to the
value.

 So a zero difference is no characters, a difference of a new tile 0
being at the bottom leftmost column would be "!33", and a difference
of tile 2 being at the next to last row and in the "drop" column for
a tetris (the left of the middle two columns, row 6 of 12) is "#49".

This actually helped a great deal (thank you)!

I've written a Cocoa equivalent using an array of NSMutableStrings to store the values and then combining the non-null ones (the ones that changed) at the end. Actually simplified the algorithm quite a bit as I was able to do away w/ the row_count entirely.

I'm having another problem now, however. It would seem that connecting to tetrinet.org repeatedly w/ an "unqualified" client is a good way to get yourself banned:) Does anyone know who the admin for that server is (or is said person a member of the list?)? It would be really great if I could get exemption from the rule until I work these bugs out.

Thanks,

Alex <alex stt org>




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]