顯示具有 04160640_陳柏勳 標籤的文章。 顯示所有文章
顯示具有 04160640_陳柏勳 標籤的文章。 顯示所有文章

2018年1月8日 星期一

Week17

組員:04160250 曾凱楠
        04160640 陳柏勳

youtube網址:https://youtu.be/i0a-nTfuOEg

遊玩簡介:第二代雷霆戰機有別於一代,可以藉由搖桿(joystick)前後左右的自由移動,得分方式則是改為吃金幣(碰到得一分),吃兩個金幣會產生一個怪物(碰到扣一點生命,生命歸零遊戲結束),吃七個金幣會產生一個藥水(可以回復一點生命),求得高分之餘,在吃金幣與產生怪物之間做抉擇吧!

(使用搖桿與按鈕操作)


2017年12月11日 星期一

Week13 陳柏勳


http://yehnan.blogspot.tw/2014/02/arduino.html(程式碼)
接線---
調baud:115200
轉動旋鈕後數值會跟著增減
processing

import processing.serial.*;
Serial myPort;

void setup(){
  size(500,500);
  myPort=new Serial(this,"COM7",115200);
}
int x=0;
int lf=10;
void draw(){
  background(0);
  if(myPort.available()>0){
    String now = myPort.readStringUntil(lf);
    x=int(split(now,'\r')[0]);
    println(now);
  }
  ellipse(width/2+x*20,height/2,100,100);
}

2017年12月4日 星期一

Week12 陳柏勳

1.更新驅動軟體
2.改序列阜、選擇開發粄
3.複製joystick的程式碼,並察看序列阜監控視窗(出現亂碼)
4.改成115200bound才正常出現座標數值
5.processing範例
6.processing讀"COM7"

7.


2017年11月23日 星期四

Week10

組員:04160250 曾凱楠
        04160640 陳柏勳


遊玩簡介:
簡單的射擊遊戲,發射砲彈的方式是使用點擊滑鼠(左、右、滾輪皆可)。
砲彈撞擊到怪物使砲彈與子彈消失,並得1分。
擊殺7隻怪物的倍數(7、14、21...)會掉落藥水,射擊藥水可以增加生命值。
若是未能及時在怪物接觸到底線之前擊殺他則扣1點生命值,生命值歸零則遊戲結束。
擊殺20隻怪物以後(即得20分),怪物出現速度將會大幅提升,增加不少難度。

2017年10月30日 星期一

Week06 陳柏勳

