From: "Brian Schröder" Date: 2004-12-12T19:08:12+09:00 Subject: Re: [QUIZ] Learning Tic-Tac-Toe (#11) --Multipart=_Sun__12_Dec_2004_11_08_02_+0100_y/NJ3tnjJi6Zb+zD Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable On Sun, 12 Dec 2004 09:47:26 +0900 Brian Schr=F6der wrote: > On Sun, 12 Dec 2004 04:12:28 +0900 > Hans Fugal wrote: >=20 > > It would be good to be able to play against eachother when this is all= =20 > > over, so I propose the following 'protocol'. It's not complicated and=20 > > probably not ready for tournament tic-tac-toe ;-), but it should do nic= ely. > >=20 > > [Snip] >=20 > I encountered some inconsistencies with x,y addressing of your board. So = I=20 > wipped up an improved version of the server. If you'd like to set it up on > your address, it would be fun to test our programs against each other. >=20 > Regards, >=20 > Brian >=20 > PS: As it are two files, I'll append them. I hope this is also readably v= ia > Newsgroup. I'll put up the server tomorrow also on my website. But now so= me > sleep. >=20 > Regards, >=20 > Brian >=20 I forgot to add my client library, for easy interfacing of your tic-tac-toe solver to the server. Regards, Brian --=20 Brian Schr=F6der http://www.brian-schroeder.de/ --Multipart=_Sun__12_Dec_2004_11_08_02_+0100_y/NJ3tnjJi6Zb+zD Content-Type: application/octet-stream; name="tictactoe-client.rb" Content-Disposition: attachment; filename="tictactoe-client.rb" Content-Transfer-Encoding: base64 IyEvdXNyL2Jpbi9ydWJ5CgpyZXF1aXJlICdzb2NrZXQnICMgVENQIGNvbW11bmljYXRpb24KcmVx dWlyZSAndGljdGFjdG9lJwoKY2xhc3MgVGljVGFjVG9lQ2xpZW50CgogIGF0dHJfYWNjZXNzb3Ig OnBsYXllcl9udW1iZXIKICAKICBwcml2YXRlCiAgZGVmIGRlY29kZV9ib2FyZChsaW5lKQogICAg Qm9hcmQubmV3KGxpbmUuZ3N1YigvW15YT10vLCAnJykubGVuZ3RoICUgMiwgbGluZS5zY2FuKC9b X1hPXXszfS8pLm1hcHt8cm93fCByb3cuc2NhbigvW19YT10vKS5tYXB7IHxjfCBjID09ICdfJyA/ IG5pbCA6IChjID09ICdYJyA/ICcwJyA6IDEpIH0gfSkKICBlbmQKICAKICBwdWJsaWMKICBkZWYg aW5pdGlhbGl6ZShob3N0LCBwb3J0KQogICAgQGFudHMgPSB7fQogICAgQHNvY2tldCA9IFRDUFNv Y2tldC5uZXcoaG9zdCwgcG9ydCkKICAgIHB1dHMgIkNvbm5lY3RlZCB0bzogI3tAc29ja2V0Lmdl dHN9IgogICAgbGluZSA9IEBzb2NrZXQuZ2V0cwogICAgcmFpc2UgIlVuZXhwZWN0ZWQgYW5zd2Vy OiAje2xpbmV9IiB1bmxlc3MgLyhbT1hdKylccysoXGQrKXgoXGQrKS8gPX4gbGluZQogICAgQHBs YXllcl9udW1iZXIgPSAoJDEgPT0gJ1gnID8gMCA6IDEpCiAgICByYWlzZSAnQ2FuIG9ubHkgcGxh eSBmaWVsZCBvZiBzaXplIDN4MycgdW5sZXNzICQyLnRvX2kgPT0gMyBhbmQgJDMudG9faSA9PSAz ICAgIAogIGVuZAoKICBkZWYgYXNzaWduX3BsYXllcihwbGF5ZXIpCiAgICBAcGxheWVyID0gcGxh eWVyCiAgICBAcGxheWVyLm5ld19nYW1lKEBwbGF5ZXJfbnVtYmVyKQogICAgQHNvY2tldC5wdXRz ICJIZWxsby4gQnJpYW4ncyBBSSBpcyBjaGFyZ2luZy4uLiIKICAgIEBib2FyZCA9IGRlY29kZV9i b2FyZChAc29ja2V0LmdldHMpCiAgICBwdXRzIEBib2FyZAogICAgc2VsZgogIGVuZAoKICBkZWYg cGxheQogICAgd2hpbGUgbGluZSA9IEBzb2NrZXQuZ2V0cwogICAgICBjYXNlIGxpbmUKICAgICAg d2hlbiAvXm1vdmUvCiAgICAgICAgbW92ZSA9IEBwbGF5ZXIuY2hvb3NlX21vdmUoQGJvYXJkKQog ICAgICAgIEBzb2NrZXQucHV0cyAiI3ttb3ZlLnh9LCN7bW92ZS55fSIKICAgICAgd2hlbiAvXndp bi8KICAgICAgICBwdXRzICJZb3UgaGF2ZSB3b24iCiAgICAgICAgYnJlYWsKICAgICAgd2hlbiAv Xmxvc2UvCiAgICAgICAgcHV0cyAiWW91IGhhdmUgbG9zdCIKICAgICAgICBicmVhawogICAgICB3 aGVuIC9eZHJhdy8KICAgICAgICBwdXRzICJZb3UgaGF2ZSBkcmF3biIKICAgICAgICBicmVhawog ICAgICBlbHNlCiAgICAgICAgQGJvYXJkID0gZGVjb2RlX2JvYXJkKGxpbmUpCiAgICAgICAgcHV0 cyBAYm9hcmQKICAgICAgZW5kCiAgICBlbmQKICAgIEBzb2NrZXQuY2xvc2UKICBlbmQKICAKZW5k CgppZiBfX0ZJTEVfXyA9PSAkMAogIGNsaWVudCA9IFRpY1RhY1RvZUNsaWVudC5uZXcoJ2xvY2Fs aG9zdCcsIDEyNzYpCiAgcmVxdWlyZSAndGljdGFjdG9lLWludGVyZmFjZScKICBpID0gSW50ZXJm YWNlOjpOYXR1cmFsSW50ZWxsaWdlbmNlLm5ldwoKICBjbGllbnQuYXNzaWduX3BsYXllcihpKQog IGNsaWVudC5wbGF5CmVuZAo= --Multipart=_Sun__12_Dec_2004_11_08_02_+0100_y/NJ3tnjJi6Zb+zD Content-Type: application/octet-stream; name="tictactoe-interface.rb" Content-Disposition: attachment; filename="tictactoe-interface.rb" Content-Transfer-Encoding: base64 IyEvdXNyL2Jpbi9lbnYgcnVieQoKbW9kdWxlIEludGVyZmFjZQogIGNsYXNzIEJhc2ljSW50ZXJm YWNlCiAgICBhdHRyX2FjY2Vzc29yIDpwbGF5ZXIKICAgIAogICAgZGVmIGluaXRpYWxpemUoKQog ICAgZW5kCgogICAgZGVmIG5ld19nYW1lKHBsYXllcikKICAgICAgQHBsYXllciA9IHBsYXllcgog ICAgZW5kCgogICAgZGVmIGluZm9ybV9vZl9tb3ZlKGJlZm9yZSwgYWZ0ZXIsIG1vdmUpCiAgICBl bmQKICBlbmQKCiAgIyBOYXR1cmFsIEludGVsbGlnZW5jZS4KICAjCiAgIyBUaGUgaW50ZXJmYWNl IGZvciB0aGUgaHVtYW4gcGxheWVyCiAgY2xhc3MgTmF0dXJhbEludGVsbGlnZW5jZSA8IEJhc2lj SW50ZXJmYWNlCiAgICBkZWYgY2hvb3NlX21vdmUoZ2FtZSkKICAgICAgcHV0cyAiQWxsb3dlZCBt b3ZlczoiCiAgICAgIG1vdmVzID0gZ2FtZS5tb3ZlcwogICAgICBtb3Zlcy5lYWNoX3dpdGhfaW5k ZXggZG8gfCBtb3ZlLCBpIHwgcHV0cyAiJTJkKSAlcyIgJSBbaSsxLCBtb3ZlXSBlbmQgICAgICAK ICAgICAgYmVnaW4KICAgICAgICBwcmludCAnQ2hvb3NlIG1vdmU6ICcKICAgICAgICBpID0gZ2V0 cy50b19pIC0gMQogICAgICBlbmQgdW50aWwgMCA8PSBpIGFuZCBpIDwgbW92ZXMubGVuZ3RoCiAg ICAgIG1vdmUgPSBtb3Zlc1tpXQogICAgICBtb3ZlCiAgICBlbmQKICBlbmQKZW5kCgokc3Rkb3V0 LnN5bmMgPSB0cnVlCgojIFRha2UgdGhlIHRpbWUgaXQgdG9vayB0byBleGVjdXRlIHRoZSBibG9j awojCiMgUmV0dXJucyB0aGUgdGltZSBhbmQgdGhlIHJlc3Qgb2YgdGhlIHJlc3VsdApkZWYgdGlt ZQogIHN0YXJ0X3RpbWUgPSBUaW1lLm5ldy50b19mCiAgcmVzdWx0ID0geWllbGQKICB0aW1lID0g VGltZS5uZXcudG9fZiAtIHN0YXJ0X3RpbWUKICByZXR1cm4gdGltZSwgcmVzdWx0CmVuZAoKIyBM ZXQgdHdvIHBsYXllcnMgcGxheSBhZ2FpbnN0IGVhY2ggb3RoZXIuIE91dHB1dHMgc3RhdGUgdG8g c3Rkb3V0LiBTZWUgYWxzbyAjcGxheV9nYW1lX3NpbGVudC4KZGVmIHBsYXlfZ2FtZShwbGF5ZXIw LCBwbGF5ZXIxKQogIHBsYXllcnMgPSBbcGxheWVyMCwgcGxheWVyMV0KCiAgIyBJbmZvcm0gcGxh eWVyIG9mIHRoZWlyIGNvbG9yCiAgcGxheWVycy5lYWNoX3dpdGhfaW5kZXggZG8gfCBpbnRlcmZh Y2UsIHBsYXllciB8IGludGVyZmFjZS5uZXdfZ2FtZShwbGF5ZXIpIGVuZAoKICAjIENyZWF0ZSBh IG5ldyBnYW1lCiAgZ2FtZSA9IEJvYXJkLm5ldwoKICB0dXJuID0gMAogIHVudGlsIGdhbWUuZmlu YWw/CiAgICBwbGF5ZXIgPSBwbGF5ZXJzW2dhbWUucGxheWVyXSAjIFBsYXllciB3aG8gdGFrZXMg dGhlIHR1cm4KCiAgICBwdXRzICJUdXJuOiAje3R1cm4rPTF9IgogICAgcHV0cyBnYW1lCgogICAg cHV0cyAiUGxheWVyICN7Z2FtZS5wbGF5ZXJ9IGlzIHRoaW5raW5nLi4uIgogICAgdGltZSwgbW92 ZSA9IHRpbWUgeyBwbGF5ZXIuY2hvb3NlX21vdmUoZ2FtZSkgfQogICAgcHV0cyAiVGhpbmtpbmcg dG9vayAlNi4yZnMiICUgdGltZQogICAgCiAgICBwdXRzICJQbGF5ZXIgI3tnYW1lLnBsYXllcn0g YWN0czogI3ttb3ZlfVxuXG4iCiAgICAgIAogICAgZ2FtZSwgb2xkX2dhbWUgPSBnYW1lLm1ha2Uo bW92ZSksIGdhbWUKICAgIHBsYXllcnMuZWFjaCBkbyB8IHB8IHAuaW5mb3JtX29mX21vdmUob2xk X2dhbWUsIGdhbWUsIG1vdmUpIGVuZAogIGVuZAoKICBwdXRzICJSZXN1bHQ6IgogIHB1dHMgZ2Ft ZQogIHB1dHMgIldpbm5lcjogI3tnYW1lLndpbm5lciA/ICJQbGF5ZXIgI3tnYW1lLndpbm5lcn0i IDogJ05vbmUnfSIKZW5kCgojIExldCB0d28gcGxheWVycyBwbGF5IGFnYWluc3QgZWFjaCBvdGhl ci4gUHJvZHVjZXMgbm8gb3V0cHV0LiBTZWUgYWxzbyAjcGxheV9nYW1lCmRlZiBwbGF5X2dhbWVf c2lsZW50KHBsYXllcjAsIHBsYXllcjEpCiAgcGxheWVycyA9IFtwbGF5ZXIwLCBwbGF5ZXIxXQoK ICAjIEluZm9ybSBwbGF5ZXIgb2YgdGhlaXIgY29sb3IKICBwbGF5ZXJzLmVhY2hfd2l0aF9pbmRl eCBkbyB8IGludGVyZmFjZSwgcGxheWVyIHwgaW50ZXJmYWNlLm5ld19nYW1lKHBsYXllcikgZW5k CgogICMgQ3JlYXRlIGEgbmV3IGdhbWUKICBnYW1lID0gQm9hcmQubmV3CgogIHR1cm4gPSAwCiAg dW50aWwgZ2FtZS5maW5hbD8KICAgIHBsYXllciA9IHBsYXllcnNbZ2FtZS5wbGF5ZXJdCiAgICB0 aW1lLCBtb3ZlID0gdGltZSB7IHBsYXllci5jaG9vc2VfbW92ZShnYW1lKSB9CiAgICBnYW1lLCBv bGRfZ2FtZSA9IGdhbWUubWFrZShtb3ZlKSwgZ2FtZQogICAgcGxheWVycy5lYWNoIGRvIHwgcHwg cC5pbmZvcm1fb2ZfbW92ZShvbGRfZ2FtZSwgZ2FtZSwgbW92ZSkgZW5kCiAgZW5kICAKCiAgZ2Ft ZS53aW5uZXIKZW5kCgojIElmIHRoaXMgZmlsZSBpcyBleGVjdXRlZCwgc3RhcnRzIGEgSHVtYW4g dnMuIEh1bWFuIGdhbWUKaWYgX19GSUxFX18gPT0gJDAgCiAgcGxheWVyMCA9IEFJOjpOYXR1cmFs SW50ZWxsaWdlbmNlLm5ldwogIHBsYXllcjEgPSBBSTo6TmF0dXJhbEludGVsbGlnZW5jZS5uZXcK ICBwbGF5X2dhbWUocGxheWVyMCwgcGxheWVyMSkKZW5kCg== --Multipart=_Sun__12_Dec_2004_11_08_02_+0100_y/NJ3tnjJi6Zb+zD--