From jh2674@nyu.edu  Tue Nov 24 17:56:35 2009
Received: from mx.cims.nyu.edu (mx.cims.nyu.edu [128.122.80.107])
	by mail.cims.nyu.edu (8.13.8+Sun/8.13.8) with ESMTP id nAOMuZld012938
	for <shasha@mail.cims.nyu.edu>; Tue, 24 Nov 2009 17:56:35 -0500 (EST)
Received: from mx3.nyu.edu (MX3.NYU.EDU [128.122.118.243])
	by mx.cims.nyu.edu (8.13.8+Sun/8.13.8) with ESMTP id nAOMuX5I017026
	for <shasha@courant.nyu.edu>; Tue, 24 Nov 2009 17:56:33 -0500 (EST)
Received: from mail.nyu.edu (H3.HOME.NYU.EDU [128.122.118.83])
	by mx3.nyu.edu (8.13.8/8.13.8) with ESMTP id nAOMuSTs007641
	for <shasha@courant.nyu.edu>; Tue, 24 Nov 2009 17:56:28 -0500 (EST)
Received: from [216.165.44.59] by mail.alt.home.nyu.edu (mshttpd); Tue,
 24 Nov 2009 17:56:28 -0500
From: Justin Hartmann <jh2674@nyu.edu>
To: Dennis Shasha <shasha@courant.nyu.edu>
Message-ID: <60a0b7a622939.4b0c1e4c@mail.nyu.edu>
Date: Tue, 24 Nov 2009 17:56:28 -0500
X-Mailer: Sun Java(tm) System Messenger Express 6.3-8.03 (built Apr 24
 2009; 64bit)
MIME-Version: 1.0
Content-Language: en
Subject: Re: your programs for tomorrow
X-Accept-Language: en
Priority: normal
In-Reply-To: <200911241255.nAOCtCoW027566@access1.cims.nyu.edu>
References: <200911241255.nAOCtCoW027566@access1.cims.nyu.edu>
Content-Type: multipart/mixed; boundary="--318ca780db2e32115061"
X-Scanned-By: MIMEDefang 2.58 on 128.122.80.107
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (mx.cims.nyu.edu [128.122.80.107]); Tue, 24 Nov 2009 17:56:34 -0500 (EST)
Status: R
Content-Length: 8643

This is a multi-part message in MIME format.

----318ca780db2e32115061
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

gamebase.py works fine so it should be good. gameadv.py is the same game however I tweaked it a bit to make it cooler however as a result it may not function correctly depending on which operating system you are using. It should work but it may not in which case gamebase.py will work fine.

--Justin Hartmann

----318ca780db2e32115061
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=justin.py

