int gameMode=0;//0 - menu, 1 - play game, 2 - instructions, 3 - character selection
int selChar=1;//default character is "character 1"
int level=1;
color red=color(255, 0, 0);
color green=color(0, 255, 0);
color blue=color(0, 0, 255);
boolean moveRight=false;
boolean moveLeft=false;
boolean moveDown=false;
boolean moveUp=false;
int x=50;
boolean[] keys=new boolean[128];
int[] v={4, 0};//horizontal and vertical velocity
int[] g1={0, 0, -968};
int[] g2={968, 0, -968};
PImage pic1;
PImage pic2;
int speed=-5;
int[] g3={0, 0, -108};
int[] g4={108, 0, -108};
PImage pic3;
PImage pic4;
PImage a;
PImage b;
PImage c;
void setup() {
size(800, 600);
a = loadImage("mario.png");
b = loadImage("luigi.png");
c = loadImage("Yoshi.png");
pic1=loadImage("back.png");
pic2=loadImage("back1.png");
pic3=loadImage("ground1.png");
pic4=loadImage("ground2.png");
}
void draw() {//runs forever
background(red);
if (gameMode==0){
mainMenu();
}
else if (gameMode==1){
playL1();
}
else if (gameMode==2)
controls();
else if (gameMode==3)
select();
}//end draw
void playL1(){
image(pic1, g1[0], g1[1]);
image(pic2, g2[0], g2[1]);
g1[0] = g1[0] + speed;//moving left
if (g1[0] + speed < g1[2]) {
g1[0] = -g2[2];
}
g2[0] = g2[0] + speed;//moving left
if (g2[0] + speed < g2[2]) {
g2[0] = -g1[2];
}
image(pic3, g3[0], g3[1]);
image(pic4, g4[0], g4[1]);
g3[0] = g3[0] + speed;//moving left
if (g3[0] + speed < g3[2]) {
g3[0] = -g4[2];
}
g4[0] = g4[0] + speed;//moving left
if (g4[0] + speed < g4[2]) {
g4[0] = -g3[2];
}
} //end playL1
void controls() {
textSize(35);
fill(255);
text("press spacebar to jump",150,150);
text("move you characters", 150, 250);
text("collect coins",150,350);
text("avoid the enemies",150,450);
backToMain();
}
void select() {//character select
textAlign(LEFT);
textSize(20);
fill(0);//black
//displaying all characters
rect(200, 50, 100, 100);
rect(350, 50, 100, 100);
rect(500, 50, 100, 100);
if (mouseIn(200, 50, 100, 100)) {
fill(blue);
rect(200, 50, 100, 100);
if (mousePressed) {
selChar=1;//1 could mean Mario
gameMode=0;//main menu
}
}
if (mouseIn(350, 50, 100, 100)) {
fill(blue);
rect(350, 50, 100, 100);
if (mousePressed) {
selChar=2;//2 could mean Luigi
gameMode=0;
}
}
if (mouseIn(500, 50, 100, 100)) {
fill(blue);
rect(500, 50, 100, 100);
if (mousePressed) {
selChar=3;//3 could be Yoshi
gameMode=0;
}
}
fill(255);
text("Char 1", 210, 100);
text("Char 2", 360, 100);
text("Char 3", 510, 100);
backToMain();
}//end select
void mainMenu() {
textAlign(LEFT);
textSize(35);
fill(blue);
text("START", 350, 430);
text("INSTRUCTIONS", 290, 490);
text("CHARACTERS", 295, 555);
image(a, 200, 0, 150, 200);
image(b, 80, 250, 200, 250);
image(c,600,200,150,200);
if (mouseIn(330, 400, 150, 35)) {//"play"
fill(0);
text("START", 350, 430);
if (mousePressed) {
gameMode=1;
}
}
if (mouseIn(280, 460, 270, 35)) {//"instructions"
fill(0);
text("INSTRUCTIONS", 290, 490);
if (mousePressed) {
gameMode=2;
}
}
if (mouseIn(285, 525, 240, 35)) {//"characters"
fill(0);
text("CHARACTERS", 295, 555);
if (mousePressed) {
gameMode=3;
}
}
fill(255);
textSize(60);
text("Super Mario ", 230, 300);
}//end mainMenu
void backToMain() {
textAlign(LEFT);
textSize(20);
fill(green);
rect(20, 550, 120, 40);
fill(blue);
text("Menu", 50, 580);
if (mouseIn(20, 550, 120, 40)) {//"back to menu"
fill(0);
text("Menu", 50, 580);
if (mousePressed) {
gameMode=0;
}
}
}//end backToMain
void movePlayer() {
if (keys[39]) {//39 is the code for the RIGHT arrow key
v[0]=4;
moveRight=true;
} else {
moveRight=false;
}
if (keys[37]) {//37 is LEFT
v[0]=-4;
moveLeft=true;
} else {
moveLeft=false;
}
if (keys[40]) { //40 is DOWN
v[1]=4;
moveDown=true;
} else {
moveDown=false;
}
if (keys[38]) { //38 is UP
v[1]=-4;
moveUp=true;
} else {
moveUp=false;
}
}//end movePlayer
void keyPressed() {
//println(keyCode+" was pressed");
//keys[keyCode]=true;
}
void keyReleased() {
//println(keyCode+" was released");
//keys[keyCode]=false;
}
//The function returns true if the mouse pointer is INSIDE the rectangle, otherwise returns false
boolean mouseIn(int left, int top, int w, int h) {
return (mouseX > left && mouseX < left+w && mouseY > top && mouseY < top+h);
}//end mouseIn
This appears to be a duplicate post of this:
Please read:
https://discourse.processing.org/faq#keep-tidy
:)
1 Like