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

Re: [pygame] newbie



grep is a unix command for searching files. All us cool Linux kids know 
it :)

But the Windows equivalent would just be to search in the pygame 
examples folder for any files that contain the word SLK_

---
James

On Mon, Mar 29, 2010 at 09:24:56PM +0100, snet-1@xxxxxxx wrote:
>    grep -r for "SDLK_" ? O.o
>     
>    Just so you know, i'm 100% new at programming, so all input is greatly
>    received and please be patient if I need everything spelled out.
>     
>    Thanks for the help Mark
>    From: 0wl
>    Sent: Sunday, March 28, 2010 9:06 PM
>    To: pygame-users@xxxxxxxx
>    Subject: Re: [pygame] newbie
>    Hi,
>    Here's a little trick: try grep -r for "SDLK_" for example in some game's
>    code, it will search recursively through all the game's files. this way
>    you do not have to reinvent the wheel.
>    Love, tullarisc.
> 
>    2010/3/26 <snet-1@xxxxxxx>
> 
>      These are gems Kris, thanks, if I had to figure all this out by trial &
>      error, i'd still be here till next millenium not have a beta churned
>      out!
> 
>      some one mentioned to look at  the mvc on another mailing list which is
>      what
>      i'm trying to follow, it kinda makes sense but my learning resources are
>      limited to the internet at the minute. I have been reading through the
>      codes of the games on pygame to get an idea of how it works thought they
>      can be quite difficult to follow & find how they have structured it, if
>      anyone feels the need to write a really simplified game & put it up on
>      pygame........... :.P
> 
>      The variables have no specific meaning bar easy reference as the numpad
>      on
>      my keyboard has arrows on it.
> 
>      I haven't had a chance to read through your sudjestions yet (on the
>      books 2nite) but I will get back with more Q's (if that's cool.
> 
>      If anyone's interested, Py Em Up has a really interesting way of
>      levelmakeing using bmp images
>      --------------------------------------------------
>      From: "Kris Schnee" <kschnee@xxxxxxxxxx>
>      Sent: Thursday, March 25, 2010 11:20 PM
>      To: <pygame-users@xxxxxxxx>
>      Subject: Re: [pygame] newbie
> 
>        On 3/25/2010 6:03 PM, snet-1@xxxxxxx wrote:
> 
>          Ah, yes I see what's happening, the last time I was doing it I was
>          using:
>          ...........KEYDOWN:
>          if event.key == K_LEFT:
>          foreward = True
>          ...........KEYUP:
>          if event.key == K_LEFT:
>          foreward = False
>          meaning it was staying true, until key up but now it's not keeping
>          the
>          output next time round & waiting for it again.
>          could you elaborate on this bit 'You could make the character move
>          every
>          frame (eg. setting a speed and
>          moving by that speed per frame) until a KEYUP event happens', or is
>          that
>          pretty much what I 'was' doing?
> 
>        If you said, "On a KEYDOWN event, set speed to N and set direction to
>        whatever; and on a KEYUP event, stop," then the result should be that
>        the
>        character keeps moving until you let go of the key. If you said, "On a
>        KEYDOWN event, move," then you should get one frame of movement each
>        time
>        you press (not hold) the key.
> 
>        My advice is to figure out what the player's trying to do first, like
>        "move right", and then actually execute the movement in a separate bit
>        of
>        code ("if moving right..."). That's useful for things like replacing
>        what
>        keys do what, or having some non-interactive event steer the
>        character.
> 
>          Could I use "keys_down = pygame.key.get_pressed" then
>          "if keys_down[K_RIGHT] ## move right",
> 
>          in this way:
>          class character():
>          ................
>          def update(self, d, sp):
>          if d == 6:
>          self.x += sp
>          elif d == 4:
>          self.x -= sp
>          elif d == 8:
>          self.y -= sp
>          elif d == 2:
>          self.y += sp
> 
>        Why use this odd numeric-keypad code for the direction? Other than the
>        variable names and that code, this looks usable. But think about
>        what'd
>        happen if I pressed RIGHT and UP at the same time: the code would see
>        the
>        RIGHT, set the direction to right, then probably see the UP (depending
>        on
>        which was mentioned last in the code) and change the direction to up.
> 
>        A different way to handle the movement would be something like:
>        player.coords = [42,100] ## some starting value
>        ## In a loop:
>        movement = [0,0]
>        if keys_down[K_RIGHT]:
>         movement[0] = speed
>        ...
>        if keys_down[K_UP]:
>         movement[1] = speed
>        ...
>        player.move(movement)
> 
>        def Move(movement):
>         self.coords[0] += movement[0]
>         self.coords[1] += movement[1]
> 
>        You'd then get diagonal movement, and not have to specify the
>        direction,
>        and could apply effects like muddy ground multiplying the X and Y
>        movement
>        by .5 or something. The actual diagonal speed would be sqrt(2) * speed
>        though, which might matter.
> 
>          def controls():
> 
>          output = 0
>          keysDown = pygame.key.get_pressed():
> 
>        Why is there a colon after the function call? That's only for defining
>        it.
> 
>        Are you familiar with the "Model/View/Controller" style of organizing
>        a
>        game, by the way? It's similar to what you're doing, and pretty
>        useful.