aW1wb3J0IHJhbmRvbQpsaW5lYSA9ICIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKiIKbGluZWIgPSAiICoqKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqKioiCnNuYWtleCA9IFsyNCwyNCwyNCwyNCwyNF0K
c25ha2V5ID0gWzEyLDEzLDE0LDE1LDE2XQpzbmFrZSA9IDUKbG9zZSA9IDAKYXBwbGUgPSAx
CnRhcHBsZXMgPSAwCmRlZiBibGFua3NjcmVlbigpOgogICAgc2NyZWVuID0gW10KICAgIGkg
PSAwCiAgICBsaW5lcyA9IDI1CiAgICB6ID0gbGluZXMtMQogICAgd2hpbGUgaTxsaW5lczoK
ICAgICAgICBpZiBpIDw9IDE6CiAgICAgICAgICAgIHNjcmVlbi5hcHBlbmQobGluZWEpCiAg
ICAgICAgZWxpZiBpID49IDIzOgogICAgICAgICAgICBzY3JlZW4uYXBwZW5kKGxpbmVhKQog
ICAgICAgIGVsc2U6CiAgICAgICAgICAgIHNjcmVlbi5hcHBlbmQobGluZWIpCiAgICAgICAg
aSA9IGkrMQogICAgcmV0dXJuIHNjcmVlbgogICAgICAgIApkZWYgcHJpbnRzY3JlZW4odyk6
CiAgICBnbG9iYWwgdGFwcGxlcwogICAgc2NyZWVuID0gYmxhbmtzY3JlZW4oKQogICAgbGVu
Z3RoID0gc25ha2UKICAgIHdoaWxlIGxlbmd0aCA+IDA6CiAgICAgICAgdCA9IHNuYWtlLWxl
bmd0aAogICAgICAgIHRyeToKICAgICAgICAgICAgeCA9IHNuYWtleFt0XQogICAgICAgICAg
ICB5ID0gc25ha2V5W3RdCiAgICAgICAgICAgIGxpbmUgPSBzY3JlZW5beV0KICAgICAgICAg
ICAgaWYgdCA9PSAwOgogICAgICAgICAgICAgICAgaWYgbGluZVt4XSA9PSAiKiI6CiAgICAg
ICAgICAgICAgICAgICAgZ2xvYmFsIGxvc2UKICAgICAgICAgICAgICAgICAgICBsb3NlID0g
MQogICAgICAgICAgICAgICAgaWYgdyAhPSAxOgogICAgICAgICAgICAgICAgICAgIGlmICh4
ID09IGFwcGxleCkgYW5kICh5ID09IGFwcGxleSk6CiAgICAgICAgICAgICAgICAgICAgICAg
IHcgPSAxCiAgICAgICAgICAgICAgICAgICAgICAgIHRhcHBsZXMgPSB0YXBwbGVzKzEKICAg
ICAgICAgICAgICAgIGxpbmUgPSBsaW5lWzp4XSsiOCIrbGluZVt4KzE6XQogICAgICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgICAgaWYgbGluZVt4XSA9PSAiOCI6CiAgICAgICAgICAg
ICAgICAgICAgbG9zZSA9IDEKICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lWzp4XSsiTyIr
bGluZVt4KzE6XQogICAgICAgICAgICBzY3JlZW5beV0gPSBsaW5lCiAgICAgICAgZXhjZXB0
OgogICAgICAgICAgICBOb25lCiAgICAgICAgbGVuZ3RoID0gbGVuZ3RoIC0gMQogICAgcHJp
bnQgIkFwcGxlcyBFYXRlbjogIix0YXBwbGVzCiAgICBmb3IgeCBpbiBhcHBsZXMoc2NyZWVu
LHcpOgogICAgICAgIHByaW50IHgKCmRlZiBzbmFrZW1vdmUobW92ZSk6CiAgICBsZW5ndGgg
PSBzbmFrZQogICAgd2hpbGUgbGVuZ3RoID4gMDoKICAgICAgICB0ID0gbGVuZ3RoLTEKICAg
ICAgICBpZiB0ID4gMDoKICAgICAgICAgICAgaWYgbGVuKHNuYWtleSkgPCBsZW5ndGg6CiAg
ICAgICAgICAgICAgICBzbmFrZXkuYXBwZW5kKHNuYWtleVt0LTFdKQogICAgICAgICAgICAg
ICAgc25ha2V4LmFwcGVuZChzbmFrZXhbdC0xXSkKICAgICAgICAgICAgZWxzZToKICAgICAg
ICAgICAgICAgIHNuYWtleVt0XSA9IHNuYWtleVt0LTFdCiAgICAgICAgICAgICAgICBzbmFr
ZXhbdF0gPSBzbmFrZXhbdC0xXQogICAgICAgIGVsaWYgdCA9PSAwOgogICAgICAgICAgICBp
ZiBtb3ZlID09ICJ3IjoKICAgICAgICAgICAgICAgIHNuYWtleVswXSA9IHNuYWtleVswXS0x
CiAgICAgICAgICAgIGVsaWYgbW92ZSA9PSAiYSI6CiAgICAgICAgICAgICAgICBzbmFrZXhb
MF0gPSBzbmFrZXhbMF0tMgogICAgICAgICAgICBlbGlmIG1vdmUgPT0gImQiOgogICAgICAg
ICAgICAgICAgc25ha2V4WzBdID0gc25ha2V4WzBdKzIKICAgICAgICAgICAgZWxpZiBtb3Zl
ID09ICJzIjoKICAgICAgICAgICAgICAgIHNuYWtleVswXSA9IHNuYWtleVswXSsxCiAgICAg
ICAgbGVuZ3RoID0gbGVuZ3RoIC0gMQoKZGVmIGFwcGxlcyhzY3JlZW4sdyk6CiAgICBnbG9i
YWwgYXBwbGV5CiAgICBnbG9iYWwgYXBwbGV4CiAgICB6ID0gMQogICAgaWYgdyA9PSAxOgog
ICAgICAgIHdoaWxlIHogPT0gMToKICAgICAgICAgICAgeiA9IDAKICAgICAgICAgICAgeCA9
IDAKICAgICAgICAgICAgYXBwbGV5ID0gcmFuZG9tLnJhbmRpbnQoMiwyMikKICAgICAgICAg
ICAgYXBwbGV4ID0gcmFuZG9tLnJhbmRpbnQoMiwyMykqMgogICAgICAgICAgICBmb3IgaSBp
biBzbmFrZXk6CiAgICAgICAgICAgICAgICBpZiAoYXBwbGV5ID09IHNuYWtleVt4XSkgYW5k
IChhcHBsZXggPT0gc25ha2V4W3hdKToKICAgICAgICAgICAgICAgICAgICB6ID0gMQogICAg
ICAgICAgICAgICAgeCA9IHgrMQogICAgbGluZSA9IHNjcmVlblthcHBsZXldCiAgICBsaW5l
ID0gbGluZVs6YXBwbGV4XSsiQCIrbGluZVthcHBsZXgrMTpdCiAgICBzY3JlZW5bYXBwbGV5
XSA9IGxpbmUKICAgIHJldHVybiBzY3JlZW4KICAgIAogICAgCm1vdmUgPSAiIgp3aGlsZSBt
b3ZlICE9ICJ4IjoKICAgIHByaW50c2NyZWVuKGFwcGxlKQogICAgYXBwbGUgPSAwCiAgICBz
bmFrZSA9IDUrdGFwcGxlcwogICAgaWYgbG9zZSA9PSAxOgogICAgICAgIHByaW50ICJZb3Ug
TG9zZSIKICAgICAgICBwcmludCAiWW91IGF0ZSAiLHRhcHBsZXMsIiBBcHBsZXMuIgogICAg
ICAgIG1vdmUgPSAieCIKICAgIGVsc2U6CiAgICAgICAgbW92ZSA9IHJhd19pbnB1dCgiOiAi
KQogICAgICAgIGlmIG1vdmUgaW4gWyJ3IiwiYSIsInMiLCJkIl06CiAgICAgICAgICAgIHNu
YWtlbW92ZShtb3ZlKQo=
----318ca780db2e32115061
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=gameadv.py

