2024年10月28日 星期一

week08

 (1)//week08_1_int_page_if_page_0_1

PImage img;
void setup() {
  size(640, 480);
  img=loadImage("640x480.jpg");
}
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;
}
(2)
//week08_2_RPG_background_32_32
PImage img;
void setup() {
  size(640, 480);//15格=480,480/15=32小圖
  img=loadImage("640x480.jpg");
}
void draw() {
  background(img);
  for (int i=0; i<20; i++) {//高度480對應y座標
    for (int j=0; j<15; j++) {//寬度640對應x座標
      noFill();
      rect(j*32, i*32, 32, 32);//小格子的大小是32x32
    }
  }
}

(3)
//week08_3_RPG_PLmage_cerateImage_copy_save
PImage img;
void setup() {
  size(640, 480);//15格=480,480/15=32小圖
  img=loadImage("640x480.jpg");
}
void draw() {
  background(img);
  for (int i=0; i<20; i++) {//高度480對應y座標
    for (int j=0; j<15; j++) {//寬度640對應x座標
      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,J
  I=mouseY/32;//小心Y
  J=mouseX/32;//小心Xvoid 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.jpg");
}  


(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}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 19, 3, 20, 3, 20, 9, 2, 2, 2, 9, 2, 16, 5}, //20numbers
};
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<21; i++)fimg[i]=loadImage(i+".png");
}
void draw() {
  //background(img);
  for (int i=0; i<3; i++) {//高度480對應y座標
    for (int j=0; j<20; j++) {//寬度640對應x座標
      int now=floor[i][j];
      image(fimg[now], j*32, i*32);
    }
  }
}




(6)
//week08_5_RPG_user_move_user_keyPressed
int [][]floor={
  {4, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 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("14.png");
  for (int i=1; i<21; i++)fimg[i]=loadImage(i+".png");
}
int userI=14, userJ=10;
void draw() {
  //background(img);
  for (int i=0; i<floor.length; i++) {//高度480對應y座標
    for (int j=0; j<20; j++) {//寬度640對應x座標
      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;
  }
}
(7)
//week08_7_RPG_user_move_user_keyPressed
int [][]floor={
  {4, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 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("14.png");
  for (int i=1; i<21; i++)fimg[i]=loadImage(i+".png");
}
int userI=14, userJ=10;
void draw() {
  //background(img);
  for (int i=0; i<floor.length; i++) {//高度480對應y座標
    for (int j=0; j<20; j++) {//寬度640對應x座標
      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]==14)gameOver=true;
    floor[userI][userJ]=3;
  }
}
(8)
//week08_8_RPG_user_move_user_keyPressed
int [][]floor={
  {4, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 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("14.png");
  for (int i=1; i<21; i++)fimg[i]=loadImage(i+".png");
}
int userI=14, userJ=10;
void draw() {
  //background(img);
  for (int i=0; i<floor.length; i++) {//高度480對應y座標
    for (int j=0; j<20; j++) {//寬度640對應x座標
      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,90);
  text("Coins: "+coin,16,90);
  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]==14)gameOver=true;
    floor[userI][userJ]=3;
  }
}









(9)//week08_9_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}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, //20numbers
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 1, 5}, 
  {4, 1, 1, 1, 5, 4, 1, 13, 3, 20, 3, 20, 9, 5, 5, 5, 9, 2, 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("14.png");
  for (int i=1; i<21; i++)fimg[i]=loadImage(i+".png");
}
int userI=14, userJ=10;
void draw() {
  //background(img);
  for (int i=0; i<floor.length; i++) {//高度480對應y座標
    for (int j=0; j<20; j++) {//寬度640對應x座標
      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,90);
  text("Coins: "+coin,16,90);
  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]==14)gameOver=1;
    floor[userI][userJ]=2;
  }
}

沒有留言:

張貼留言