Hello,
I am just learning Python, and my first somewhat significant project is now
available at
http://web.bryant.edu/~bblais/python/vac.tgz
What is it?
Vacuum World is a simple simulation environment used to introduce some
concepts in
Artificial Intelligence (Norvig, 2002), but can also be used as a simple
introduction
to a programming language. In this case, of course, it is in Python. You
write
python scripts to control a vacuum cleaner in a simulated room of dirt and
furniture,
trying to vacuum up as much dirt and get back home to turn off. I've used wax
to
make a nice gui for running the simulator.
A sample agent might look like:
Forward()
if IsDirt():
Vacuum()
Off()
Some Questions:
As I was making this, I had a number of issues. I invite anyone who
cares to look
at the code to give me feedback about anything from GUI development, to code
organization, or anything else. I have a few questions right off the bat:
1) how is code like this usually distributed? Does one make a setup.py to
install it
somewhere, and are there certain files that should be in the distribution that
I
don't have? Should it include a windows binary from py2exe too?
2) I had some problems getting the center panel to fit right. I'd like to have
it so
that when I resize the board, that the window grows and shrinks to the right
size,
down to a minimum size (so I can still see the menus). I could do this, using
the
Fit() method, but I found at the smaller sizes the individual images in the
panel
started to have large (and growing) spaces between them. I'd rather the whole
board
be centered in the panel. I tried every combination of Pack() and Fit() and
expand=... and align=... , but couldn't get it to work.
3) what sorts of documentation are standard for this? is there a standard way
of
formatting docstrings (and am I thinking correctly that docstrings are just the
quoted strings right after a function declaration?)?
I'm sure that I will have more, but answers to these questions will get me a
long
way. Let me know what you think! Please be gentle, because this is really my
first
somewhat significant python project, so there is probably some cruft from my
Matlab
and C experience (stray semi-colons here and there, etc.)
thanks,
Brian Blais
--
-----------------
[EMAIL PROTECTED]
http://web.bryant.edu/~bblais
--
http://mail.python.org/mailman/listinfo/python-list