2024年10月28日 星期一

week08

 //week08_1_int_page_if_page_0_1

PImage img;
void setup(){
  size(640,480);
  img = loadImage("640x480.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_1_int_page_if_page_0_1

//week08_02_RPG_background640480rect_32_32
PImage img;
void setup(){
  size(640,480);//15格=480, 480/15=32=小圖大小
  img = loadImage("640x480.png");
}

void draw(){
    background(img);
    for(int i=0;i<15;i++){//高度480 對應y座標 右手i
    for(int j=0;j<20;j++){//寬度640 對應x座標 右手j
      noFill();
      rect(j*32,i*32,32,32);//格子大小是32x32
    }
  }
}
week08_02_RPG_background640480rect_32_32

//week08_03_RPG_PImage_copy_createImage_copy_save
PImage img;
void setup(){
  size(640,480);//15格=480, 480/15=32=小圖大小
  img = loadImage("640x480.png");
}

void draw(){
    background(img);
    for(int i=0;i<15;i++){//高度480 對應y座標 右手i
    for(int j=0;j<20;j++){//寬度640 對應x座標 右手j
      noFill();
      stroke(0);
      rect(j*32,i*32,32,32);//格子大小是32x32
    }
  }
  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(640,480,RGB);
  //now.copy(img,0,0,640,480,0,0,640,480);
  PImage now=createImage(32,32,RGB);
  now.copy(img,J*32,I*32,32,32,0,0,32,32);
  now.save("1.png");
}
week08_03_RPG_PImage_copy_createImage_copy_save

//week08_04_RPG_2d_array_floor_map
int [][]floor = {
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,19,3,22,3,22,9,2,2,2,9,16,1,5},
  {4,1,1,1,5,4,1,2,3,18,3,9,9,9,2,2,2,9,1,5},
  {4,1,1,1,5,4,1,11,3,9,3,10,16,10,3,3,6,3,1,5},
  {4,1,1,1,5,4,1,2,6,2,3,19,10,16,3,10,13,10,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5}
};
PImage img;
PImage [] fimg=new PImage[40];
void setup(){
  size(640,480);//15格=480, 480/15=32=小圖大小
  img = loadImage("640x480.png");
  for(int i=1;i<=22;i++) fimg[i]=loadImage(i+".png");
}
void draw(){
   for(int i=0;i<floor.length;i++){//高度480對應Y座標
     for(int j=0;j<20;j++){
       int now =floor[i][j];
       image(fimg[now],j*32,i*32);
     }
   }
}

week08_04_RPG_2d_array_floor_map

//week08_05_RPG_user_move_userJ_userI_keyPressed
int [][]floor = {
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,19,3,22,3,22,9,2,2,2,9,16,1,5},
  {4,1,1,1,5,4,1,2,3,18,3,9,9,9,2,2,2,9,1,5},
  {4,1,1,1,5,4,1,11,3,9,3,10,16,10,3,3,6,3,1,5},
  {4,1,1,1,5,4,1,2,6,2,3,19,10,16,3,10,13,10,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
  {4,1,1,1,5,4,1,1,1,1,1,1,1,1,1,1,1,1,1,5}
};
PImage img,user;
PImage [] fimg=new PImage[40];
void setup(){
  size(640,480);//15格=480, 480/15=32=小圖大小
  img = loadImage("640x480.png");
  user=loadImage("15.png");
  for(int i=1;i<=22;i++) fimg[i]=loadImage(i+".png");
}
int userI=12,userJ=15;
void draw(){
   for(int i=0;i<floor.length;i++){//高度480對應Y座標
     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_05_RPG_user_move_userJ_userI_keyPressed

//week08_06_RPG_keyPressed_newI_newJ
int [][]floor = {
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},
  {4,1,1,1,5,4,1,19, 3,22, 3,22, 9, 2, 2, 2, 9,16, 1,5},
  {4,1,1,1,5,4,1, 2, 3,18, 3, 9, 9, 9, 2, 2, 2, 9, 1,5},
  {4,1,1,1,5,4,1,11, 3, 9, 3,10,16,10, 3, 3, 6, 3, 1,5},
  {4,1,1,1,5,4,1, 2, 6, 2, 3,19,10,16, 3,10,13,10, 1,5},
  {4,1,1,1,5,4,1,11, 3, 2, 3, 3, 3, 3, 3, 2,10,16, 1,5},
  {4,1,1,1,5,4,1,18, 3, 2, 2, 2,11,10, 2, 2,23,10, 1,5},
  {4,1,1,1,5,4,1,17, 3, 3,24, 3, 3, 3, 3, 2,10,10, 1,5},
  {4,1,1,1,5,4,1,16,12, 3,24, 3, 2, 2, 2, 13,14,16, 1,5},
  {4,1,1,1,5,4,1, 3, 3, 3,11, 3, 2, 3, 2, 3, 6, 3, 1,5},
  {4,1,1,1,5,4,1, 2, 2, 3, 2, 3, 2, 3, 2, 2,16, 3, 1,5},
  {4,1,1,1,5,4,1,20, 2, 2, 2, 2, 2, 3, 2, 3,21, 3, 1,5},
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5}
};
PImage img,user;
PImage [] fimg=new PImage[40];
void setup(){
  size(640,480);//15格=480, 480/15=32=小圖大小
  img = loadImage("640x480.png");
  user=loadImage("15.png");
  for(int i=1;i<=24;i++) fimg[i]=loadImage(i+".png");
}
int userI=12,userJ=15;
void draw(){
   for(int i=0;i<floor.length;i++){//高度480對應Y座標
     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_06_RPG_keyPressed_newI_newJ

//week08_07_RPG_eat_good
int [][]floor = {
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},
  {4,1,1,1,5,4,1,19, 3,22, 3,22, 9, 2, 2, 2, 9,16, 1,5},
  {4,1,1,1,5,4,1, 2, 3,18, 3, 9, 9, 9, 2, 2, 2, 9, 1,5},
  {4,1,1,1,5,4,1,11, 3, 9, 3,10,16,10, 3, 3, 6, 3, 1,5},
  {4,1,1,1,5,4,1, 2, 6, 2, 3,19,10,16, 3,10,13,10, 1,5},
  {4,1,1,1,5,4,1,11, 3, 2, 3, 3, 3, 3, 3, 2,10,16, 1,5},
  {4,1,1,1,5,4,1,18, 3, 2, 2, 2,11,10, 2, 2,23,10, 1,5},
  {4,1,1,1,5,4,1,17, 3, 3,24, 3, 3, 3, 3, 2,10,10, 1,5},
  {4,1,1,1,5,4,1,16,12, 3,24, 3, 2, 2, 2, 13,14,16, 1,5},
  {4,1,1,1,5,4,1, 3, 3, 3,11, 3, 2, 3, 2, 3, 6, 3, 1,5},
  {4,1,1,1,5,4,1, 2, 2, 3, 2, 3, 2, 3, 2, 2,16, 3, 1,5},
  {4,1,1,1,5,4,1,20, 2, 2, 2, 2, 2, 3, 2, 3,21, 3, 1,5},
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5}
};
PImage img,user;
PImage [] fimg=new PImage[40];
void setup(){
  size(640,480);//15格=480, 480/15=32=小圖大小
  img = loadImage("640x480.png");
  user=loadImage("15.png");
  for(int i=1;i<=24;i++) fimg[i]=loadImage(i+".png");
}
int userI=12,userJ=15;
void draw(){
   for(int i=0;i<floor.length;i++){//高度480對應Y座標
     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[userI][userJ]==21) gameOver=true;
  floor[userI][userJ]=2;
}
week08_07_RPG_eat_good


//week08_08_RPG_show_live
int [][]floor = {
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},
  {4,1,1,1,5,4,1,19, 3,22, 3,22, 9, 2, 2, 2, 9,16, 1,5},
  {4,1,1,1,5,4,1, 2, 3,18, 3, 9, 9, 9, 2, 2, 2, 9, 1,5},
  {4,1,1,1,5,4,1,11, 3, 9, 3,10,16,10, 3, 3, 6, 3, 1,5},
  {4,1,1,1,5,4,1, 2, 6, 2, 3,19,10,16, 3,10,13,10, 1,5},
  {4,1,1,1,5,4,1,11, 3, 2, 3, 3, 3, 3, 3, 2,10,16, 1,5},
  {4,1,1,1,5,4,1,18, 3, 2, 2, 2,11,10, 2, 2,23,10, 1,5},
  {4,1,1,1,5,4,1,17, 3, 3,24, 3, 3, 3, 3, 2,10,10, 1,5},
  {4,1,1,1,5,4,1,16,12, 3,24, 3, 2, 2, 2, 13,14,16, 1,5},
  {4,1,1,1,5,4,1, 3, 3, 3,11, 3, 2, 3, 2, 3, 6, 3, 1,5},
  {4,1,1,1,5,4,1, 2, 2, 3, 2, 3, 2, 3, 2, 2,16, 3, 1,5},
  {4,1,1,1,5,4,1,20, 2, 2, 2, 2, 2, 3, 2, 3,21, 3, 1,5},
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},
  {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5}
};
PImage img,user;
PImage [] fimg=new PImage[40];
void setup(){
  size(640,480);//15格=480, 480/15=32=小圖大小
  img = loadImage("640x480.png");
  user=loadImage("15.png");
  for(int i=1;i<=24;i++) fimg[i]=loadImage(i+".png");
}
int userI=12,userJ=15;
void draw(){
   for(int i=0;i<floor.length;i++){//高度480對應Y座標
     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: "+coin,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[userI][userJ]==21) gameOver=true;
  floor[userI][userJ]=2;
}
week08_08_RPG_show_live
//
week08_09_RPG_attack_mage
int [][]floor = {   {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},   {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},   {4,1,1,1,5,4,1,19, 3,22, 3,22, 9, 2, 2, 2, 9,16, 1,5},   {4,1,1,1,5,4,1, 2, 3,18, 3, 9, 9, 9, 2, 2, 2, 9, 1,5},   {4,1,1,1,5,4,1,11, 3, 9, 3,10,16,10, 3, 3, 6, 3, 1,5},   {4,1,1,1,5,4,1, 2, 6, 2, 3,19,10,16, 3,10,13,10, 1,5},   {4,1,1,1,5,4,1,11, 3, 2, 3, 3, 3, 3, 3, 2,10,16, 1,5},   {4,1,1,1,5,4,1,18, 3, 2, 2, 2,11,10, 2, 2,23,10, 1,5},   {4,1,1,1,5,4,1,17, 3, 3,24, 3, 3, 3, 3, 2,10,10, 1,5},   {4,1,1,1,5,4,1,16,12, 3,24, 3, 2, 2, 2, 13,14,16, 1,5},   {4,1,1,1,5,4,1, 3, 3, 3,11, 3, 2, 3, 2, 3, 6, 3, 1,5},   {4,1,1,1,5,4,1, 2, 2, 3, 2, 3, 2, 3, 2, 2,16, 3, 1,5},   {4,1,1,1,5,4,1,20, 2, 2, 2, 2, 2, 3, 2, 3,21, 3, 1,5},   {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5},   {4,1,1,1,5,4,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,5} }; PImage img,user; PImage [] fimg=new PImage[40]; void setup(){   size(640,480);//15格=480, 480/15=32=小圖大小   img = loadImage("640x480.png");   user=loadImage("15.png");   for(int i=1;i<=24;i++) fimg[i]=loadImage(i+".png"); } int userI=12,userJ=15; void draw(){    for(int i=0;i<floor.length;i++){//高度480對應Y座標      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: "+coin,16,290);    image(user,userJ*32,userI*32);    if(gameOver==1) background(0,255,0);    if(gameOver==2) background(255,0,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[userI][userJ]=2;     }   }   else if(floor[newI][newJ]!=1&&floor[newI][newJ]!=3){     userI=newI;     userJ=newJ;   }   if(floor[userI][userJ]==21) gameOver=1;   floor[userI][userJ]=2; }
week08_09_RPG_attack_mage

沒有留言:

張貼留言