/* beta version 12.12.2008 */ /******************************************************************************************* * Graphics Section - Code that provides feedback to the user (behaviors) *******************************************************************************************/ PFont font; // Named references to images PImage cover; PImage menu1; PImage menu2; PImage menu3; PImage info; PImage map1; PImage map2; PImage map3; PImage ufo; PImage iCampo; PImage groupName; PImage g1; PImage g2; PImage g3; // related to random character /// PImage randomBg; PImage mask1; PImage mask2; PImage mask3; PImage mask4; PImage mask20[] = new PImage[5]; PImage ufo2; ///////////////////////////////////// PImage iCha; PImage iCha0; PImage beCha; PImage rules; PImage starts; PImage iS1; PImage mapSma; PImage iM2; PImage catching; PImage loadbarmove; PImage inlove; PImage [] heart = new PImage [5]; PImage iS3; PImage shout; PImage loser; PImage iS4; PImage iM4; PImage end; //// Function to load all the images void loadImages() { cover = loadImage("cover.png"); menu1 = loadImage("menu1.png"); menu2 = loadImage("menu2.png"); menu3 = loadImage("menu3.png"); info = loadImage("info.png"); map1 = loadImage("map1.png"); map2 = loadImage("map2.png"); map3 = loadImage("map3.png"); ufo = loadImage("ufo.png"); iCampo = loadImage("iCampo.png"); groupName = loadImage("groupName.png"); g1 = loadImage("g1.png"); g2 = loadImage("g2.png"); g3 = loadImage("g3.png"); // related to random character // randomBg= loadImage("randomBg.png"); mask1= loadImage("mask1.png"); mask2= loadImage("mask2.png"); mask3= loadImage("mask3.png"); mask4= loadImage("mask4.png"); for (int i=0;i<5;i++){ mask20[i] = loadImage ("mask20"+ i +".png"); } ufo2 = loadImage("ufo2.png"); ///// iCha = loadImage("iCha.png"); iCha0 = loadImage("iCha0.png"); beCha = loadImage("beCha.png"); rules = loadImage("rules.png"); starts = loadImage("starts.png"); iS1 = loadImage("iS1.png"); mapSma = loadImage("mapSma.png"); iM2 = loadImage("iM2.png"); catching = loadImage("catching.png"); loadbarmove = loadImage("loadbarmove.png"); inlove = loadImage("inlove.png"); for (int i=0;i<5;i++){ heart[i] = loadImage ("heart"+ i +".png"); } iS3 = loadImage("iS3.png"); shout = loadImage("shout.png"); loser = loadImage("loser.png"); iS4= loadImage("iS4.png"); iM4= loadImage("iM4.png"); end= loadImage("end.png"); } // Function to draw the cover screen void drawCover() { image(cover,0,0); if (countdown==64){ countdown=1; screenMode = SCREEN_MAPVE; } countdown++; } void drawMenu1() { image(menu1, 0, 0); } void drawMenu2() { image(menu2, 0, 0); } void drawMenu3() { image(menu3, 0, 0); } void drawInfo() { image(info, 0, 0); } ///////////// map of venice //////////// void drawMapVe() { image(map1, 0, 0); image(ufo,xa, ya); } void drawab(){ image(map1,0,0); if (xxa){ image(ufo,x, y); x=x-vx1; y=y+vy1; } else if (x==xa){ image(map1,0,0); image(ufo,xa, ya); } } void drawca(){ image(map3,0,0); if (x>xa){ image(ufo,x, y); x=x-vx2; y=y+vy2; } else if (x==xa){ image(map1,0,0); image(ufo,xa, ya); } } void drawcb(){ image(map3,0,0); if (x>xb){ image(ufo,x, y); x=x-vx3; y=y-vy3; } else if (x==xb){ image(map2,0,0); image(ufo,xb, yb); } } //////////////////////////////////////// void drawICampo() { image(iCampo, 0, 0); } void drawGroupName() { image(groupName, 0, 0); multitap(); String nickname = ""; for(int i = 0; i < multitapBufferIndex; i++){ nickname += multitapBuffer[i]; } text(nickname, 46, 218); } //groups selecting///// void drawG1() { image(g1, 0, 0); } void drawG2() { image(g2, 0, 0); } void drawG3() { image(g3, 0, 0); } //////////// void drawRandomBg() { image(randomBg, 0, 0); if (c<30){ image(randomBg,0,0); int x=random(1,4); if (x==1){ image(mask4,10,180); image(mask3,80,190); image(mask2,110,135); image(mask1,40,125); image(ufo2,40,125); } else if (x==2){ image(mask4,10,180); image(mask3,80,190); image(mask1,40,125); image(mask2,110,135); image(ufo2,110,135); } else if (x==3){ image(mask4,10,180); image(mask2,110,135); image(mask1,40,125); image(mask3,80,190); image(ufo2,80,190); } else if (x==4){ image(mask3,80,190); image(mask2,110,135); image(mask1,40,125); image(mask4,10,180); image(ufo2,10,180); } c++; } else if (c==30){ image(randomBg,0,0); image(mask4,10,180); image(mask3,80,190); image(mask1,40,125); image(mask2,110,135); image(ufo2,110,135); image(mask20[j],110,135); if (j<4){ j++; } } } void drawICha() { if (iarrow<4){ image(iCha, 0, 0); } else if (iarrow>4){ image(iCha0, 0, 0); } iarrow++; if (iarrow==8){ iarrow=0; } } void drawBeCha() { image(beCha, 0, 0); } void drawRules() { image(rules, 0, 0); } void drawStarts() { image(starts, 0, 0); beepstart.play(); } void drawIS1() { image(iS1, 0, 0); } void drawMapSma() { image(mapSma, 0, 0); } void drawIM2() { image(iM2, 0, 0); } void drawCatching() { image(loadbarmove, xload, 225); image(catching, 0, 0); xload+=1.5; } void drawInlove() { image(inlove, 0, 0); image(heart[i],0,0); i++; if (i==4){ i=0; } } void drawIS3() { image(iS3, 0, 0); } void drawShout() { int x = random(80,220); background(0); noStroke(); fill(255); ellipseMode(CENTER); ellipse(100,238,x,x); image(shout,0,0); } void drawLoser() { image(loser, 0, 0); } void drawIS4() { image(iS4, 0, 0); } void drawIM4() { image(loadbarmove, xload0, 245); image(iM4, 0, 0); xload0+=1.5; } void drawEnd() { image(end, 0, 0); } /******************************************************************************************* * Logic Section - Code that captures and interprets user input *******************************************************************************************/ ///////////////////////////////////////////////////////////////////////////////////////////// // Libraries - Additional libraries that your program requires ///////////////////////////////////////////////////////////////////////////////////////////// import processing.phone.*; import mjs.processing.mobile.msound.*; Phone myPhone; // Named reference to your phone MSound beepstart; ///////////////////////////////////////////////////////////////////////////////////////////// // Modes - Named states of the program to make code more readable (Constants) ///////////////////////////////////////////////////////////////////////////////////////////// // Names for each possible screen int prevscreenMode; int SCREEN_COVER = 0; int SCREEN_MENU1 = 101; int SCREEN_MENU2 = 102; int SCREEN_MENU3 = 103; int SCREEN_INFO = 1; int SCREEN_MAPVE = 2; int SCREEN_ICAMPO = 3; int SCREEN_GROUPNAME = 4; int SCREEN_G1 = 51; int SCREEN_G2 = 52; int SCREEN_G3 = 53; int SCREEN_RANDOMBG = 6; int SCREEN_ICHA = 71; int SCREEN_BECHA = 72; int SCREEN_RULES = 8; int SCREEN_STARTS = 9; int SCREEN_IS1 = 10; int SCREEN_MAPSMA = 11; int SCREEN_IM2 = 12; int SCREEN_CATCHING = 13; int SCREEN_INLOVE = 14; int SCREEN_IS3 = 15; int SCREEN_SHOUT = 16; int SCREEN_LOSER = 17; int SCREEN_IS4 = 18; int SCREEN_IM4 = 19; int SCREEN_END = 20; /////// variables related to cover ///////// int countdown=1; /////// variables related to map of venice ///////// int act=0; int x = 36; int y = 172; int xa = 36; int ya = 172; int xb = 66; int yb = 117; int xc = 126; int yc = 147; //speed ab int vx1= 6; int vy1= 11; //speed ac int vx2 = 18; int vy2 = 5; //speed bc int vx3 = 12; int vy3 = 6; /////// variables related to random character ///////// int xfinal; int j=0; int c=0; /////// variables related to loading bar ///////// int xload=-800; int xload0=-800; /////// variables related to inlove///////// int i=0; /////// variables related to shining arrow///////// int iarrow=0; ///////////////////////////////////////////////////////////////////////////////////////////// // State - Information collected from use (Variables) ///////////////////////////////////////////////////////////////////////////////////////////// int screenMode = SCREEN_COVER; // Overall mode of the application ///////////////////////////////////////////////////////////////////////////////////////////// // Events - Timed/Triggered events to keep the program running (Execution) ///////////////////////////////////////////////////////////////////////////////////////////// // Setup - Executes only once, prepares program to run (Logic Initialization) void setup() { myPhone = new Phone(this); // Creates a phone controller myPhone.fullscreen(); // Use the entire screen loadImages(); beepstart = MSoundManager.loadSound("BEEPKIND.WAV"); framerate(16); font = loadFont("Verdana-18.mvlw", color(0,0,0)); textFont(font); } // Draw - Executes forever, provides user feedback (Logic Repetition) void draw() { if(screenMode == SCREEN_COVER){ drawCover(); } else if(screenMode == SCREEN_MENU1){ drawMenu1(); } else if(screenMode == SCREEN_MENU2){ drawMenu2(); } else if(screenMode == SCREEN_MENU3){ drawMenu3(); } else if(screenMode == SCREEN_INFO){ drawInfo(); } else if(screenMode == SCREEN_MAPVE){ drawMapVe(); // select place if (act==1){ drawab(); } else if (act==2){ drawac(); } else if (act==3){ drawbc(); } else if (act==4){ drawba(); } else if (act==5){ drawca(); } else if (act==6){ drawcb(); } } else if(screenMode == SCREEN_ICAMPO){ drawICampo(); } else if(screenMode == SCREEN_GROUPNAME){ drawGroupName(); } else if(screenMode == SCREEN_G1){ drawG1(); } else if(screenMode == SCREEN_G2){ drawG2(); } else if(screenMode == SCREEN_G3){ drawG3(); } else if(screenMode == SCREEN_RANDOMBG){ drawRandomBg(); } else if(screenMode == SCREEN_ICHA){ drawICha(); } else if(screenMode == SCREEN_BECHA){ drawBeCha(); } else if(screenMode == SCREEN_RULES){ drawRules(); } else if(screenMode == SCREEN_STARTS){ drawStarts(); } else if(screenMode == SCREEN_IS1){ drawIS1(); } else if(screenMode == SCREEN_MAPSMA){ drawMapSma(); } else if(screenMode == SCREEN_IM2){ drawIM2(); } else if(screenMode == SCREEN_CATCHING){ drawCatching(); } else if(screenMode == SCREEN_INLOVE){ drawInlove(); } else if(screenMode == SCREEN_IS3){ drawIS3(); } else if(screenMode == SCREEN_SHOUT){ drawShout(); } else if(screenMode == SCREEN_LOSER){ drawLoser(); } else if(screenMode == SCREEN_IS4){ drawIS4(); } else if(screenMode == SCREEN_IM4){ drawIM4(); } else if(screenMode == SCREEN_END){ drawEnd(); } } /////////////////////////////////////////////////////////////////////////////////////////////////. // KeyPressed - Executes whenever a key is pressed, captures user input (User Input)//. ////////////////////////////////////////////////////////////////////////////////////////////////. void keyPressed() { // if showing Cover if(screenMode == SCREEN_COVER){ prevscreenMode = screenMode; // keep track of the Previous Screen /* // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Info else if(keyCode == SOFTKEY2){ screenMode = SCREEN_INFO; // show Info } else if(keyCode == FIRE){ screenMode = SCREEN_MAPVE; // show Map of Venice } */ } // if showing Info else if(screenMode == SCREEN_INFO){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_MAPVE; // show Map of venice } } /////////////////////////////////////// MENU //////////////////////////////////////////// // if showing Menu1 else if(screenMode == SCREEN_MENU1){ // if click Back if(keyCode == SOFTKEY2){ screenMode = prevscreenMode; // show Previous Screen } else if(keyCode == DOWN){ screenMode = SCREEN_MENU2; // show menu2 } else if(keyCode == FIRE){ exit(); } } // if showing Menu2 else if(screenMode == SCREEN_MENU2){ // if click Back if(keyCode == SOFTKEY2){ screenMode = prevscreenMode; // show Previous Screen } else if(keyCode == DOWN){ screenMode = SCREEN_MENU3; // show menu2 } else if(keyCode == UP){ screenMode = SCREEN_MENU1; // show menu2 } else if(keyCode == FIRE){ screenMode = SCREEN_GROUPNAME; // show groupname input } } // if showing Menu2 else if(screenMode == SCREEN_MENU3){ // if click Back if(keyCode == SOFTKEY2){ screenMode = prevscreenMode; // show Previous Screen } else if(keyCode == UP){ screenMode = SCREEN_MENU2; // show menu2 } else if(keyCode == FIRE){ screenMode = SCREEN_MAPVE; // show groupname input } } //////////////////////////////////// MAP of Venice /////////////////////////////////// // if showing Map of Venice else if(screenMode == SCREEN_MAPVE){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_INFO; // show info } //if click Ok else if(keyCode == FIRE){ screenMode = SCREEN_ICAMPO; // show Info of campo S.M } // if ufo is at point a else if (x==xa && y==ya){ if (keyCode==RIGHT){ act=1; } else if (keyCode == LEFT){ act=2; } } // if ufo is at point b else if (x==xb && y==yb){ if (keyCode==RIGHT){ act=3; } else if (keyCode == LEFT){ act=4; } } // if ufo is at point c else if (x==xc && y==yc){ if (keyCode==RIGHT){ act=5; } else if (keyCode == LEFT){ act=6; } } } // if showing Info of campo S.M else if(screenMode == SCREEN_ICAMPO){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_MAPVE; // show map } // if click Ok else if(keyCode == FIRE){ screenMode = SCREEN_GROUPNAME; // show Group Name Input } } // if showing Grounp Name Input else if(screenMode == SCREEN_GROUPNAME){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Groups if(keyCode == SOFTKEY1){ screenMode = SCREEN_G1; // show Groups } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_ICAMPO; // show info S.M } // if click Ok else if(keyCode == FIRE){ screenMode = SCREEN_RANDOMBG; // show Groups } } // if showing G1 else if(screenMode == SCREEN_G1){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_GROUPNAME; // show Input groupname } // if click Ok else if(keyCode == FIRE){ screenMode = SCREEN_RANDOMBG; // show Groups } // if click down else if(keyCode == DOWN){ screenMode = SCREEN_G2; // show Groups } } // if showing G2 else if(screenMode == SCREEN_G2){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_GROUPNAME; // show Input groupname } // if click Ok else if(keyCode == FIRE){ screenMode = SCREEN_RANDOMBG; // show Groups } // if click down else if(keyCode == DOWN){ screenMode = SCREEN_G3; // show Groups } else if(keyCode == UP){ screenMode = SCREEN_G1; // show Groups } } // if showing G1 else if(screenMode == SCREEN_G3){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_GROUPNAME; // show Input groupname } // if click Ok else if(keyCode == FIRE){ screenMode = SCREEN_RANDOMBG; // show Groups } // if click down else if(keyCode == UP){ screenMode = SCREEN_G2; // show Groups } } // if showing RandomBg else if(screenMode == SCREEN_RANDOMBG){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_GROUPNAME; // show Input groupname } // if click Ok else if(keyCode == FIRE){ screenMode = SCREEN_ICHA; // show Info Cha } } // if showing Info Cha else if(screenMode == SCREEN_ICHA){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Rules if(keyCode == SOFTKEY1){ screenMode = SCREEN_RULES; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_RANDOMBG; // show Input groupname } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_BECHA; // show Behavior Cha } } // if showing Behavior Cha else if(screenMode == SCREEN_BECHA){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Rules if(keyCode == SOFTKEY1){ screenMode = SCREEN_RULES; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_ICHA; // show Input groupname } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_STARTS; // show Story Starts } } // if showing Rules else if(screenMode == SCREEN_RULES){ // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = prevscreenMode; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_STARTS; // show Story Starts } } // if showing Story Starts else if(screenMode == SCREEN_STARTS){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_BECHA; // show Input groupname } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_IS1; // show Story Starts } } // if showing Info of story 1 else if(screenMode == SCREEN_IS1){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_STARTS; // show Input groupname } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_MAPSMA; // show Story Starts } } // if showing Map S.M else if(screenMode == SCREEN_MAPSMA){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_IS1; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_IM2; // show Story Starts } } // if showing info Of mission 2 else if(screenMode == SCREEN_IM2){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_MAPSMA; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_CATCHING; // show CATCHING } } // if showing Catching else if(screenMode == SCREEN_CATCHING){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_IM2; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_INLOVE; // show CATCHING } } // if showing INLOVE else if(screenMode == SCREEN_INLOVE){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_CATCHING; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_IS3; // show CATCHING } } // if showing Info story 3 else if(screenMode == SCREEN_IS3){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_INLOVE; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_SHOUT; // show CATCHING } } // if showing shouting else if(screenMode == SCREEN_SHOUT){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_IS3; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_LOSER; // show CATCHING } } // if showing loser else if(screenMode == SCREEN_LOSER){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_SHOUT; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_IS4; // show CATCHING } } // if showing info story 4 else if(screenMode == SCREEN_IS4){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_LOSER; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_IM4; // show CATCHING } } // if showing mission 4 else if(screenMode == SCREEN_IM4){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } // if click Back else if(keyCode == SOFTKEY2){ screenMode = SCREEN_IS4; // } // if click NEXT else if(keyCode == FIRE){ screenMode = SCREEN_END; // show CATCHING } } // if showing mission 4 else if(screenMode == SCREEN_END){ prevscreenMode = screenMode; // keep track of the Previous Screen // if click Menu if(keyCode == SOFTKEY1){ screenMode = SCREEN_MENU1; // show Menu } } }