On Sun, Mar 7, 2010 at 2:30 PM, Evan Kroske <[email protected]> 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