[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] Sprite Collision
- To: pygame-users@xxxxxxxx
- Subject: Re: [pygame] Sprite Collision
- From: "Ian Clark" <turbana@xxxxxxxxx>
- Date: Mon, 30 Apr 2007 16:50:25 -0700
- Delivered-to: archiver@seul.org
- Delivered-to: pygame-users-outgoing@seul.org
- Delivered-to: pygame-users@seul.org
- Delivery-date: Mon, 30 Apr 2007 19:50:35 -0400
- Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=EtMir2ytv3qNkU7dwRSHbqVuXoH711WAz/J+BU22qsqw+xUEgDRZytJKwyGnvc9OOCmsYW50nzT4d7q5Uqckj6fOx0OZJfX8vMhqYhNMQCqFOJ2/V5et92f+f0qM17C+zqJmBpSfmpdmKlwJXtUjfjbhIzPiwQDVDc+H9YOYCv8=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=mj1fo0hCB5E6lZl/Rr5uFTNu917ZbbeDoSfSnpPSiX9yApMhMb0Qq6ga+1/Fowdlv1/8Ps660ESyux2sC6elTxZs3tPw/9UbPSj3jKIKKyw0hI7rHHyWqTi1Ce8Ela9T0x69CI4zfRnTt+vRhbn1uZVvx6BstEWosIeFLrVCE/4=
- In-reply-to: <3F368A88-D519-4F3A-9F66-721451F02622@pandora.com>
- References: <4635F578.7010701@speakeasy.net> <3F368A88-D519-4F3A-9F66-721451F02622@pandora.com>
- Reply-to: pygame-users@xxxxxxxx
- Sender: owner-pygame-users@xxxxxxxx
On 4/30/07, Casey Duncan <casey@xxxxxxxxxxx> wrote:
passible_at = [[True] * 100] * 100 # Create a 2 dimensional list with
an element for each tile
This does not do what you think it would:
passible_at = [[True] * 3] * 4
passible_at
[[True, True, True], [True, True, True], [True, True, True], [True, True, True]]
passible_at[0][0] = False
passible_at
[[False, True, True], [False, True, True], [False, True, True],
[False, True, True]]
One way to get what you're talking about is as follows:
rows = 4
cols = 3
passible_at = []
for _ in xrange(rows):
... passible_at.append( [True] * cols )
...
passible_at
[[True, True, True], [True, True, True], [True, True, True], [True, True, True]]
passible_at[0][0] = False
passible_at
[[False, True, True], [True, True, True], [True, True, True], [True,
True, True]]
Someone more skilled than I can explain *why* the first one does what
it does. I just know one way to get around it (and I'm sure there's a
more elegant solution).
Ian