[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] Enter name before game starts
Thanks for the example Daniel. That'll help a bunch.
On Tue, 27 Apr 2010 08:24:11 -0400, Daniel Tousignant-Brodeur wrote:
I'd have to second Kris on that one. State Management should make your
code cleaner and simpler! At least, it does in my case.
Daniel Tousignant-Brodeur
On Tue, Apr 27, 2010 at 3:56 AM, Kris Schnee wrote:
On 2010.4.27 3:01 AM, Alex Nordlund wrote:
Basically, I'd like to have the game start, present a screen for the
user
to enter their name, then move to the main game loop.
I solved this by having a state variable in my game's mainclass, one
that keeps track of where the game is.
Thanks to sjbrown I have a very nice way of handling input so it was
easy as pie!
I do state management with a homemade module called "ringtale" (
http://kschnee.xepher.net/code/ringtale.py.txt [2] ). The idea is that
there's a main loop that handles Pygame events (including QUIT), and calls
self.Logic() and self.Draw(), where those two functions are redefined
based
on a current state. Eg. if it's told to push a state called "Spam" onto
its
stack of states, it'll look for functions named SpamDraw and SpamLogic,
and
say self.Logic = self.SpamLogic until further notice. So that's one way of
doing things like a name-entry screen, even in the beginning or middle of
another set of functions.
Links:
------
[1] mailto:kschnee@xxxxxxxxxx
[2] http://kschnee.xepher.net/code/ringtale.py.txt