顯示具有 99160991田仲平 標籤的文章。 顯示所有文章
顯示具有 99160991田仲平 標籤的文章。 顯示所有文章

2012年12月25日 星期二

Week15,HW11

我們這組目前期末作業的計劃是要延續期中作品:大方快吃小方塊,期末再加上Arduino來連接四顆按鈕,上下左右來控制紅色方塊。

              
    現在我們的進度是在思考和修正如何將其中程式碼的滑鼠事件,轉換成按鈕來控制,也因為之前的程式碼只輸入了方塊只要跟著滑鼠移動而已,所以簡單許多,而這次要在加上四顆按鈕對我們來說也相對較困難,再加上要將之前遊戲執行後的問題想要一併解決,也就是有時候會一開啟就碰到大方塊就馬上遊戲結束的問題,因此也讓期末作業困難度又增加了。

2012年12月4日 星期二

Week13,HW10


int inpin1=3;
int inpin2=4;
int inpin3=5;
int inpin4=6;
int inpin5=7;


int buttonState1 = 0; // variable for reading the pushbutton status
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4 = 0;
int buttonState5 = 0;

void setup() {

pinMode(inpin1, INPUT);
pinMode(inpin2, INPUT);
pinMode(inpin3, INPUT);
pinMode(inpin4, INPUT);
pinMode(inpin5, INPUT);


}

void loop() {
  buttonState1 = digitalRead(inpin1);
  buttonState2 = digitalRead(inpin2);
  buttonState3 = digitalRead(inpin3);
  buttonState4 = digitalRead(inpin4);
  buttonState5 = digitalRead(inpin5);

  if (buttonState1 == HIGH)  tone(9, 524,4);
  else if (buttonState2 == HIGH)  tone(9, 588,4);
  else if (buttonState3 == HIGH)  tone(9, 660,4);
  else if (buttonState4 == HIGH)  tone(9, 698,4);
  else if (buttonState5 == HIGH)  tone(9, 784,4);
  else {
  noTone(9);
  }
}



2012年11月27日 星期二

Week12,HW9

作業:

int sensorPin = A0;    // select the input pin for the potentiometer
int ledPin = 13;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor

void setup() {
  Serial.begin(9600);
  // declare the ledPin as an OUTPUT:
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(7, OUTPUT);
}

void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);
   Serial.println(sensorValue);
  // turn the ledPin on
  digitalWrite(13, HIGH);
  delay(50);
  digitalWrite(12, HIGH);
  delay(100);
  digitalWrite(11, HIGH);
   delay(150);
  digitalWrite(10, HIGH);
     delay(200);
  digitalWrite(9, HIGH);
   delay(250);
  digitalWrite(8, HIGH);
   delay(300);
  digitalWrite(7, HIGH);
   delay(350);
  // stop the program for <sensorValue> milliseconds:
  delay(sensorValue);        
  // turn the ledPin off:      
  digitalWrite(7, LOW);
  delay(50);
  digitalWrite(8, LOW);
  delay(100);
  digitalWrite(9, LOW);
  delay(150);
  digitalWrite(10, LOW);
  delay(200);
  digitalWrite(11, LOW);
  delay(250);
  digitalWrite(12, LOW);
  delay(300);
  digitalWrite(13, LOW);
  delay(350);
  // stop the program for for <sensorValue> milliseconds:
  delay(sensorValue);                
}

影片:

2012年11月20日 星期二

Week11,HW09

1.有關arduino的影片



2.期末作品的構想\

做射擊遊戲~~大概是這樣啦。


2012年11月13日 星期二

Midtern


1.其中作品程式碼

import ddf.minim.*;
Minim minim;
AudioPlayer song;
AudioPlayer song2;
AudioPlayer song3;
float x;
float y;
float easing = 0.05;
int r =8 ;
int gameCase = 1;
int startTime;
int glose=1;
int gwin=1;
float[] bugx = new float [60];
float[] bugy = new float [60];
int[] bugr = new int [60];
float[] speedx = new float [40];
float[] speedy = new float [40];
float a = 0.05;

void setup() {
size (800, 800);
startTime=millis();
smooth();
minim = new Minim(this);
song = minim.loadFile("music.mp3");
song.play();
rectMode (CENTER);
for (int i=0; i<60; i++) {
bugx[i] = random (0, width);
bugy[i] = random (0, height);
bugr[i] = int (random (0, 30));
}
x = random (0, width);
y = random (0, height);
}

