2023年11月9日 星期四

mei's week09

 Week09

1.顯示鍵盤

PImage img;
void setup(){
  size(800,600);
  img=loadImage("keyboard.png");
}
void draw(){
  image(img,0,600-266);
}

2.滑鼠方塊在鍵盤上

PImage img;
void setup(){
  size(800,600);
  img=loadImage("keyboard.png");
  rectMode(CENTER);
}
void draw(){
  background(#FFFFF2);
  image(img,0,600-266);
  fill(255,0,0,128);
  rect(mouseX,mouseY,28,30,5);
}
 void mousePressed(){
   println(mouseX,mouseY);
 }

3.淡綠色的框框

PImage img;
int [][] pos ={{83,456},{116,456},{152,457},{188,457},{220,456},{253,456},{291,456},{323,457},{359,457},{393,456},{93,489},{127,491},{162,491},{196,491},{230,490},{264,490},{302,490},{334,490},{367,490},{110,523},{143,524},{181,524},{213,524},{247,524},{280,524},{316,526}};
void setup(){
  size(800,600);
  img =loadImage("keyboard.png");
  rectMode(CENTER);
}
void draw(){
  background(#FFFFF2);
  image(img, 0, 600-266);
  fill(255,0,0,128);
  rect( mouseX, mouseY, 28, 30, 5);
  fill(0,255,0,128);
  for(int i=0;i<26;i++){
    rect(pos[i][0],pos[i][1],28,30,5);
  }
}
void mousePressed(){
  println(mouseX,mouseY);
}











4.按鍵按下可以自己判斷

PImage img;
int[][]pos = {{91,491},{246,525},{179,524},{162,491},{153,458},{195,490},{229,489},{263,491},{322,456},{298,491},{332,490},{366,491},{315,525},{279,525},{357,456},{390,457},{84,456},{185,456},{127,490},{219,457},{288,457},{212,523},{118,457},{144,523},{254,457},{108,524}};

void setup(){
  size(800,600);
  img = loadImage("keyboard.png");
  rectMode(CENTER);
}
void draw(){
  background(#FFFFF2);
  image(img ,0,600-266);
  fill(255,0,0,128);
  rect(mouseX,mouseY,28,30,5);
  fill(0,255,0,128);
  for(int i=0;i<26;i++){
   if(pressed[i])rect(pos[i][0],pos[i][1],28,30,5);
  }
}
boolean[]pressed = new boolean[26];
void keyPressed(){
  if(key>='a'&&key<='z')pressed[key-'a']= true;
}
void keyReleased(){
  if(key>='a'&&key<='z')pressed[key-'a']=false;
}
/*void mousePressed(){
  println(mouseX,mouseY);
}*/

5.把要打得字綠色框框顯示出來\

PImage img;
int[][]pos = {{91,491},{246,525},{179,524},{162,491},{153,458},{195,490},{229,489},{263,491},{322,456},{298,491},{332,490},{366,491},{315,525},{279,525},{357,456},{390,457},{84,456},{185,456},{127,490},{219,457},{288,457},{212,523},{118,457},{144,523},{254,457},{108,524}};

void setup(){
  size(800,600);
  img = loadImage("keyboard.png");
  rectMode(CENTER);
}
void draw(){
  background(#FFFFF2);
  image(img ,0,600-266);
  fill(255,0,0,128);
  rect(mouseX,mouseY,28,30,5);
  fill(0,255,0,128);
  for(int i=0;i<26;i++){
   if(typing.charAt(0)-'a'==i)rect(pos[i][0],pos[i][1],28,30,5);
   if(pressed[i])rect(pos[i][0],pos[i][1],28,30,5);
  }
  fill(0);
  textSize(50);
  text(typing,50,50);
  text(typing.charAt(0),50,100);
}
String typing = "printf";
boolean[]pressed = new boolean[26];
void keyPressed(){
  if(key>='a'&&key<='z')pressed[key-'a']= true;
}
void keyReleased(){
  if(key>='a'&&key<='z')pressed[key-'a']=false;
}
/*void mousePressed(){
  println(mouseX,mouseY);
}*/

6.把要打得字打出來

PImage img;
int[][]pos = {{91,491},{246,525},{179,524},{162,491},{153,458},{195,490},{229,489},{263,491},{322,456},{298,491},{332,490},{366,491},{315,525},{279,525},{357,456},{390,457},{84,456},{185,456},{127,490},{219,457},{288,457},{212,523},{118,457},{144,523},{254,457},{108,524}};

void setup(){
  size(800,600);
  img = loadImage("keyboard.png");
  rectMode(CENTER);
}
void draw(){
  background(#FFFFF2);
  image(img ,0,600-266);
  fill(255,0,0,128);
  rect(mouseX,mouseY,28,30,5);
  fill(0,255,0,128);
  for(int i=0;i<26;i++){
   if(typing.charAt(0)-'a'==i)rect(pos[i][0],pos[i][1],28,30,5);
   if(pressed[i])rect(pos[i][0],pos[i][1],28,30,5);
  }
  textSize(50);
  fill(0);
  text(typing,50,50);
  fill(255,0,0);
  text(typed+typing.charAt(ID),50,100);
  fill(0);
  text(typed,50,100);
}
String typing = "printfprintfprintf";
String typed = "";
int ID = 0;
boolean[]pressed = new boolean[26];
void keyPressed(){
  if(key>='a'&&key<='z'){
    pressed[key-'a']= true;
    typed += key;
    ID++;
  }
}
void keyReleased(){
  if(key>='a'&&key<='z')pressed[key-'a']=false;
}
/*void mousePressed(){
  println(mouseX,mouseY);
}*/

7.按鍵顏色不對

PImage img;
int[][]pos = {{91,491},{246,525},{179,524},{162,491},{153,458},{195,490},{229,489},{263,491},{322,456},{298,491},{332,490},{366,491},{315,525},{279,525},{357,456},{390,457},{84,456},{185,456},{127,490},{219,457},{288,457},{212,523},{118,457},{144,523},{254,457},{108,524}};

void setup(){
  size(800,600);
  img = loadImage("keyboard.png");
  rectMode(CENTER);
}
void draw(){
  background(#FFFFF2);
  image(img ,0,600-266);
  fill(255,0,0,128);
  rect(mouseX,mouseY,28,30,5);
  fill(0,255,0,128);
  for(int i=0;i<26;i++){
   if(typing.charAt(0)-'a'==i)rect(pos[i][0],pos[i][1],28,30,5);
   if(pressed[i])rect(pos[i][0],pos[i][1],28,30,5);
  }
  textSize(50);
  fill(0);
  text(typing,50,50);
  fill(255,0,0);
  text(typed+typing.charAt(ID),50,100);
  fill(0);
  text(typed,50,100);
}
String typing = "printfprintfprintf";
String typed = "";
int ID = 0;
boolean[]pressed = new boolean[26];
void keyPressed(){
  if(key>='a'&&key<='z'){
    if(key==typing.charAt(ID)){
      pressed[key-'a']= true;
      typed += key;
      ID++;
    }else{
      background(255,0,0);
    }
  }
}
void keyReleased(){
  if(key>='a'&&key<='z')pressed[key-'a']=false;
}
/*void mousePressed(){
  println(mouseX,mouseY);
}*/

9.加上空白建!!!

PImage img;

int[][]pos = {{91,491},{246,525},{179,524},{162,491},{153,458},{195,490},{229,489},{263,491},{322,456},{298,491},{332,490},{366,491},{315,525},{279,525},{357,456},{390,457},{84,456},{185,456},{127,490},{219,457},{288,457},{212,523},{118,457},{144,523},{254,457},{108,524}};

void setup(){
  size(800,600);
  img = loadImage("keyboard.png");
  rectMode(CENTER);
}
void draw(){
  background(#FFFFF2);
  image(img ,0,600-266);
  fill(255,0,0,128);
  rect(mouseX,mouseY,28,30,5);
  fill(0,255,0,128);
  for(int i=0;i<26;i++){
    if(ID<typing.length()&&typing.charAt(ID)-'a'==i)rect(pos[i][0],pos[i][1],28,30,5);
   if(pressed[i])rect(pos[i][0],pos[i][1],28,30,5);
  }
  textSize(50);
  fill(0);
  text(typing,50,50);
  fill(255,0,0);
  if(ID<typing.length())text(typed + typing.charAt(ID),50,100);
  fill(0);
  text(typed,50,100);
}
String typing = "print is a function";
String typed = "";
int ID = 0;
boolean[]pressed = new boolean[26];
void keyPressed(){
  if(ID<typing.length()&&key==typing.charAt(ID) ){
    if(key>='a'&&key<='z'){
    pressed[key-'a']= true;
    typed += key;
    ID++;
    }else if(key==' '){
       typed += key;
       ID++;
    }else{
      background(255,0,0);
    }
  }
}
void keyReleased(){
  if(key>='a'&&key<='z')pressed[key-'a']=false;
}
void mousePressed(){
  println(mouseX,mouseY);
}


沒有留言:

張貼留言