顯示具有 99160912王承安 標籤的文章。 顯示所有文章
顯示具有 99160912王承安 標籤的文章。 顯示所有文章

2012年11月20日 星期二

HW09,Week11

01.思考可以用Arduino做些什麼?

看了很多有關arduino的影片,感覺它可以應用在蠻多東西上面的,可是我大部分看到的都是接LED燈,然後設定亮燈的時間與位置,把它變成一種裝飾品的感覺,我覺得很漂亮,還有一些機器人遠端遙控,也蠻常見的!


02.貼一個Arduino相關的影片

我找到的影片,是兩個人在不同的桌面下西洋棋,透過arduino和一些程式,讓兩個人不用面對面,也可以對弈,一個人下了一步,另一個人的棋子會自動跑到該移動的位置上,我覺得在一般人看來是很不可思議的。

2012年11月13日 星期二

Midterm



1.貼圖







2.程式碼
PImage tt0,tt1,tt2;
float  bangAngle;
int startT=0;
int value = 0;
int score=0, lastTime=60;
PImage img1,big,img2;
int now=1;

import ddf.minim.*;
AudioPlayer  player,aaa,cheers;
Minim minim;


int a=231,b=204,c=185 ;
int b1=204,c1=185 ;
int b2=204,c2=185 ;
int b3=204,c3=185 ;
int b4=204,c4=185 ;
int b5=204,c5=185 ;
int b6=204,c6=185 ;


void setup(){
  size(500,500);
  
  tt0=loadImage("tt0.png");
  tt1=loadImage("tt1.png");
  tt2=loadImage("tt2.png");
  img1=loadImage("b1.png");
  big=loadImage("big.png");
  img2=loadImage("gameover.png");
}

void show1(){
image(img1,0,0);
}
void show2(){
image(big,0,0);
}
void show3(){
image(img2,0,0);
}