void draw() {
background (100, 232, 138);
noStroke();
fill (100,100,100);
startTime=0+millis()/1000;
textSize(45);
text("Time:"+startTime, 80,80);

fill (0);
for (int i=0; i<40; i++) {
rect (bugx[i], bugy[i], bugr[i]*2, bugr[i]*2);
}
fill (255, 0,0 );
rect (x, y, r*2, r*2);
for (int i=0; i<40; i++) {
float z=(bugx[i]-x)*(bugx[i]-x)+(bugy[i]-y)*(bugy[i]-y)-(bugr[i]+r)*(bugr[i]+r);
if (z<0 && bugr[i]>r) {
gameCase = 0;
}
}
if (gameCase == 0) {
gameover();
} else {
float targetX = mouseX;
float targetY = mouseY;
x += (targetX - x) * easing;
y += (targetY - y) * easing;
for (int i=0; i<40; i++) {
move (i);
}
}
for (int i=0; i<40; i++) {
if ((bugx[i]-x)*(bugx[i]-x)+(bugy[i]-y)*(bugy[i]-y)-(bugr[i]+r)*(bugr[i]+r)<0 && bugr[i]<r) {
r = int (sqrt (r*r + bugr[i]*bugr[i]));
bugr[i] = 0;
}
}
int sum = 100;
for (int i=0; i<40; i++) {
sum += bugr[i];
}
if (sum == 100) {
win();
}
}
void move(int i) {
speedx[i] += random (-a, a);
speedy[i] += random (-a, a);
bugx[i] += speedx[i];
bugy[i] += speedy[i];
if (bugx[i]<-10) {
bugx[i] += width;
}
if (bugx[i] > width+10) {
bugx[i] -= width;
}
if (bugy[i] < -10) {
bugy[i] += height;
}
if (bugy[i] > height+10) {
bugy[i] -= height;
}
}
void gameover() {
background (0, 0, 0);
rect(800,800,0,0);
fill (255,255,255);
if(glose==1)
{
  song.close();
  minim.stop();

  stop();
  noLoop();
  minim = new Minim(this);
  song2 = minim.loadFile("music2.mp3");
  song2.play();
}
textSize (60);
textAlign(CENTER);
text ("You Lose!", width/2, height/2);
textAlign(LEFT);
text("YourTime:"+startTime, 230,330);
}
void win() {
background (0, 0, 0);
rect(800,800,0,0);
fill (255,255,255);
if(gwin==1)
{
  song.close();
  minim.stop();
  stop();
  noLoop();
  minim = new Minim(this);
 song3 = minim.loadFile("music3.mp3");
 song3.play();
}
textSize (60);
textAlign(CENTER);
text ("You Win!", width/2, height/2);
textAlign(LEFT);
text("YourTime:"+startTime, 230,330);
}




遊戲是紅色小方塊要吃黑色小方塊,只能是面積比自己小的,看玩家能在多久的時間將所有的小方塊吃完。

2012年11月12日 星期一

Week08, HW08

1.1 你之前完成了什麼

完成了讓方塊在畫面中隨意亂跑。

1.2 你今天計畫完成什麼

可以讓大球吃小球。

1.3可能會遇到的問題

大球吃小球及吃完球會變大的問題


2012年10月23日 星期二

HW7, Week07

(一)期中作品
1.新增一些素材、圖片。
2.讓蒼蠅隨處亂飛


(二)視訊processing
 

  

2012年10月16日 星期二

week06,HW06

(一)
a:
我覺得張耀璇那組所做的射龍門感覺蠻有趣的,沒玩過這種遊戲,期待它們做出來的成品是怎樣。

b:
賴祺清這組要做的是炸彈超人,期待成品~

(二)
找到的一些素材






2012年10月9日 星期二

HW05, Week05






void setup()
{
  size(700,700);
}
float x=100,y=100, r=0;

void draw()
{
  background(0,0,0);

  translate(mouseX,mouseY);
  rotate(r);
  r+=0.01;
  fill(255,100,150);
  fill(random(255),random(255),random(255));
  for(int i=0;i<16;i++)
  {
    rotate(PI/8);
    ellipse(mouseX-300,mouseY-300,150,40);
  }
}


這是作業一和作業二一起的,會旋轉和滑鼠互動。


期中作業; 打蒼蠅遊戲




2012年10月2日 星期二

Week04,HW04


void setup()
{
  size(500,400);
  fill(255,0,0); rect(0,0,50,50);
  fill(0,255,0); rect(0,50,50,50);
  fill(50,50,1);
  rect(0,100,50,50);
  rect(0,150,50,50);
  ////
  fill(255,120,0); rect(450,0,50,50);rect(450,50,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(0,255,0);
  else if(mousePressed && mouseX<50 && mouseY<150)
  save("aaaa.png");
  else if(mousePressed && mouseX<50 && mouseY<200)
  {
    PImage file = loadImage("aaaa.png");
    image(file, 0,0,500,400);

  }
    else if(mousePressed && mouseX>450 && mouseY<50){
    strokeWeight(++www);
  }
  else if(mousePressed && mouseX>450 && mouseY<1000)
  {
    strokeWeight(--www);
    if(www<2)www=2;
  }
  else if(mousePressed)  line(mouseX, mouseY, pmouseX, pmouseY);
}

2012年9月25日 星期二

Week03,HW03

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

void draw(){

  fill(120,220,255);
  rect(100,100,100,100);

  fill(125,255,0);
  ellipse(mouseX,mouseY,30,100);
}

void setup()
{
  size(600,600);
}
float x=100,y=100;
void draw()
{
  background(0,0,0);
  fill(122,250,121);
  ellipse(mouseX,mouseY,120,80);
  fill(255,255,0);
  ellipse(x,y,50,50);

  x=x*0.9 + mouseX*0.1;
  y=y*0.9 + mouseY*0.1;
}

上到現在感覺到processing這個軟體不必用太多複雜的程式就能畫出要的效果,真的很方便!






2012年9月18日 星期二

week02, HW02,畫圖


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));
}


size(400,300);
for(int i=0;i<40;i++)
{
  for(int k=0;k<30;k++)
  {
    fill(0,k*255/30,i*255/40);
    rect(i*10,k*10,  10,10);
  }
}

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

今天上課教的範例並不會太難,也很有趣。






2012年9月11日 星期二

week01,HW01

size(500,500);
PImage kitty;
kitty=loadImage("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdSogcL2VqDcG3X2ZhyphenhyphenrhQ9lZt91HSQ6MsnnHyGQxxKnIx_lB3FllfjLv17BbE91NlgyEfWnLKwIoCg_W__2IcKu6T1yCwc4Zz_ng-qD9bqg1MTp7DWZIAPpYIbmfh7iydSH-1w1iRdAvz/s640/Blog1.jpg");
image(kitty,20,20);



原圖
 Processing 圖



4.
剛接觸 Processing這個新軟體感覺蠻新鮮的,用簡單幾行程式就能夠大致畫出想要的圖形,蠻好玩的,另外就是上課時投影片看不太清楚。