2024年10月28日 星期一

小賴week08

 

☺HOMEWORK (1) 

//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;
}




☺HOMEWORK (2) 
//week08_2_RPG_background_640_480_rect_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++){
    for(int j=0;j<20;j++){
      noFill();
      rect(j*32,i*32,32,32);
    }
  }
}



☺HOMEWORK (3) 
//week08_3_RPG_PImage_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++){
    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; //小心 Y
  J = mouseX/32; //小心 X
}
int N = 1;
void mousePressed(){
  //PImage now;
  //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(N + ".png");
  N++;
}



☺HOMEWORK (4) 
//week08_4_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}, //有20個數字
  {4, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5},  //有20個數字
  {4, 1, 1, 1, 5, 4, 1, 9,3, 10,3, 17,9, 1, 1, 1, 9, 1,16, 5}, //有20個數字
};
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(){
  //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);
    }
  }
}



☺HOMEWORK (5) 
//week08_5_RPG_user_move_userJ_userI_keyPressed
int [][] floor = {
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 5, 6, 4, 6, 4, 3, 1, 1, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 1, 1,1, 1, 1, 1, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
};
PImage img, user;
PImage [] fimg = new PImage[40];
void setup() {
  size(640, 480); //15格=480, 480/15=32 小圓
  img = loadImage("640x480.png");
  user = loadImage("3.png");
  for (int i=1; i<=22; i++) fimg[i] = loadImage(i+".png");
}
int userI = 2, userJ = 3;
void draw() {
  //background(img);
  for (int i=0; i<floor.length; 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++;
}


☺HOMEWORK (6) 
//week08_6_RPG_wall_detection
int [][] floor = {
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 5, 6, 4, 6, 4, 3, 1, 1, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 1, 1,1, 1, 1, 1, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
};
PImage img, user;
PImage [] fimg = new PImage[40];
void setup() {
  size(640, 480); //15格=480, 480/15=32 小圓
  img = loadImage("640x480.png");
  user = loadImage("3.png");
  for (int i=1; i<=22; i++) fimg[i] = loadImage(i+".png");
}
int userI = 13, userJ = 15;
void draw() {
  //background(img);
  for (int i=0; i<floor.length; 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;
  }
}

☺HOMEWORK (7) 
//week08_8_RPG_show_info
int [][] floor = {
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 5, 6, 4, 6, 4, 3, 1, 1, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 1, 1,1, 1, 1, 1, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
};
PImage img, user;
PImage [] fimg = new PImage[40];
void setup() {
  size(640, 480); //15格=480, 480/15=32 小圓
  img = loadImage("640x480.png");
  user = loadImage("3.png");
  for (int i=1; i<=22; i++) fimg[i] = loadImage(i+".png");
}
int userI = 13, userJ = 15;
void draw() {
  //background(img);
  for (int i=0; i<floor.length; 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,140);
  text("Coins:  "+coin,16,140);
  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;
  }
}


☺HOMEWORK (8) 
//week08_9_RPG_attack_mage
int [][] floor = {
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 5, 6, 4, 6, 4, 3, 1, 1, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 1, 1,1, 1, 1, 1, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 6, 17, 6, 4, 3, 3, 3, 1, 1, 1, 3, 2, 9}, //有20個數字
  {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, //有20個數字
};
PImage img, user;
PImage [] fimg = new PImage[40];
void setup() {
  size(640, 480); //15格=480, 480/15=32 小圓
  img = loadImage("640x480.png");
  user = loadImage("3.png");
  for (int i=1; i<=22; i++) fimg[i] = loadImage(i+".png");
}
int userI = 13, userJ = 15;
void draw() {
  //background(img);
  for (int i=0; i<floor.length; 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,140);
  text("Coins:  "+coin,16,140);
  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]==3){
    if(hp-10<=0) gameOver = 2;
    else{
      hp -= 10;
      coin += 10;
      exp += 1;
      userI = newI;
      userJ = newJ;
      floor[userI][userJ] = 1;
    }
  }else if(floor[newI][newJ]!=6 && floor[newI][newJ]!=9){
    userI=newI;
    userJ=newJ;
    if(floor[userI][userJ]==21) gameOver = 1;
    floor[userI][userJ] = 1;
  }
}








沒有留言:

張貼留言