It sounds like you're thinking about it the wrong way - you probably want to give the bullet an initial direction (which in this case is probably only left or right) and then have the bullet move depending on that initial direction. You could achieve this quite easily by setting a value in the bullet's constructor accordingly.
It's possible the zip file was corrupted somehow on uploading - the same thing happens with me, and winrar throws quite a few warnings on extracting it. Perhaps try uploading the source again?
Well, you can use the addObject() method in the world class to add the bullet at a specified location, and you can get Samus' location using getX() and getY()... Should be able to work it out from there!
Another suggestion if you're still looking to improve: at the moment when she stops her image (see, i'm getting used to this female thing :P) is often stuck as a "running" one. A simple check to reset the image if neither arrow key is pressed should sort that out easily.
Nice update! If you want to take it a bit further you could make the animation of the falling dominoes smoother (i.e. show the domino falling gradually rather than in one step.) It shouldn't be too difficult to do, just stretching the image's height from 0 pixels to full size may well prove enough of an illusion :)
"I'm confused about whether you are in the actor class; shouldn't it be getWorld().addObject(etc)?"
The code to initialise objects for the first time (i.e. adding ground and suchlike) will (usually) go in the world's constructor rather than an actor. If the ground was being added from an actor then yes, it'd be getWorld().addObject() - but since it's being created directly from a subclass of world, the addObject method is called directly :-)
2009/5/4
Metroid NES
2009/5/3
Super Mario Bros. Scrolling
2009/5/3
Metroid NES
2009/5/3
Super Mario Bros. Scrolling
2009/5/3
Metroid NES
2009/5/3
Metroid NES
2009/5/3
Domino Fall Chain Reactions
2009/5/3
Castle Defense
2009/5/3
Metroid NES