void draw()
{
  

  
  fill(value);
  rect(100, 100, 100, 100);
      
  
 size(500,500);
  int m=millis();
  background(255,255,255);
  image(big,0,0,500,500);


textSize(30);
fill(m/10%10,m/10%10,m/10%255);
text("Time:"+lastTime, 10,40);
text("Score:"+score, 330,40);
if(lastTime&rt;0)
lastTime=60-millis()/1000;
else
lastTime=0;

b-=3;c-=3;
b1-=2;c1-=2;
b2-=0.1;c2-=0.1;
b3-=6;c3-=6;
b4-=7;c4-=7;
b5-=4;c5-=4;
b6-=5;c6-=5;

noStroke();
fill(a,b,c);
ellipse(300,300,20,20);

noStroke();
fill(a,b,c);
ellipse(200,130,20,20);

noStroke();
fill(a,b1,c1);
ellipse(360,230,20,20);




noStroke();
fill(a,b2,c2);
ellipse(192,270,20,20);



noStroke();
fill(a,b3,c3);
ellipse(170,190,10,10);

noStroke();
fill(a,b4,c4);

ellipse(150,160,18,18);

noStroke();
fill(a,b5,c5);
ellipse(130,210,30,30);

noStroke();
fill(a,b6,c6);
ellipse(220,250,20,20);

noStroke();
fill(a,b1,c1);
ellipse(240,150,17,17);

noStroke();
fill(a,b2,c2);
ellipse(300,190,20,20);

noStroke();
fill(a,b4,c4);
ellipse(280,260,30,30);

noStroke();
fill(a,b5,c5);
ellipse(270,390,10,10);

noStroke();
fill(a,b6,c6);
ellipse(235,330,30,30);

noStroke();
fill(a,b,c);
ellipse(150,370,20,20);

noStroke();
fill(a,b1,c1);
ellipse(100,250,15,15);

noStroke();
fill(a,b2,c2);
ellipse(300,300,20,20);

noStroke();
fill(a,b3,c3);
ellipse(350,350,30,30);


  if (b<0    )
{ b=255; c=255;}
  if (b1<0   )
{ b1=255; c1=255;}
  if (b2==0   )
{ b2=255; c2=255;}
  if (b3<0   )
{  b3=255; c3=255;} 
  if (b4<0   )
{  b4=255; c4=255;}
  if (b5<0   )
{  b5=255; c5=255;}
  if (b6<0   )
{  b6=255; c6=255;}







if(mouseX&rt;290 && mouseX < 310 && mouseY&rt;290 && mouseY<310 && mousePressed)image(tt2,290,280,30,30);//又嘴


else if(mouseX&rt;190 && mouseX < 210 && mouseY&rt;120 && mouseY<140 && mousePressed)image(tt2,190,115,30,30);//額頭
else if(mouseX&rt;350 && mouseX < 370 && mouseY&rt;220 && mouseY<240 && mousePressed)image(tt2,350,210,30,30);//右邊
else if(mouseX&rt;180 && mouseX < 200 && mouseY&rt;260 && mouseY<280 && mousePressed)image(tt2,180,250,30,30);//左

else if(mouseX&rt;160 && mouseX < 180 && mouseY&rt;180 && mouseY<200 && mousePressed)image(tt2,160,180,20,20);
else if(mouseX&rt;140 && mouseX < 160 && mouseY&rt;150 && mouseY<170 && mousePressed)image(tt2,140,145,25,25);
else if(mouseX&rt;120 && mouseX < 140 && mouseY&rt;200 && mouseY<220 && mousePressed)image(tt2,115,185,45,45);
else if(mouseX&rt;210 && mouseX < 230 && mouseY&rt;240 && mouseY<260 && mousePressed)image(tt2,210,235,27,27);
else if(mouseX&rt;230 && mouseX < 250 && mouseY&rt;140 && mouseY<150 && mousePressed)image(tt2,230,140,26,26);
else if(mouseX&rt;290 && mouseX < 310 && mouseY&rt;180 && mouseY<200 && mousePressed)image(tt2,290,180,25,25);
else if(mouseX&rt;270 && mouseX < 290 && mouseY&rt;250 && mouseY<270 && mousePressed)image(tt2,260,235,45,45);
else if(mouseX&rt;260 && mouseX < 280 && mouseY&rt;380 && mouseY<400 && mousePressed)image(tt2,260,380,17,17);
else if(mouseX&rt;220 && mouseX < 245 && mouseY&rt;320 && mouseY<340 && mousePressed)image(tt2,220,300,49,49);
else if(mouseX&rt;140 && mouseX < 160 && mouseY&rt;360 && mouseY<380 && mousePressed)image(tt2,140,350,30,30);
else if(mouseX&rt;90 && mouseX < 110 && mouseY&rt;240 && mouseY<260 && mousePressed)image(tt2,90,235,26,26);
else if(mouseX&rt;290 && mouseX < 310 && mouseY&rt;290 && mouseY<310 && mousePressed)image(tt2,290,290,30,30);
else if(mouseX&rt;340 && mouseX < 360 && mouseY&rt;340 && mouseY<360 && mousePressed)image(tt2,325,325,41,41);





  if(now==1){
  show1();
  if(mouseX&rt;200 && mouseX<330 && mouseY&rt;300 && mouseY<430 && mousePressed){
    now=2;
    }
  }
  
  
  if(lastTime==0) //當時間=0,秀出得分
      {
      stop();
       show3();
      textFont(createFont("Calibri", 40));
      fill(128,0,0);
      text("Your score:"+score,150,300);
     // cheers=minim.loadFile("cheers.wav", 2048);
      //cheers.play();
      }
  
  
  
 

}