aW1wb3J0IHNpZ25hbAoKZGVmIHRpbnB1dChtb3ZlKToKICAgIHRyeToKICAgICAgICB0aW4g
PSByYXdfaW5wdXQoIjogIikKICAgICAgICByZXR1cm4gdGluCiAgICBleGNlcHQ6CiAgICAg
ICAgcmV0dXJuIG1vdmUKCmltcG9ydCByYW5kb20KbGluZWEgPSAiICoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiCmxpbmViID0gIiAqKiogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioqIgpzbmFrZXggPSBb
MjQsMjQsMjQsMjQsMjRdCnNuYWtleSA9IFsxMiwxMywxNCwxNSwxNl0Kc25ha2UgPSA1Cmxv
c2UgPSAwCmFwcGxlID0gMQp0YXBwbGVzID0gMApkZWYgYmxhbmtzY3JlZW4oKToKICAgIHNj
cmVlbiA9IFtdCiAgICBpID0gMAogICAgbGluZXMgPSAyNQogICAgeiA9IGxpbmVzLTEKICAg
IHdoaWxlIGk8bGluZXM6CiAgICAgICAgaWYgaSA8PSAxOgogICAgICAgICAgICBzY3JlZW4u
YXBwZW5kKGxpbmVhKQogICAgICAgIGVsaWYgaSA+PSAyMzoKICAgICAgICAgICAgc2NyZWVu
LmFwcGVuZChsaW5lYSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzY3JlZW4uYXBwZW5k
KGxpbmViKQogICAgICAgIGkgPSBpKzEKICAgIHJldHVybiBzY3JlZW4KICAgICAgICAKZGVm
IHByaW50c2NyZWVuKHcpOgogICAgZ2xvYmFsIHRhcHBsZXMKICAgIHNjcmVlbiA9IGJsYW5r
c2NyZWVuKCkKICAgIGxlbmd0aCA9IHNuYWtlCiAgICB3aGlsZSBsZW5ndGggPiAwOgogICAg
ICAgIHQgPSBzbmFrZS1sZW5ndGgKICAgICAgICB4ID0gc25ha2V4W3RdCiAgICAgICAgeSA9
IHNuYWtleVt0XQogICAgICAgIGxpbmUgPSBzY3JlZW5beV0KICAgICAgICBpZiB0ID09IDA6
CiAgICAgICAgICAgIGlmIGxpbmVbeF0gPT0gIioiOgogICAgICAgICAgICAgICAgZ2xvYmFs
IGxvc2UKICAgICAgICAgICAgICAgIGxvc2UgPSAxCiAgICAgICAgICAgIGlmIHcgIT0gMToK
ICAgICAgICAgICAgICAgIGlmICh4ID09IGFwcGxleCkgYW5kICh5ID09IGFwcGxleSk6CiAg
ICAgICAgICAgICAgICAgICAgdyA9IDEKICAgICAgICAgICAgICAgICAgICB0YXBwbGVzID0g
dGFwcGxlcysxCiAgICAgICAgICAgIGxpbmUgPSBsaW5lWzp4XSsiOCIrbGluZVt4KzE6XQog
ICAgICAgIGVsc2U6CiAgICAgICAgICAgIGlmIGxpbmVbeF0gPT0gIjgiOgogICAgICAgICAg
ICAgICAgbG9zZSA9IDEKICAgICAgICAgICAgbGluZSA9IGxpbmVbOnhdKyJPIitsaW5lW3gr
MTpdCiAgICAgICAgc2NyZWVuW3ldID0gbGluZQogICAgICAgIGxlbmd0aCA9IGxlbmd0aCAt
IDEKICAgIHByaW50ICJBcHBsZXMgRWF0ZW46ICIsdGFwcGxlcwogICAgZm9yIHggaW4gYXBw
bGVzKHNjcmVlbix3KToKICAgICAgICBwcmludCB4CgpkZWYgc25ha2Vtb3ZlKG1vdmUpOgog
ICAgbGVuZ3RoID0gc25ha2UKICAgIHdoaWxlIGxlbmd0aCA+IDA6CiAgICAgICAgdCA9IGxl
bmd0aC0xCiAgICAgICAgaWYgdCA+IDA6CiAgICAgICAgICAgIGlmIGxlbihzbmFrZXkpIDwg
bGVuZ3RoOgogICAgICAgICAgICAgICAgc25ha2V5LmFwcGVuZChzbmFrZXlbdC0xXSkKICAg
ICAgICAgICAgICAgIHNuYWtleC5hcHBlbmQoc25ha2V4W3QtMV0pCiAgICAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICAgICBzbmFrZXlbdF0gPSBzbmFrZXlbdC0xXQogICAgICAgICAg
ICAgICAgc25ha2V4W3RdID0gc25ha2V4W3QtMV0KICAgICAgICBlbGlmIHQgPT0gMDoKICAg
ICAgICAgICAgaWYgbW92ZSA9PSAidyI6CiAgICAgICAgICAgICAgICBzbmFrZXlbMF0gPSBz
bmFrZXlbMF0tMQogICAgICAgICAgICBlbGlmIG1vdmUgPT0gImEiOgogICAgICAgICAgICAg
ICAgc25ha2V4WzBdID0gc25ha2V4WzBdLTIKICAgICAgICAgICAgZWxpZiBtb3ZlID09ICJk
IjoKICAgICAgICAgICAgICAgIHNuYWtleFswXSA9IHNuYWtleFswXSsyCiAgICAgICAgICAg
IGVsaWYgbW92ZSA9PSAicyI6CiAgICAgICAgICAgICAgICBzbmFrZXlbMF0gPSBzbmFrZXlb
MF0rMQogICAgICAgIGxlbmd0aCA9IGxlbmd0aCAtIDEKCmRlZiBhcHBsZXMoc2NyZWVuLHcp
OgogICAgZ2xvYmFsIGFwcGxleQogICAgZ2xvYmFsIGFwcGxleAogICAgeiA9IDEKICAgIGlm
IHcgPT0gMToKICAgICAgICB3aGlsZSB6ID09IDE6CiAgICAgICAgICAgIHogPSAwCiAgICAg
ICAgICAgIHggPSAwCiAgICAgICAgICAgIGFwcGxleSA9IHJhbmRvbS5yYW5kaW50KDIsMjIp
CiAgICAgICAgICAgIGFwcGxleCA9IHJhbmRvbS5yYW5kaW50KDIsMjMpKjIKICAgICAgICAg
ICAgZm9yIGkgaW4gc25ha2V5OgogICAgICAgICAgICAgICAgaWYgKGFwcGxleSA9PSBzbmFr
ZXlbeF0pIGFuZCAoYXBwbGV4ID09IHNuYWtleFt4XSk6CiAgICAgICAgICAgICAgICAgICAg
eiA9IDEKICAgICAgICAgICAgICAgIHggPSB4KzEKICAgIGxpbmUgPSBzY3JlZW5bYXBwbGV5
XQogICAgbGluZSA9IGxpbmVbOmFwcGxleF0rIkAiK2xpbmVbYXBwbGV4KzE6XQogICAgc2Ny
ZWVuW2FwcGxleV0gPSBsaW5lCiAgICByZXR1cm4gc2NyZWVuCiAgICAKICAgIAptb3ZlID0g
InciCm1vdmUxID0gIiIKd2hpbGUgbW92ZTEgIT0gIngiOgogICAgcHJpbnRzY3JlZW4oYXBw
bGUpCiAgICBhcHBsZSA9IDAKICAgIHNuYWtlID0gNSt0YXBwbGVzCiAgICBpZiBsb3NlID09
IDE6CiAgICAgICAgcHJpbnQgIllvdSBMb3NlIgogICAgICAgIHByaW50ICJZb3UgYXRlICIs
dGFwcGxlcywiIEFwcGxlcy4iCiAgICAgICAgbW92ZTEgPSAieCIKICAgIGVsc2U6CiAgICAg
ICAgVElNRU9VVCA9IDEKICAgICAgICBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLCB0
aW5wdXQpCiAgICAgICAgc2lnbmFsLmFsYXJtKFRJTUVPVVQpCiAgICAgICAgbW92ZTEgPSB0
aW5wdXQobW92ZSkKICAgICAgICBpZiBtb3ZlMSBpbiBbInciLCJhIiwicyIsImQiXToKICAg
ICAgICAgICAgbW92ZSA9IG1vdmUxCiAgICAgICAgc25ha2Vtb3ZlKG1vdmUpCg==

----318ca780db2e32115061--

