2024年10月28日 星期一

Week08 game

 week08_1_int_page_if_page_0_1


PImage img;
void setup(){
  size(2390,1312);
  img=loadImage("img.png");
}

int page=0;
void draw(){
  if(page==0){
    background(0);
    textSize(70);
    textAlign(CENTER,CENTER);
    text("Opening",320,240);
  }else if(page==1){
    background(img);
  }
}
void mousePressed(){
  if(page==0) page=1;
}

week08_2_RPG_background_474_269_rect_32_32









PImage img;
void setup(){
  size(474,269);
  img=loadImage("r.jpg");
}
void draw(){
  background(img);
  for(int i=0;i<15;i++){
    for(int j=0;j<20;j++){
      noFill();
      rect(j*32,i*32,32,32);
    }
  }
}

week08_3_RPG_PImage_createImage_copy_save
#可以存圖檔#










PImage img;
void setup(){
  size(474,269);
  img=loadImage("r.jpg");
}
void draw(){
  background(img);
  for(int i=0;i<15;i++){
    for(int j=0;j<20;j++){
      noFill();
      stroke(0);
      rect(j*32,i*32,32,32);
    }
  }
  stroke(255,0,0);
  rect(J*32,I*32,32,32);
}
int I=-1,J=-1;
void mouseMoved(){
  I=mouseY/32;
  J=mouseX/32;
}
void mousePressed(){
  PImage now=createImage(32,32,RGB);
  now.copy(img,J*32,I*32,32,32,0,0,32,32);
  now.save("1.jpg");
}

week08_4_RPG_2D_array_floor_map










int [][] floor={
  {1,1}
};
PImage img;
PImage [] fimg=new PImage[40]
void setup(){
  size(474,269);
  img=loadImage("r.jpg");
  for(int i=1;i<22;i++) fimg[i]=loadImage(i+".png");
}
void draw(){
  //background(img);
  for(int i=0;i<3;i++){
    for(int j=0;j<20;j++){
      int now=floor[i][j];
      image(fimg[now],j*32,i*32);
    }
  }
}

week08_5_RPG_user_move_userJ_userI_keyPressed










int [][] floor={
  {1,1}
};
PImage img,user;
PImage [] fimg=new PImage[40]
void setup(){
  size(474,269);
  img=loadImage("r.jpg");
  user=loadImage("15.png")
  for(int i=1;i<22;i++) fimg[i]=loadImage(i+".png");
}
int userI=12,userJ=15;
void draw(){
  //background(img);
  for(int i=0;i<3;i++){
    for(int j=0;j<20;j++){
      int now=floor[i][j];
      image(fimg[now],j*32,i*32);
    }
  }
  image(user,userJ*32,userI*32);
}
void keyPressed(){
  if(keyCode==RIGHT) userJ++;
  if(keyCode==LEFT) userJ--;
  if(keyCode==UP) userI--;
  if(keyCode==DOWN) userI++;
}

week08_6_RPG_wall_detection










int [][] floor={
  {1,1}
};
PImage img,user;
PImage [] fimg=new PImage[40]
void setup(){
  size(474,269);
  img=loadImage("r.jpg");
  user=loadImage("15.png")
  for(int i=1;i<22;i++) fimg[i]=loadImage(i+".png");
}
int userI=12,userJ=15;
void draw(){
  //background(img);
  for(int i=0;i<3;i++){
    for(int j=0;j<20;j++){
      int now=floor[i][j];
      image(fimg[now],j*32,i*32);
    }
  }
  image(user,userJ*32,userI*32);
}
void keyPressed(){
  int newI=userI,newJ=userJ
  if(keyCode==RIGHT) newJ++;
  if(keyCode==LEFT) newJ--;
  if(keyCode==UP) newI--;
  if(keyCode==DOWN) newI++;
  if(floor[newI][newJ]==!=1 && floor[newI][newJ]==!=3){
    userI=newI;
    userJ=newJ;
  }
}

week08_7_RPG_eat_good








