On Sun, Mar 7, 2010 at 2:30 PM, Evan Kroske <e.kro...@gmail.com> wrote:

> I plan to make my framework much simpler by restricting the game
> developer's options
>
>
> I plan to make my framework much simpler by restricting the game
> developer's options to hide complexity. Here's an idea of the type of code a
> developer using my framework would write to create a simple platformer with
> a single level:
>
> from insta.menu import *
> from insta.platformer import *
>
> def startMenu():
>
>   titleScreen = Screen(600, 400)
>   titleScreen.setTheme(themes.MEDIEVAL)
>   titleScreen.setTitle("Porcupine's Tiny Adventure")
>   titleScreen.setOptions(["Play", "Controls", "Credits"])
>   titleScreen.getOption("Play").setAction(startGame)
>   # More code for other menu options
>
> def startGame():
>
>   game = Game()
>     hero = Player()
>   hero.setSprite("standing.gif")
>   hero.setRunningSprites(["running1.gif", "running2.gif", "running3.gif"])
>   hero.setJumpSprite("jumping.gif")
>   hero.setDeathSprite("gravestone.gif")
>     hero.setMovementTriggers(constants.ARROW_KEYS)
>   hero.setJumpTrigger(constants.SPACE_BAR)
>     goal = Item()
>   goal.setSprite("bigring.gif")
>   goal.setBehavior(constants.FLOATING)
>   goal.setAction(game.nextLevel)
>     itemGenerator = ItemGenerator([None, goal, hero])
>   [snip...]
>

Personally I _HATE_ the setSomething notation you're using.  one of the
reasons I don't use Java is so I don't have to deal with setters and
getters.  It's an extra 4 keystrokes per function call! (if you include the
"shift" to make the 4th letter uppercase).
also, most of your setters/getters are just gonna be setting variables
behind the scenes so it makes more sense to use properties and to use
variable syntax.  Eg.
hero.running_sprites = ["running1.gif", "running2.gif", "running3.gif"]

doesn't that make a lot more sense?

Also I agree that this doesn't have that much relevance to GSoC as far as
I'm concerned, but you should still pursue the project if it is something
you want to do!

-Luke
-Luke

Reply via email to