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