int [][] floor={
  {1,1}
};
PImage img,user;
PImage [] fimg=new PImage[40]
void setup(){
  size(474,269);
  img=loadImage("r.jpg");
  user=loadImage("15.png")
  for(int i=1;i<22;i++) fimg[i]=loadImage(i+".png");
}
int userI=12,userJ=15;
void draw(){
  //background(img);
  for(int i=0;i<3;i++){
    for(int j=0;j<20;j++){
      int now=floor[i][j];
      image(fimg[now],j*32,i*32);
    }
  }
  image(user,userJ*32,userI*32);
  if(gameOver) background(0,255,0);
}
boolean gameOver=false;
void keyPressed(){
  int newI=userI,newJ=userJ
  if(keyCode==RIGHT) newJ++;
  if(keyCode==LEFT) newJ--;
  if(keyCode==UP) newI--;
  if(keyCode==DOWN) newI++;
  if(floor[newI][newJ]==!=1 && floor[newI][newJ]==!=3){
    userI=newI;
    userJ=newJ;
    if(floor[newI][newJ]==21) gameOver=true;
    floor[newI][newJ]=2;
  }
}

week08_8_RPG_show_inform










int [][] floor={
  {1,1}
};
PImage img,user;
PImage [] fimg=new PImage[40]
void setup(){
  size(474,269);
  img=loadImage("r.jpg");
  user=loadImage("15.png")
  for(int i=1;i<22;i++) fimg[i]=loadImage(i+".png");
}
int userI=12,userJ=15;
void draw(){
  //background(img);
  for(int i=0;i<3;i++){
    for(int j=0;j<20;j++){
      int now=floor[i][j];
      image(fimg[now],j*32,i*32);
    }
  }
  image(user,16,16);
  textSize(30);
  text("Level: "+level,16,90);
  textSize(20);
  text("Live: "+live,16,140);
  text("Attack: "+attack,16,170);
  text("Defense: "+defense,16,200);
  text("Magic: "+magic,16,230);
  text("Exp: "+exp,16,260);
  text("Coins: "+cpin,16,290);
  image(user,userJ*32,userI*32);
  if(gameOver) background(0,255,0);
}
int level=1,live=2693,attack=14,defense=16,magic=10,exp=72,coin=72;
boolean gameOver=false;
void keyPressed(){
  int newI=userI,newJ=userJ
  if(keyCode==RIGHT) newJ++;
  if(keyCode==LEFT) newJ--;
  if(keyCode==UP) newI--;
  if(keyCode==DOWN) newI++;
  if(floor[newI][newJ]==!=1 && floor[newI][newJ]==!=3){
    userI=newI;
    userJ=newJ;
    if(floor[newI][newJ]==21) gameOver=true;
    floor[newI][newJ]=2;
  }
}

week08_9_RPG_attack_mage










int [][] floor={
  {1,1}
};
PImage img,user;
PImage [] fimg=new PImage[40]
void setup(){
  size(474,269);
  img=loadImage("r.jpg");
  user=loadImage("15.png")
  for(int i=1;i<22;i++) fimg[i]=loadImage(i+".png");
}
int userI=12,userJ=15;
void draw(){
  //background(img);
  for(int i=0;i<3;i++){
    for(int j=0;j<20;j++){
      int now=floor[i][j];
      image(fimg[now],j*32,i*32);
    }
  }
  image(user,16,16);
  textSize(30);
  text("Level: "+level,16,90);
  textSize(20);
  text("HP: "+hp,16,140);
  text("Attack: "+attack,16,170);
  text("Defense: "+defense,16,200);
  text("Magic: "+magic,16,230);
  text("Exp: "+exp,16,260);
  text("Coins: "+cpin,16,290);
  image(user,userJ*32,userI*32);
  if(gameOver) background(0,255,0);
}
int level=1,hp=2693,attack=14,defense=16,magic=10,exp=72,coin=72;
int gameOver=0;
void keyPressed(){
  int newI=userI,newJ=userJ
  if(keyCode==RIGHT) newJ++;
  if(keyCode==LEFT) newJ--;
  if(keyCode==UP) newI--;
  if(keyCode==DOWN) newI++;
  if(floor[newI][newJ]==9){
    if(hp-10<=0) gameOver=2;
    else{
      hp-=10;
      coin+=10;
      exp+=1;
      userI=newI;
      userJ=newJ;
      floor[newI][newJ]=2;
    }
  }else if(floor[newI][newJ]==!=1 && floor[newI][newJ]==!=3){
    userI=newI;
    userJ=newJ;
    if(floor[newI][newJ]==21) gameOver=true;
    floor[newI][newJ]=2;
  }
}

沒有留言:

張貼留言