顯示具有 98161004游宗穎 標籤的文章。 顯示所有文章
顯示具有 98161004游宗穎 標籤的文章。 顯示所有文章

2013年1月14日 星期一

Week19,Final project


1.系統名稱
越吃越長貪食蛇

2.製作方式
用processing 結合arduino板 製作出一個簡易的貪食蛇遊戲

並設置4個按鈕 控制貪食蛇上下左右行走 讓自己越吃越長
隨心所欲愛吃什麼就吃什麼

3.圖片




 



















4.心得介紹
由於之前所做的跟其他組相似,所以全部都重新來過,所以我們做一個貪食蛇的遊戲
遊戲非常簡單,讓大家操作起來更得心應手也有趣,所以瞞開心的也蠻有成就感的yeah

5.影片

6.組員分工情況
我們的程式設計 還有配接電路加上所有的美觀美術都是大家一起分工合作完成的,非常和樂融融,開心萬分。

2012年12月27日 星期四

Week15.HW12

本周將銜接上禮拜的繼續增加按鈕操控的部分
本已大致安排好按鈕位置與功能鍵

但好像跟其他組類似 所以我們有意改做其他的
因為計畫敢不上變化 重新會導致整個作業將從零開始
所以我們也將斟酌情況 製作出遊戲
因為時間緊迫 若成果未如預期 敬請包含
我們將繼續加油 。

2012年12月4日 星期二

Week13, Hw11

1. 瑪莉有隻小綿羊


2.我們的厲害樂譜

3212333 222 355
3212333 22321

3345  5432  1123 322
3345  5432 1123 211

3. 程式碼
int buttonPin2 = 2;
int buttonPin3 = 3;
int buttonPin4 = 4;
int buttonPin5 = 5;
int buttonPin6 = 6;
int buttonState2 = 0;
int buttonState3 = 0; 
int buttonState4 = 0;
int buttonState5 = 0;
int buttonState6 = 0; 
void setup() {
  pinMode(buttonPin2, INPUT);
 pinMode(buttonPin3, INPUT);
 pinMode(buttonPin4, INPUT);
 pinMode(buttonPin5, INPUT);
 pinMode(buttonPin6, INPUT); 
  Serial.begin(9600);
}
void loop() {
  buttonState2 = digitalRead(buttonPin2);
  buttonState3= digitalRead(buttonPin3);
  buttonState4= digitalRead(buttonPin4);
  buttonState5 = digitalRead(buttonPin5);
  buttonState6 = digitalRead(buttonPin6);
  if (buttonState2 == HIGH) {    
    Serial.println("Start Playing");
   tone(8, 262, 10);
  }
  if (buttonState3 == HIGH) {    
    Serial.println("Start Playing");
   tone(8, 294, 10);
  }
  if (buttonState4 == HIGH) {    
    Serial.println("Start Playing");
   tone(8, 330, 10);
  }
  if (buttonState5 == HIGH) {    
    Serial.println("Start Playing");
   tone(8, 349, 10);
  }
  if (buttonState6 == HIGH) {    
    Serial.println("Start Playing");
   tone(8, 392, 10);
  }
}

4.這次的arduino我覺得超酷超有趣的,但是在接線時有點複雜,不過我們還是突破了,所以我們超有成就感,自己做出一座簡易鋼琴的感覺超妙的,讓我回憶起高中時作詞作曲的歲月,所以繼續加油吧 大家!

2012年11月27日 星期二

Week12, Hw10

1. 七彩霓虹燈影片
 
2. 我們做了持續閃爍的七彩霓虹燈

