package examples; import jgame.*; import jgame.platform.*; public class Munchies extends StdGame { public static void main(String[]args) {new Munchies(parseSizeArgs(args,0));} public Munchies() { initEngineApplet(); } public Munchies(JGPoint size) { initEngine(size.x,size.y); } public void initCanvas() { setCanvasSettings(20,15,16,16,null,null,null); } public void initGame() { defineMedia("munchies.tbl"); if (isMidlet()) { setFrameRate(12,4); setGameSpeed(3.0); } else { setFrameRate(40,4); } //key_startgame = KeyMouse1; lives_img="munchie_g_l3"; startgame_ingame=true; } public void startTitle() { removeObjects(null,0); setMouseCursor(DEFAULT_CURSOR); playAudio("music","titlemusic",true); } public void initNewGame(int level_selected) { super.initNewGame(level_selected); stopAudio("music"); lives=4; } public void startInGame() { setMouseCursor(null); removeObjects(null,0); new Player(); for (int i=2; i<4+(level%3); i++) { new Munchie(random(0.0,pfWidth()-16),pfHeight()+8-i*tileHeight(), (2.5 - (0.3*(level%3)) )*random(-1,1,2)); } fillBG(""); } //public void initNewGame() { super.initNewGame();level=8;} public void startGameOver() { removeObjects(null,0); } public void doFrameInGame() { moveObjects(); checkCollision(1,4); // player hits spiders checkCollision(4,2); // spiders hit munchies if (checkTime(0, (int)(1500), (int)((63-level*3)))){ int tilepos; do { tilepos = random(1,pfTilesX()-2,1); } while (and(getTileCid(tilepos,0),1)); orTileCid(tilepos,0,1); new Spider(tilepos); } if (gametime >= 1500 && countObjects("spider",0) == 0) levelDone(); } public void incrementLevel() { stage++; level++; if (level > 10) level=8; } public void paintFrameLifeLost() { drawWavyString("Munchie Killed !",160,50,0,12,seqtimer, 5.0,0.5,0.1, title_font,JGColor.red); } public void paintFrameGameOver() { drawWavyString("Game Over !",160,50,0,12,seqtimer, 5.0,0.5,0.1, title_font,JGColor.red); } public void paintFrameStartLevel() { drawWavyString("Level "+(stage+1)+"!",160,50,0,12,seqtimer, 5.0,0.5,0.1, title_font,JGColor.yellow); } public void paintFrameStartGame() {} public void paintFrameLevelDone() { drawWavyString("Level Done !",160,50,0,12,seqtimer, 5.0,0.5,0.1, title_font,JGColor.yellow); } public void paintFrameTitle() { drawWavyString("Feed the Munchies",160,50,0,12,seqtimer, 5.0,0.5,0.05, title_font,JGColor.yellow); drawWavyString("Press "+getKeyDesc(key_startgame)+" to start",160,120,0,8,seqtimer, 5.0,0.5,0.05, status_font,JGColor.red); } public void drawWavyString(String s, int x,int y,JGColor col) { setColor(col); for (int i=0; i=4) { // indicate scissors can align with spider JGPoint cen=getCenterTile(); for (int i=1; i= pfHeight()-24) { setSpeedAbs(0,0); JGPoint cen=getCenterTile(); for (int i=1; i pfWidth() && xdir > 0) x = -tileWidth(); if (isXAligned()) { if (and(getTileCid(getCenterTile(),0,0),1)) { // open mouth for spider setGraphic(getGraphicName()+"_eat"); xdir=0; JGPoint cen=getCenterTile(); for (int i=1; i=pfTilesX()) cen.x = 0; if (and(getTileCid(cen.x,1),2)) { x = cen.x*tileWidth() + 3; y = 20; break; } } } if (getMouseButton(1)||getKey(key_fire)) { setGraphic("scissors_c"); if (!scissors_c) playAudio("scissors"); scissors_c=true; } else { setGraphic("scissors_o"); scissors_c=false; } } } }