畫格子
void setup(){ size(600,400); } void draw(){ background(255); for(int i=0;i<4;i++){//y for(int j=0;j<6;j++){//x rect(j*100,i*100,100,100); } } }
week11-2
void setup(){ size(600,400); } void draw(){ background(255); for(int i=0;i<4;i++){//y for(int j=0;j<6;j++){//x fill(#F5B4B4);rect(j*100,i*100,100,100); fill(0);text("Hello",j*100+25,i*100+50); } } }
week11-3 亂數產生
void setup(){ size(600,500); for(int i=0;i<4;i++){ for(int j=0;j<6;j++){ value[i][j]= int(random(40)); }//亂數產生 } } int [][] value = new int[4][6]; void draw(){ background(255); for(int i=0;i<4;i++){//y for(int j=0;j<6;j++){//x fill(#F5B4B4);rect(j*100,i*100,100,100); fill(0);text(value[i][j],j*100+25,i*100+50); } } }week11-4 亂數交換位置
void setup(){ size(600,500); for(int i=0;i<4;i++){ for(int j=0;j<6;j++){ value[i][j]= i*6+j+10;//從10開始,數字不重複 } } for(int k=0;k<2;k++){//每次挑2個做交換 int i=int(random(4)),j=int(random(6)); int i2=int(random(4)),j2=int(random(6)); int temp=value[i][j]; value[i][j]=value[i2][j2]; value[i2][j2]=temp; } } int [][] value = new int[4][6]; void draw(){ background(255); for(int i=0;i<4;i++){//y for(int j=0;j<6;j++){//x fill(#F5B4B4);rect(j*100,i*100,100,100); fill(0);text(value[i][j],j*100+25,i*100+50); } } }
week11-5 按滑鼠變紅色int state=0;//0:white,1:red,2:blue void setup(){ size(400,400); } void draw(){ if(state==0){ background(255); fill(0);text("Click to Start",80,200); }else if(state==1){ background(255,0,0); }else if(state==2){ background(0,0,255); } } void mousePressed(){ if(state==0)state=1; }
week11-5-2 設定第1,2關
int state=0;//0:white,1:red,2:blue void setup(){ size(400,400); textSize(50); } int x=50,y=50; void draw(){ if(state==0){//第0關 白色 background(255); fill(0);text("Click to Start",80,200); }else if(state==1){//第1關 紅色 background(255,0,0); fill(255);rect(300,50,50,50); fill(128);rect(x,y,50,50); }else if(state==2){//第2關 藍色 background(0,0,255); } } void mousePressed(){ if(state==0)state=1; } void keyPressed(){ if(state==1 && keyCode==RIGHT){ x+=10; if(x==300)state=2; } }
week11-6 設定時間,時間到後從頭來
int state=0;//0:white,1:red,2:blue void setup(){ size(400,400); textSize(50); } int x=50,y=50,t=100; void draw(){ if(state==0){//第0關 白色 background(255); fill(0);text("Click to Start",80,200); x=50; }else if(state==1){//第1關 紅色 background(255,0,0); fill(255);rect(300,50,50,50); fill(128);rect(x,y,50,50); t=100; }else if(state==2){//第2關 藍色 background(0,0,255); fill(255,255,0);text("Wait" + t,80,200); t--; if(t==0)state=0; } } void mousePressed(){ if(state==0)state=1; } void keyPressed(){ if(state==1 && keyCode==RIGHT){ x+=10; if(x==300)state=2; } }
week11-7 投籃PImage imgRack; int state = 0; void setup(){ size(500,500); imgRack = loadImage("rack.png"); } void draw(){ background(255); image(imgRack,0,0); if(mousePressed){ fill(255);ellipse(posX,posY,20,20); line(posX,posY,mouseX,mouseY); } fill(#FFA625);ellipse(mouseX,mouseY,20,20); } float posX=-100, posY=-100; void mousePressed(){ posX = mouseX; posY = mouseY; }PImage imgRack; int state = 0; void setup(){ size(500,500); imgRack = loadImage("rack.png"); } void draw(){ background(255); image(imgRack,0,0); if(flying){ x += vx; y += vy; vy+= 0.98; }else{ x = mouseX; y = mouseY; if(mousePressed){ fill(255);ellipse(posX,posY,20,20); line( posX, posY, x, y); } } fill(#FFA652);ellipse(x,y,20,20); } boolean flying = false; float x,y,vx,vy; float posX=-100, posY=-100; void mousePressed(){ posX = mouseX; posY = mouseY; flying = false; } void mouseReleased(){ vx = posX-mouseX; vy = posY-mouseY; flying = true; }week11-9week11-10 踩地雷PImage imgRack; int state = 0; void setup(){ size(500,500); imgRack = loadImage("rack.png"); } boolean gameOver=false; void keyPressed(){ gameOver = true;///在某個狀態下,game over } void draw(){ background(255); image(imgRack,0,0); if(flying){ if(!gameOver){ x += vx; y += vy; vy+= 0.98; } }else{ x = mouseX; y = mouseY; if(mousePressed){ fill(255);ellipse(posX,posY,20,20); line( posX, posY, x, y); } } fill(#FFA652);ellipse(x,y,20,20); } boolean flying = false; float x,y,vx,vy; float posX=-100, posY=-100; void mousePressed(){ posX = mouseX; posY = mouseY; flying = false; } void mouseReleased(){ vx = posX-mouseX; vy = posY-mouseY; flying = true; }int [][]mine = new int[9][9]; void setup(){ size(450, 450); for (int i=0; i<9; i++) mine[i][0]=9; for (int k=0; k<1000; k++){ int i = int(random(9)), j = int(random(9)); int i2 = int(random(9)), j2 = int(random(9)); int tmp = mine[i][j]; mine[i][j] = mine[i2][j2]; mine[i2][j2] = tmp; } for (int i=0; i<9; i++){ for (int j=0; j<9; j++){ // 遇到紅色的地雷附近要+1 if (mine[i][j]==9){ addNumber(i-1, j-1); addNumber(i-1, j); addNumber(i-1, j+1); addNumber(i, j-1); addNumber(i, j); // 自己本身 addNumber(i, j+1); addNumber(i+1, j-1); addNumber(i+1, j); addNumber(i+1, j+1); } } } } void addNumber(int i, int j){ if (i<0 || j<0 || i>=9 || j>=9) return; // 超過範圍不做事 if (mine[i][j]!=9) mine[i][j]++; // 不是地雷就可以+1 } void draw(){ for (int i=0; i<9; i++){ for (int j=0; j<9; j++){ if (mine[i][j]==9) fill(255, 128, 128); else fill(255); rect(j*50, i*50, 45, 45); if (mine[i][j]!=0){ fill(0); text(" "+mine[i][j], j*50+23, i*50+23, 45, 45); } } } }













沒有留言:
張貼留言