3. 程式碼
int sensorPin = A0;    // select the input pin for the potentiometer
int ledPin = 7;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor
void setup() {
  Serial.begin(9600);
  pinMode(7, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(1, OUTPUT);
}
void loop() {
  sensorValue = analogRead(sensorPin);
  Serial.println(sensorValue);
  digitalWrite(7, HIGH);
  delay(100);
  digitalWrite(6, HIGH);
  delay(100);
   digitalWrite(5, HIGH);
  delay(100);
   digitalWrite(4, HIGH);
  delay(100);
   digitalWrite(3, HIGH);
  delay(100);
   digitalWrite(2, HIGH);
  delay(100);
   digitalWrite(1, HIGH);
  delay(100);

  digitalWrite(7, LOW);
  delay(100);
  digitalWrite(6, LOW);
  delay(100);
   digitalWrite(5, LOW);
  delay(100);
   digitalWrite(4, LOW);
  delay(100);
   digitalWrite(3, LOW);
  delay(100);
   digitalWrite(2, LOW);
  delay(100);
   digitalWrite(1, LOW);
  delay(100);

  delay(50);                 
}

4. 心得
今天的七彩霓虹燈非常有趣,感謝森哥的照料與支持,我們將會更加茁壯努力再出發!

week11, hw09

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


1.設計個微型機器人


2.做一個射擊互動遊戲


02.貼一個Arduino應用的影片

03你可能用Arduino想做什麼


我想利用Arduino做一個LED燈的火樹銀花,充滿視覺的滿足感


心得
  Arduino這個工具感覺很特別,希望能夠學到更多,做出更新奇的遊戲

2012年11月13日 星期二

期中作品

這是以乒乓球為概念做成的遊戲

而且可以兩個人一起玩

增加朋友間的互動~

圖1


如圖1,左右兩方的藍色條槓為玩家控制,黃色的為球

左方玩家用w、s鍵控制上下移動,右方則↑↓鍵控制



圖2
 
 
 
最上方的紅色部分為雙方的得分數,
且遊戲中上下邊的黑色線條為牆壁
碰到可以反彈
 
 
 


int ballSize = 15;


float ballX;

float ballY;

float ballSpeedX;

float ballSpeedY;

int padding = 25;

int paddleH = 50;

float paddleSpeedY = 3;

float paddleLePosY;

float paddleLeSpeedY = 0;

float paddleRiPosY;

float paddleRiSpeedY = 0;

int scoreLe = 0;

int scoreRi = 0;

void setup() {

size(480, 360);

background(0);

ballX = width/2;

ballY = height/2;

ballSpeedX = 3;

paddleLePosY = height/2-paddleH/2;

paddleRiPosY = height/2-paddleH/2;

}

void draw() {

if (ballX &rt;= width || ballX <= 0 ) {

if ( ballX &rt;= width ) {

scoreLe += 1;

    } 

 else {

scoreRi += 1;

    }

    ballX =  width/2;

    ballY = height/2;

    ballSpeedY = 0;

    paddleLePosY = height/2 - paddleH/2;

    paddleRiPosY = height/2 - paddleH/2;

  }

  noStroke();

  fill(235,168,50);

  rectMode(CORNER);

  rect(0, 0, width, height);

  stroke(100);

  line(padding, padding, width-padding, padding);

  line(padding, height-padding, width-padding, height-padding);

  line(width/1, padding, width/1, height-padding);

  fill(255,0,0);

  textAlign(LEFT);

  text(scoreLe,padding, padding-10); 

  textAlign(RIGHT);

  text(scoreRi, width-padding, padding-10);

  paddleLePosY += paddleLeSpeedY;

  if (paddleLePosY < padding) {

    paddleLePosY = padding;

  } 

  else if (paddleLePosY+paddleH &rt; height-padding) {

    paddleLePosY = height-padding-paddleH;

  }

  paddleRiPosY += paddleRiSpeedY;

  if (paddleRiPosY < padding) {

    paddleRiPosY = padding;

  } 

  else if (paddleRiPosY+paddleH &rt; height-padding) {

    paddleRiPosY = height-padding-paddleH;

  }

  noStroke();

  fill(0,128,255);

  rectMode(CORNER);

  rect(padding, paddleLePosY, 10, paddleH);

  rect(width-padding, paddleRiPosY, 10, paddleH);

  ballX += ballSpeedX;

  ballY += ballSpeedY;

  if ( ballY-ballSize/2 < padding || ballY+ballSize/2 &rt; height-padding ) {

    ballSpeedY *= -1;

  }

  if (ballX-ballSize/2 <= padding && ballX+ballSize/2 &rt; padding) {

    if (ballY &rt;= paddleLePosY && ballY <= paddleLePosY+paddleH) {

      ballSpeedX *= -1;

      float hit = ballY - (paddleLePosY+paddleH/2);

      ballSpeedY += (hit / (paddleH/2)) *2; // range -1 to 1 (*2)

    }

  }

  if (ballX+ballSize/2 &rt;= width-padding && ballX-ballSize/2 < width-padding) {

    if (ballY &rt;= paddleRiPosY && ballY <= paddleRiPosY+paddleH) {

      ballSpeedX *= -1; 

      float hit = ballY - (paddleRiPosY+paddleH/2);

      ballSpeedY += (hit / (paddleH/2)) *2; // range -1 to 1 (*2)

    }

  }

  noStroke();

  fill(255,255,0);

  rectMode(CENTER);

  rect(ballX, ballY, ballSize, ballSize);

}

void keyPressed() {

  if (key == 'w' || key == 'W') {

    paddleLeSpeedY = paddleSpeedY * -1;

  } 

  else if (key == 's' || key == 'S') {

    paddleLeSpeedY = paddleSpeedY;

  } 

  else if (keyCode == UP) {

    paddleRiSpeedY = paddleSpeedY * -1;

  } 

  else if (keyCode == DOWN) {

    paddleRiSpeedY = paddleSpeedY;

  }

}

void keyReleased() {

  if (key == 'w' || key == 'W' || key == 's' || key == 'S') {

    paddleLeSpeedY = 0;

  } 

  else if (keyCode == UP || keyCode == DOWN) {

    paddleRiSpeedY = 0;

  }

}

2012年10月30日 星期二

week08 , hw08

1.1. 你之前完成了什麼?


簡陋的圖樣和不會移動的橫槓


1.2. 你今天計畫要做什麼?


美化整個圖樣和想辦法讓橫槓和球移動
還有分數的計算

1.3. 可能會遇到的問題... (及可能的解決方法)

依然不會動或跑不出來
2. 請把你目前期中作品的進度貼出來





 
 
加強了整個遊戲的視覺辨識度
以及橫槓的大小,但是只有球能動
橫槓和分數依舊無動靜ㄏㄏ

2012年10月23日 星期二

week07 , Hw07

目前進度

這是類似擂台乒乓球的遊戲,目前只有球能動

兩邊的橫槓還不行,預計要設計成能夠兩人共同

遊戲的遊戲





視訊

Week06 , Hw06






HW06第一部分: "寫"作品建議, 讚美、寫賣點

潘瀅玉那組我覺得很特別,讓人會很想玩
而且也很有內涵,感覺不簡單,尊爵不凡。


HW06第二部分: 今天的進度: 做期中作品

素材;
一些背景和主角圖片和所需的語法,以及背景音樂
和特效音樂。

想流程,很細地寫下步驟

與小朋友下樓梯一樣,要仔細小心的往下跳,
不能太慢也不能太快!過程中可能會有許多障礙,
玩家必須要有耐心以及細心才能得更多分數!

2012年10月9日 星期二

Week05 , HW05

 
 
1.自己動
 

void setup(){
  size(600,600);
}
float rrr=0.01;
void draw(){
  translate(300,300);
  
rotate(rrr+=0.01);

 background(0,0,0);
 
  for(int i=0;i<36;i++){
    rotate( PI/18);
     fill(255,168,70);
    ellipse(100,0,150,20);
    
    fill(80,10,70);
     ellipse(0,0,80,80);
     
     fill(70,60,230);
     ellipse(50,0,20,20);
     
     
     fill(150,60,230);
     ellipse(80,0,10,20);
     
     fill(150,255,230);
     ellipse(110,0,50,20);
     
      fill(150,170,50);
     ellipse(140,0,10,20);
     
     
    
  }
} 

2.跟滑鼠動,而且要按滑鼠(左右鍵都可)鍵後才會轉動

 
 






void setup(){
  size(600,600);
}
float rrr=0.1;
void draw(){
  
  translate(mouseX,mouseY);
  if(mousePressed){ float mymove=(mouseX-pmouseX)*(mouseX-pmouseX)+ 
(mouseY-pmouseY)*(mouseY-pmouseY); 

rotate(rrr+=0.1);

 background(0,0,0);
 
  for(int i=0;i<36;i++){
    rotate( PI/18);
     fill(255,168,70);
    ellipse(100,0,150,20);
    
    fill(80,10,70);
     ellipse(0,0,80,80);
     
     fill(70,60,230);
     ellipse(50,0,20,20);
     
     
     fill(150,60,230);
     ellipse(80,0,10,20);
     
     fill(150,255,230);
     ellipse(110,0,50,20);
     
      fill(150,170,50);
     ellipse(140,0,10,20);
     
     
    
  }
  }
}



3.期中作品想法


會選擇做類似曾經瘋迷一時的"小朋友下樓梯",

這款遊戲在我高中沒智慧型手機的時候,陪伴我

度過許多時光,實在是很懷念,因此決定想再次擁有

這美好的小回憶

2012年10月2日 星期二

week04, hw04








void setup()
{
size(500,400);
background(255);
fill(255,0,0);
rect(0,0,50,50);
fill(0,255,0);
rect(0,50,50,50);
fill(0,0,255);
rect(0,100,50,50);
fill(255,200,170);
rect(0,150,50,50);
fill(0,0,0);
rect(0,200,50,50);
fill(255,255,255);
rect(0,250,50,50);
fill(255,255,255);
rect(0,300,50,50);
ellipse(0+25,250+25,10,10);
fill(255,255,255);
rect(0,350,50,50);
ellipse(0+25,300+25,15,15);
stroke(255,0,0);
strokeWeight(10);
}
int r,g,b,i,x,y;
void draw()
{
if(mouseX < 50 && mouseY &rt;250 && mouseY <300 && mousePressed)
{
i=5;
}
else if(mouseX < 50 && mouseY &rt;300 && mouseY <350 && mousePressed)
{
i=10;
}
else if(mouseX < 50 && mouseY &rt; 350 && mouseY < 400 && mousePressed)
{
i=20;
r=255;
g=255;
b=255;
}
else if(mouseX<50 && mouseY<50 && mousePressed)
{
r=255;
g=0;
b=0;
}
else if(mouseX<50 && mouseY&rt;50 && mouseY<100 && mousePressed)
{
r=0;
g=255;
b=0;
}
else if(mouseX<50 && mouseY&rt;100 && mouseY<150 && mousePressed)
{
r=0;
g=0;
b=255;
}
else if(mouseX<50 && mouseY&rt;150 && mouseY<200 && mousePressed)
{
r=255;
g=200;
b=170;
}
else if(mouseX<50 && mouseY&rt;200 && mouseY<250 && mousePressed)
{
r=0;
g=0;
b=0;
}
if(mouseX&rt;70 && pmouseX&rt;70){
if(mousePressed)
{
strokeWeight(i);
stroke(r,g,b);
line(mouseX,mouseY,pmouseX,pmouseY);
}
}
}

心得:從小看蠟筆小新長大 ,現在我長大了,但他還是小新,實在是很感慨,我想他才是我心目中的不老天王吧,能夠畫出心目中的偶像真是我的榮幸,以及感謝老師能夠給予這麼棒的教材真的很感動拉

2012年9月25日 星期二

Week03, Hw03


作業1



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

void draw(){
  fill(255,255,255);
  rect(100,100,100,100);

  fill(255,168,178);
  ellipse(mouseX,mouseY,100,80);
  fill(0,0,0);
  ellipse(mouseX-15,mouseY-15,5,10);
  fill(0,0,0);
  ellipse(mouseX+15,mouseY-15,5,10);
  fill(0,0,0);
  ellipse(mouseX,mouseY+25,30,20);
  fill(255,168,178);
  ellipse(mouseX,mouseY+25,25,15);
  fill(0,0,0);
  ellipse(mouseX-5,mouseY+25,3,6);
  fill(0,0,0);
  ellipse(mouseX+5,mouseY+25,3,6);
  fill(255,168,178);
  ellipse(mouseX+30,mouseY-48,10,30);
  fill(255,168,178);
  ellipse(mouseX-30,mouseY-48,10,30);
  
}







作業2





void setup(){
  size(600,600);
  //frameRate(1);
}
float x=100,y=100;
void draw(){
  background(0,0,0);

  fill(123,72,38);
  ellipse(mouseX-5,mouseY-50,8,20);
   fill(123,72,38);
   ellipse(mouseX,mouseY-45,50,10);
   fill(123,72,38);
   ellipse(mouseX,mouseY-40,65,10);
    fill(123,72,38);
    ellipse(mouseX,mouseY-35,80,10);
     fill(123,72,38);
     ellipse(mouseX,mouseY-28,90,15);
  
  
  
  
  translate(x,y);
  fill(255,168,178);
  ellipse(0,0,100,80);
  fill(0,0,0);
  ellipse(-15,-15,5,10);
  fill(0,0,0);
  ellipse(+15,-15,5,10);
  fill(0,0,0);
  ellipse(0,+25,30,20);
  fill(255,168,178);
  ellipse(0,+25,25,15);
  fill(0,0,0);
  ellipse(-5,+25,3,6);
  fill(0,0,0);
  ellipse(+5,+25,3,6);
  fill(255,168,178);
  ellipse(+30,-48,10,30);
  fill(255,168,178);
  ellipse(-30,-48,10,30);
 
  x=x*0.9 + mouseX*0.1;
  y=y*0.9 + mouseY*0.1;
}

作業3 心得:這次對於畫圖的技巧感覺更熟練了!

2012年9月18日 星期二

Week02, HW02 ,畫圖


作業1



size(600,600);
for(int i=0;i<50;i++){
fill(random(255), random(255), random(255));
rect(random(500), random(500), random(500), random(500));}




作業2



size(800,600);
for( int i=0;i<80;i++)
{ for( int k=0;k<60;k++)
{fill(i*255/40,k*255/30,0); 
rect(i*10,k*10,10,10);
}}


作業3






size(400,300);
for( int i=0;i<4;i++)
{ for( int k=0;k<3;k++)
{fill(i*255/4,k*255/3,0); 
ellipse(i*100+50,k*100+50,100,100);
}}




size(400,300);
for( int i=0;i<4;i++)
{ for( int k=0;k<3;k++)
{fill(i*255/4,k*255/3,0); 
ellipse(i*100+50,k*100+50,100,100);
fill(195,195,195);
ellipse(i*100+50,k*100+50,20,100);
fill(128,128,225);
ellipse(i*100+50,k*100+50,20,20);
}}




心得: 今天學到了很多小技巧,非常充實,by the way,開燈看投影太亮了看不清楚

2012年9月11日 星期二

Week 01 hw 01

http://www.youtube.com/watch?v=0UN2iYrZmEY
size(500,500);
PImage kitty;
kitty = loadImage("http://hello-kitty.sanriotown.com/images/kitty.png");

image(kitty, 20,20);
saveFrame("kitty");




今天很開心能夠知道有processing這種簡單的程式語言語法,

雖然比其他語言簡單許多但是功能也能很強大,實在是相當感動啦










size(600,600);
fill(195,195,195);
ellipse(300,300,500,500);
fill(255,255,255);
ellipse(300,300,490,490);
noStroke();
fill(195,195,195);
triangle(258,295,291,48,317,293);
triangle(103,440,258,295,317,293);
triangle(258,295,317,293,493,441);

我覺得角度的設定實在很難,總是差強人意,我會繼續研磨,做出更好作品!