void mousePressed()
{
  if ( mouseX&rt;180 && mouseX < 200 && mouseY&rt;260 && mouseY<280) 
  {   value = 255;  score+=10;
 
   minim=new Minim(this);
   aaa=minim.loadFile("aaa.wav", 2048); //戳到泡泡時播放音效
   aaa.play();  } 
  
  else if (mouseX&rt;350 && mouseX < 370 && mouseY&rt;220 && mouseY<240) 
  {   value = 255;  score+=10; 
   
   minim=new Minim(this);
   aaa=minim.loadFile("aaa.wav", 2048); //戳到泡泡時播放音效
   aaa.play();
  }
  
  else if (mouseX&rt;190 && mouseX < 210 && mouseY&rt;120 && mouseY<140) 
  {   value = 255;  score+=10; 
 
   minim=new Minim(this);
   aaa=minim.loadFile("aaa.wav", 2048); //戳到泡泡時播放音效
   aaa.play();
  }
  
  else if (mouseX&rt;290 && mouseX < 310 && mouseY&rt;290 && mouseY<310) 
  {   value = 255;  score+=10;

  minim=new Minim(this);
   aaa=minim.loadFile("aaa.wav", 2048); //戳到泡泡時播放音效
   aaa.play();
  }
  
  
  
  
  
  else if (mouseX&rt;160 && mouseX < 180 && mouseY&rt;180 && mouseY<200) 
  {   value = 255;  score+=100;
    minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;140 && mouseX < 160 && mouseY&rt;150 && mouseY<170) 
  {   value = 255;  score+=10;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;120 && mouseX < 140 && mouseY&rt;200 && mouseY<220) 
  {   value = 255;  score+=1;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;210 && mouseX < 230 && mouseY&rt;240 && mouseY<260) 
  {   value = 255;  score+=10;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;230 && mouseX < 250 && mouseY&rt;140 && mouseY<150) 
  {   value = 255;  score+=10;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;290 && mouseX < 310 && mouseY&rt;180 && mouseY<200) 
  {   value = 255;  score+=10;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;270 && mouseX < 290 && mouseY&rt;250 && mouseY<270) 
  {   value = 255;  score+=1;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;260 && mouseX < 280 && mouseY&rt;380 && mouseY<400) 
  {   value = 255;  score+=100;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;220 && mouseX < 245 && mouseY&rt;320 && mouseY<340) 
  {   value = 255;  score+=1;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;90 && mouseX < 110 && mouseY&rt;240 && mouseY<260) 
  {   value = 255;  score+=10;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;140 && mouseX < 160 && mouseY&rt;360 && mouseY<380) 
  {   value = 255;  score+=10;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;290 && mouseX < 310 && mouseY&rt;290 && mouseY<310) 
  {   value = 255;  score+=10;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  else if (mouseX&rt;340 && mouseX < 360 && mouseY&rt;340 && mouseY<360) 
  {   value = 255;  score+=1;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
  
  else  { value = 0; score-=50;  
 minim=new Minim(this);aaa=minim.loadFile("aaa.wav", 2048);aaa.play();}
 
}

3.遊戲規則


點到痘痘就可得分


大顆1分


小顆100分


點到臉扣50分


點到痘痘會有"啵~"的聲音


限時60秒


時間歸零即遊戲結束



4.心得


完成一個作品蠻有成就感的,雖然沒有做到很完美,但是一步步寫出來,遇到問題一起討論然後解決他,感覺真的有學到東西。

2012年10月30日 星期二

HW08,week08

1. 請寫下以下資料:
1.1. 你之前完成了什麼?
製作遊戲所需要的素材,例如痘痘,和爆掉的痘痘。

1.2. 你今天計畫要做什麼?
讓痘痘越來越成熟,用滑鼠點擊就會爆開。

1.3. 可能會遇到的問題... (及可能的解決方法)
(1)痘痘漸層的顏色是從黑色開始變紅,想要讓他從膚色開始。
(2)現在點擊痘痘只會爆開一下子就變回原本痘痘的圖,想要讓他可以一直停在爆開痘痘的圖。


2. 請把你目前期中作品的進度貼出來

2012年10月16日 星期二

Week06 , HW06

TODO: HW06第一部分: "寫"作品建議, 讚美、寫賣點
我覺得朱席寬要做的遊戲蠻酷的,雖然很簡單,可是就是訓練反應速度吧~
玩久了反應會變快。


TODO: HW06第二部分: 今天的進度: 做期中作品
(a) 素材
(b) 想流程,很細地寫下步驟
(c) 試 code 看想法是否可行
我跟林雨辰要做擠痘痘的遊戲,我們用小畫家畫了痘痘,還有爆開的痘痘。
我們在網路上找了幾張臉的卡通圖案,到時候希望用同學的照片然後可以讓使用者選其他張臉。

2012年10月9日 星期二

Week05 , HW05

(1)會自己動
void setup(){
size(600,600);
}
float rrr=0.01;

void draw(){
  background(255,200,100);

  translate(300,300);//圓心移到中間  
  rotate(rrr+=0.01);//旋轉(translate和for迴圈的中間)  
  noStroke();
  fill(255,100,100);
  for(int i=0;i<30;i++){
    rotate(PI/10);
    ellipse(100,0,200,40);
  }
  fill(255,50,50);
  for(int i=0;i<30;i++){
    rotate(PI/13);
    ellipse(70,0,180,30);
  }
  fill(255,200,50);
  ellipse(5,5,180,180);
    
 }

(2)會和你互動

把 translate 參數改成 translate(mouseX,mouseY);
整個花會跟著滑鼠移動。

(3)期中作品你想做什麼 (請放圖、放文字)

擠痘痘的遊戲.......
我想放一張同學的頭像哈哈哈
用手套移動到痘痘上然後把它擠爆(有點噁)

2012年10月2日 星期二

Week04,HW04

(1)自己的小畫家


void setup(){
size(500,500);
background(0,0,0);

//noStroke(); //左邊的顏色fill(255,0,0);//紅rect(0,0,50,50);
fill(255,200,0);//黃rect(0,50,50,50);
fill(80,255,80);//綠rect(0,100,50,50);
fill(50,50,255);//藍rect(0,150,50,50);
fill(55,50,50);//灰rect(0,200,50,50);
fill(255,255,255);//白rect(0,250,50,50);

fill(255,255,255);
rect(450,0,50,50);
fill(255);
rect(450,50,50,50);
rect(450,100,50,50);

fill(0,0,0);
ellipse(475, 25, 2,2);
fill(0,0,0);
ellipse(475, 75, 6, 6);
fill(0,0,0);
ellipse(475, 125, 10,10);

fill(255,255,255);//存檔框框rect(0,300,50,50);

fill(255,255,255);//讀檔框框rect(0,350,50,50);
}

int www=5;

void draw(){
  if(mousePressed && mouseX<50 && mouseY<50) stroke(255,0,0);
  else if(mousePressed && mouseX<50 && mouseY<100) stroke(255,200,0);
  else if(mousePressed && mouseX<50 && mouseY<150) stroke(80,255,80);
  else if(mousePressed && mouseX<50 && mouseY<200) stroke(50,50,255);
  else if(mousePressed && mouseX<50 && mouseY<250) stroke(55,50,50);
  else if(mousePressed && mouseX<50 && mouseY<300) stroke(255,255,255);
  else if(mousePressed)  line(mouseX, mouseY, pmouseX, pmouseY);//畫線 
  else if(mousePressed && mouseX<50 && mouseY<350) save("123.png"); //存檔 
  else if(mousePressed && mouseX<50 && mouseY<400){ //讀檔   PImage img = loadImage("123.png");
   image(img,0,0,500,500);
   } 
   
      
   if(mouseX&rt;450 && mouseX<500 && mouseY&rt;0 && mouseY<50 && mousePressed)strokeWeight(3);
else if(mouseX&rt;450 && mouseX<500 && mouseY&rt;50 && mouseY<100 && mousePressed)strokeWeight(6);
else if(mouseX&rt;450 && mouseX<500 && mouseY&rt;100 && mouseY<150 && mousePressed)strokeWeight(10);
   
     
 }
 
 

2012年9月25日 星期二

week03,HW03

(1)圖跟著滑鼠移動

void setup(){
  size(600,600);
}

void draw(){
  fill(0,0,0);
  ellipse(200,200,50,50);
  ellipse(400,200,50,50);
  
  fill(255,150,150);
  ellipse(mouseX,mouseY,60,60);
}


2012年9月18日 星期二

Week02, HW02

(1)用random畫出50個方格


size(550,550);
for(int i=0;i<500 data-blogger-escaped-i="i" data-blogger-escaped-span="span" style="color: #cc6600;">fill
(random(255),random(255),random(255)); rect(random(400),random(400),random(400),random(400)); }

(2)
size(500,450);
background(100,150,255);
for(int i=0;i<50 data-blogger-escaped-i="i" data-blogger-escaped-nbsp="nbsp" data-blogger-escaped-span="span" style="color: #cc6600;">for
(int k=0;k<45 data-blogger-escaped-k="k" data-blogger-escaped-span="span" style="color: #cc6600;">fill(i*255/30,k*255/20,200); rect(random(i*30),random(k*30),8,8);   } }



(3)
size(500,400);
background(255,150,150);
noStroke();
for(int i=0;i<6;i++){
  for(int k=0;k<5;k++){
    fill(i*255/6,k*255/6,250);
    ellipse(i*80+40,k*80+40,80,80);
  }
}

noStroke();
for(int i=0;i<6;i++){
  for(int k=0;k<5;k++){
    fill(i*255/5,k*255/3,250);
    ellipse(i*80+40,k*80+40,70,70);
  }
}

noStroke();
for(int i=0;i<6;i++){
  for(int k=0;k<5;k++){
    fill(i*255/9,k*255/4,250);
    ellipse(i*80+40,k*80+40,60,60);
  }
}

noStroke();
for(int i=0;i<6;i++){
  for(int k=0;k<5;k++){
    fill(i*255/255,k*255/255,250);
    ellipse(i*80+40,k*80+40,50,50);
  }
}

noStroke();
for(int i=0;i<6;i++){
  for(int k=0;k<5;k++){
    fill(i*255/2,k*255/4,250);
    ellipse(i*80+40,k*80+40,40,40);
  }
}

noStroke();
for(int i=0;i<6;i++){
  for(int k=0;k<5;k++){
    fill(i*255/1,k*255/50,250);
    ellipse(i*80+40,k*80+40,30,30);
  }
}

noStroke();
for(int i=0;i<6;i++){
  for(int k=0;k<5;k++){
    fill(i*255/6,k*255/7,250);
    ellipse(i*80+40,k*80+40,20,20);
  }
}

noStroke();
for(int i=0;i<6;i++){
  for(int k=0;k<5;k++){
    fill(i*255/9,k*255/3,250);
    ellipse(i*80+40,k*80+40,10,10);
  }
}


(4)
今天學了畫出很多幾何圖形,我覺得調顏色好難喔!還沒有抓到訣竅,之後應該會越來越順手。

2012年9月11日 星期二

Week01 HW01



2.
size(400,400);
PImage SpongeBob;
SpongeBob = loadImage("http://www.blogcdn.com/chinese.engadget.com/media/2008/08/1917212687.jpg");
image(SpongeBob,20,20);


3.作業



4.今天學到什麼?有甚麼聽不懂?
今天學了用processing寫程式,目前學的都還簡單,使用的單字都是以前寫過的,我用processing畫出了一張海綿寶寶的圖。
目前是都沒有什麼聽不懂的,但是google的bolg我第一次用,還蠻不熟悉的,都不知道哪些東西要按哪裡才看的到。要再熟悉一下。