import ddf.minim.*; import ddf.minim.signals.*; import ddf.minim.analysis.*; import ddf.minim.effects.*; import pphys2d.bodies.*; import pphys2d.joints.*; import pphys2d.shapes.*; import pphys2d.phys2d.raw.collide.*; import pphys2d.phys2d.raw.strategies.*; import pphys2d.phys2d.raw.forcesource.*; import pphys2d.phys2d.util.*; import pphys2d.phys2d.raw.shapes.*; import pphys2d.*; import pphys2d.phys2d.raw.*; import pphys2d.phys2d.math.*; //Import all Phys2D libraries import pphys2d.bodies.*; import pphys2d.joints.*; import pphys2d.shapes.*; import pphys2d.phys2d.raw.collide.*; import pphys2d.phys2d.raw.strategies.*; import pphys2d.phys2d.raw.forcesource.*; import pphys2d.phys2d.util.*; import pphys2d.phys2d.raw.shapes.*; import pphys2d.*; Level currentLevel;// = new LevelTitle(); Minim minim; AudioSnippet music; AudioSnippet windSound; AudioSnippet winLevelSound; int levelCounter = 0; void setup () { textFont(loadFont("AkbarPlain-24.vlw")); //Set size and framerate frameRate(60); size(500,400); minim = new Minim(this); // currentLevel = new LevelTitle(); currentLevel = new LevelTitle(); currentLevel.setup(this); currentLevel.reset(); music = minim.loadSnippet("sounds/music.mp3"); music.setGain(5); music.play(); music.loop(); windSound = minim.loadSnippet("sounds/wind.mp3"); windSound.setGain(-10); windSound.play(); windSound.loop(); } void draw () { currentLevel.draw(); if(msg != null){ fill(0); text(msg,25,25); } if(currentLevel.isDone()){ advanceLevel(); } } void advanceLevel(){ levelCounter++; switch (levelCounter) { case 1: currentLevel = new LevelTraining(); break; case 2: currentLevel = new LevelLongshot(); break; case 3: currentLevel = new LevelChameleon(); break; case 4: currentLevel = new LevelPitcher(); break; case 5: currentLevel = new LevelGravity(); break; case 6: currentLevel = new LevelSplitter(); break; case 7: currentLevel = new LevelManyLeaves(); break; case 8: currentLevel = new LevelEnd(); break; default: currentLevel = new LevelTitle();break; } if(levelCounter > 8) { levelCounter = 0; } if (winLevelSound == null) winLevelSound = minim.loadSnippet("sounds/success.mp3"); winLevelSound.rewind(); winLevelSound.play(); currentLevel.setup(this); currentLevel.reset(); } void keyPressed(){ if(key == 'n' || key=='N' ){ advanceLevel(); } } String msg = null; void setMsg(String msg){ this.msg = msg; } void mouseMoved(){ currentLevel.mouseMoved(); } void mousePressed(){ currentLevel.mousePressed(); } void mouseReleased(){ currentLevel.mouseReleased(); } void mouseDragged(){ currentLevel.mouseDragged(); }