1.畫出棋盤
void setup(){
  size(850,500);
}
int userJ=9,userI=5;
int waterN=0;
int []waterJ=new int [100];
int []waterI=new int [100];
void draw(){
  background(#95FF03);
  noStroke();
  for(int i=0;i<10;i++){
    for(int j=0;j<17;j++){
      if((j-i)%2==0) fill(#05F717);
      else fill(#95FF03);
      rect(j*50,i*50,50,50);
    }
  }
2.畫出主角(紅點)
fill(255,0,0);ellipse(userJ*50+25,userI*50+25,50,50);
  for(int i=0;i<waterN;i++){
    fill(#03B9FF);ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);

3.操作
void keyPressed(){
  if(keyCode==LEFT) userJ--;
  if(keyCode==RIGHT) userJ++;
  if(keyCode==UP) userI--;
  if(keyCode==DOWN) userI++;
  if(key==' '){waterI[waterN]=userI;waterJ[waterN]=userJ;waterN++;}
}

4.鱷魚上下排牙齒(滑鼠停在牙齒上時反黑)
void setup(){
  size(500,500);
  }
  void draw(){
    background(255);
    fill(0,155,0);ellipse(250,250,300,300);
    for(int i=0;i<9;i++){
      fill(255);rect(110+i*30,200,30,30);
      if(110+i*30<mouseX && mouseX<110+i*30+30 && 
      200<mouseY && mouseY <200+30){
        fill(0);rect(110+i*30,200,30,30);
      }
    }
    for(int i=0;i<9;i++){
      fill(255);rect(110+i*30,300,30,30);
      if(110+i*30<mouseX && mouseX<110+i*30+30 && 
      300<mouseY && mouseY <300+30){
        fill(0);rect(110+i*30,300,30,30);
  }
    }
  }



2017年10月16日 星期一

Week05 陳柏勳

1.
void setup(){
  size(800,800);
}
void draw(){
  background(128);
  strokeWeight(20);
  ellipse(100,200,180,360);
  ellipse(300,200,180,360);
  
  ellipse(100,200,10,10);
  ellipse(300,200,10,10);
  line(mouseX,mouseY,100,200);
  line(mouseX,mouseY,300,200);
2.

void setup(){
  size(800,800);
}
void draw(){
  background(128);
  strokeWeight(20);
  ellipse(100,200,180,360);
  ellipse(300,200,180,360);
  
  //ellipse(100,200,10,10);
  //ellipse(300,200,10,10);
  //line(mouseX,mouseY,100,200);
  //line(mouseX,mouseY,300,200);
  
  float angle1 = atan2( (mouseY-200)/2 , mouseX-300);
  float newX1 = 300+100*cos(angle1)/2;
  float newY1 = 200+200*sin(angle1)/2;
  ellipse(newX1,newY1,10,10);
  float angle2 =atan2( (mouseY-200)/2 , mouseX-100);
  float newX2= 100+100*cos(angle2)/2;
  float newY2= 200+200*sin(angle2)/2;
  ellipse(newX2,newY2,10,10);
}
3.
void setup(){
   size(400,800);
}
void draw(){
  background(0,128,0);
  background(0,128,0);
  fill(#FA9703);
  ellipse(200,600,100,100);
  line(mouseX,mouseY,200,600);
  float angle = atan2(mouseY-600,mouseX-200);
  fill(#F9FA03);ellipse(200+50*cos(angle),600+50*sin(angle),30,30);
}
4.
void setup(){
   size(400,800);
}
float ballX=200,ballY=600;
float ballVX=0,ballVY=0;
float angle=0;
void draw(){
  background(0,128,0);
  fill(#FA9703);
  ellipse(200,600,100,100);
  line(mouseX,mouseY,200,600);
  fill(#F9FA03);ellipse(200+50*cos(angle),600+50*sin(angle),30,30);
  angle=atan2(mouseY-600,mouseX-200);
  
  ballX+=ballVY;
  ballY+=ballVY;
}
void mouseMoved(){
  ballX=200+50*cos(angle);
  ballY=600+50*sin(angle);
}
void mousePressed(){
  ballVX=cos(angle);
  ballVY=sin(angle);
}
5.
void setup(){
  size(400,800);
}
float [] ballX=new float[10];
float [] ballY=new float[10];
float [] ballVX=new float[10];
float [] ballVY=new float[10];
float []angle=new float[10];
int now=0;
void draw(){
  background(0,128,0);
  fill(#FA9703);ellipse(200,600,100,100);
  for(int i=0;i<10;i++){
  fill(#F9FA03);ellipse(ballX[i],ballY[i],30,30);
  ballX[i]+=ballVX[i]; ballY[i]+=ballVY[i];
  }
  angle[now] = atan2(mouseY-600,mouseX-200);
  
}
void mouseMoved(){
  ballX[now]=200+50*cos(angle[now]);
  ballY[now]=600+50*sin(angle[now]);
}
void mousePressed(){
  ballVX[now]=cos(angle[now]);
  ballVY[now]=sin(angle[now]);
  now++;
}
6.
加上if(now>=10) now=0;
防當機

2017年9月30日 星期六

Week03 陳柏勳

憤怒鳥
1.動者恆動
2.套用憤怒鳥圖片,並把滑鼠設在圖片中心點

3.
4.
5.
小朋友下樓梯
1.

2017年9月25日 星期一

Week02 陳柏勳

1.加強上個禮拜的小畫家,使滑鼠畫筆可改變粗細與顏色
2.為了讓畫面不要太亂,要加入讓滑鼠按下後才會產生線條的功能(mousePressed)
3.在左右兩側分別設改變粗細和顏色的區域
4.使左右粗細與改色區塊在拖曳時可不斷線條(方便選色)
5.
6.
 7.
 8.
9.做出類似觸手的圖形
雛形
10.拖曳圖片至程式框,可以直接匯入圖片,再加入程式碼使圖片顯示
11.

2017年9月18日 星期一

Week01 陳柏勳

開啟Processing
1.畫線
line(0,0,400,400);
 2.視窗大小與方形
size(600,400);
rect(10,10,200,200);
3.簡易小畫家
void setup(){
  size(600,400);
}
void draw(){
line(mouseX,mouseY,pmouseX,pmouseY);
//rect(10,10,200,200);
}
4.設按鍵更換畫筆顏色
5.最後一節課老師讓我們去OpenProcessing的網頁欣賞別人的作品,並從中尋找靈感
這個作品只需要拖曳滑鼠製造出點和線,但是經過速度與結構鬆垮的調節,產生出的畫面看起來超酷的。