2018年1月23日 星期二
2018年1月8日 星期一
week17

processing 程式碼
import processing.serial.*;
Serial myPort;
color [] Color1={#558AE3, #F2E820, #73F220},Color2={#21F7FC, #ED22CC, #FAB33F};
color [] fishC=new color[16], fishA=new color[8];
PImage imgRod,imghook;
void setup(){
size(750,600);
imgRod=loadImage("Rod.jpg");
imghook=loadImage("hook.jpg");
for(int i=0;i<16;i++){
fishC[i]= Color1[int(random(3))];
}
for(int j=0;j<8;j++){
fishA[j]= Color2[int(random(3))];
}
imageMode(CENTER);
myPort = new Serial(this, "COM7", 115200);
}
float handX=0, handY=0;
boolean handPressed=false;
float a1=0,a2=0;
void draw(){
while(myPort.available()>0){
int now=myPort.read(), w=128,x=128,y=128;
if(now=='w') w = myPort.read();
if(now=='x') x = myPort.read();
if(now=='y') y = myPort.read();
if(x>200) handX+=3;
if(x<50) handX-=3;
if(y>200) handY+=3;
if(y<50) handY-=3;
}
background(255);
line(handX-45,handY-70,handX-50,handY+50);
fill(255); ellipse(350,350,400,400);
for(int i=0;i<16;i+=2){
float x1=350+140*cos(PI/8*i+a1),y1=350+140*sin(PI/8*i+a1);
if(dist(x1,y1,handX-50,handY+50)<25){
fill(255,0,0);
if(handPressed=true) fishC[i]=color(255);
}
else
fill(fishC[i]); ellipse(x1,y1,50,50);
}
for(int i=1;i<16;i+=2){
float x2=350+160*cos(PI/8*i+a1),y2=350+160*sin(PI/8*i+a1);
if(dist(x2,y2,handX-50,handY+50)<25){
fill(255,0,0);
if(handPressed=true) fishC[i]=color(255);
}
else
fill(fishC[i]); ellipse(x2,y2,50,50);
}
fill(255); ellipse(350,350,200,200);
for(int j=0;j<8;j+=2){
float x3=350+70*cos(PI/4*j+a2),y3=350+70*sin(PI/4*j+a2);
if(dist(x3,y3,handX-50,handY+50)<25){
fill(255,0,0);
if(handPressed=true) fishA[j]=color(255);
}
else
fill(fishA[j]); ellipse(x3,y3,50,50);
}
for(int j=1;j<8;j+=2){
float x4=350+50*cos(PI/4*j+a2),y4=350+50*sin(PI/4*j+a2);
if(dist(x4,y4,handX-50,handY+50)<25){
fill(255,0,0);
if(handPressed=true) fishA[j]=color(255);
}
else
fill(fishA[j]); ellipse(x4,y4,50,50);
}
a1+=radians(-0.3);
a2+=radians(0.3);
image(imgRod,handX,handY,150,150);
image(imghook,handX-50,handY+50,30,30);
}
void mouseMoved(){
handX=mouseX; handY=mouseY;
}
void mousePressed(){
handPressed=true;
}
void mouseReleased(){
handPressed=false;
}
ADR 程式碼
// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output
void setup() {
pinMode(SW_pin, INPUT);
digitalWrite(SW_pin, HIGH);
Serial.begin(115200);
}
void loop() {
Serial.write(digitalRead(2));
int w=digitalRead(SW_pin);
int x=analogRead(X_pin);
int y=analogRead(Y_pin);
Serial.write('w');
Serial.write(w);
Serial.write('x');
Serial.write(x/4);
Serial.write('y');
Serial.write(y/4);
delay(50);
}
2017年12月25日 星期一
week15
作期末作業
Arduino程式碼
// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output
void setup() {
pinMode(SW_pin, INPUT);
digitalWrite(SW_pin, HIGH);
Serial.begin(115200);
}
void loop() {
int w=digitalRead(SW_pin);
int x=analogRead(X_pin);
int y=analogRead(Y_pin);
Serial.write(w);
Serial.write(x/4);
Serial.write(y/4);
/*
Serial.print("Switch: ");
Serial.print(digitalRead(SW_pin));
Serial.print("\n");
Serial.print("X-axis: ");
Serial.print(analogRead(X_pin));
Serial.print("\n");
Serial.print("Y-axis: ");
Serial.println(analogRead(Y_pin));
Serial.print("\n\n");*/
delay(50);
}
Processing程式碼
import processing.serial.*;
Serial myPort;
void setup(){
size(200,200);
myPort = new Serial(this, "COM7", 115200);
}
int w, x=128, y=128;
void draw(){
background(255);
while(myPort.available() > 0 ){
w=myPort.read();
x=myPort.read();
y=myPort.read();
}
ellipse(x,y, 20,20);
}
2017年12月18日 星期一
2017年12月11日 星期一
2017年12月4日 星期一
week12






// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output
void setup() {
pinMode(SW_pin, INPUT);
digitalWrite(SW_pin, HIGH);
Serial.begin(9600);
}
void loop() {
Serial.print("Switch: ");
Serial.print(digitalRead(SW_pin));
Serial.print("\n");
Serial.print("X-axis: ");
Serial.print(analogRead(X_pin));
Serial.print("\n");
Serial.print("Y-axis: ");
Serial.println(analogRead(Y_pin));
Serial.print("\n\n");
delay(500);
}
import processing.serial.*;
Serial myPort;
void setup(){
size(400,400);
myPort = new Serial(this, "COM7",9600);
}
void draw(){
if(myPort.available()>0){
String now = myPort.readString();
println(now);
}
}
LED_BLINK 程式碼
// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output
void setup() {
pinMode(SW_pin, INPUT);
digitalWrite(SW_pin, HIGH);
Serial.begin(9600);
}
void loop() {
Serial.write(digitalRead(2));
delay(500);
}
PROCESSING 程式碼
import processing.serial.*;
Serial myPort;
void setup(){
size(400,400);
myPort = new Serial(this, "COM7",9600);
}
void draw(){
if(myPort.available()>0){
int pin2=myPort.read();
println(pin2);
if(pin2==1)background(255,0,0);
else background(0,255,0);
}
}
import processing.serial.*;
Serial myPort;
void setup() {
size(400, 400);
myPort = new Serial(this, "COM7", 9600);
}
void draw() {
if (myPort.available()>0) {
int pin2=myPort.read();
int x= myPort.read();
int y= myPort.read();
println(pin2);
if (pin2==1)background(255, 0, 0);
else background(0, 255, 0);
ellipse(x, y, 20, 20);
}
}
2017年11月22日 星期三
2017年11月6日 星期一
week08
color [] Color1={#558AE3, #F2E820, #73F220},Color2={#21F7FC, #ED22CC, #FAB33F};
color [] fishC=new color[16], fishA=new color[8];
PImage imgRod,imghook;
void setup(){
size(700,700);
imgRod=loadImage("Rod.jpg");
imghook=loadImage("hook.jpg");
for(int i=0;i<16;i++){
fishC[i]= Color1[int(random(3))];
}
for(int j=0;j<8;j++){
fishA[j]= Color2[int(random(3))];
}
imageMode(CENTER);
}
float a1=0,a2=0;
void draw(){
background(255);
image(imgRod,mouseX,mouseY,150,150);
image(imghook,mouseX-50,mouseY+50,30,30);
line(mouseX-45,mouseY-70,mouseX-50,mouseY+50);
fill(255); ellipse(350,350,400,400);
for(int i=0;i<16;i+=2){
float x1=350+140*cos(PI/8*i+a1),y1=350+140*sin(PI/8*i+a1);
if(dist(x1,y1,mouseX-50,mouseY+50)<25){
fill(255,0,0);
if(mousePressed) fishC[i]=color(255);
}
else
fill(fishC[i]); ellipse(x1,y1,50,50);
}
for(int i=1;i<16;i+=2){
float x2=350+160*cos(PI/8*i+a1),y2=350+160*sin(PI/8*i+a1);
if(dist(x2,y2,mouseX-50,mouseY+50)<25){
fill(255,0,0);
if(mousePressed) fishC[i]=color(255);
}
else
fill(fishC[i]); ellipse(x2,y2,50,50);
}
fill(255); ellipse(350,350,200,200);
for(int j=0;j<8;j+=2){
float x3=350+70*cos(PI/4*j+a2),y3=350+70*sin(PI/4*j+a2);
if(dist(x3,y3,mouseX-50,mouseY+50)<25){
fill(255,0,0);
if(mousePressed) fishA[j]=color(255);
}
else
fill(fishA[j]); ellipse(x3,y3,50,50);
}
for(int j=1;j<8;j+=2){
float x4=350+50*cos(PI/4*j+a2),y4=350+50*sin(PI/4*j+a2);
if(dist(x4,y4,mouseX-50,mouseY+50)<25){
fill(255,0,0);
if(mousePressed) fishA[j]=color(255);
}
else
fill(fishA[j]); ellipse(x4,y4,50,50);
}
a1+=radians(-0.3);
a2+=radians(0.3);
}
color [] fishC=new color[16], fishA=new color[8];
PImage imgRod,imghook;
void setup(){
size(700,700);
imgRod=loadImage("Rod.jpg");
imghook=loadImage("hook.jpg");
for(int i=0;i<16;i++){
fishC[i]= Color1[int(random(3))];
}
for(int j=0;j<8;j++){
fishA[j]= Color2[int(random(3))];
}
imageMode(CENTER);
}
float a1=0,a2=0;
void draw(){
background(255);
image(imgRod,mouseX,mouseY,150,150);
image(imghook,mouseX-50,mouseY+50,30,30);
line(mouseX-45,mouseY-70,mouseX-50,mouseY+50);
fill(255); ellipse(350,350,400,400);
for(int i=0;i<16;i+=2){
float x1=350+140*cos(PI/8*i+a1),y1=350+140*sin(PI/8*i+a1);
if(dist(x1,y1,mouseX-50,mouseY+50)<25){
fill(255,0,0);
if(mousePressed) fishC[i]=color(255);
}
else
fill(fishC[i]); ellipse(x1,y1,50,50);
}
for(int i=1;i<16;i+=2){
float x2=350+160*cos(PI/8*i+a1),y2=350+160*sin(PI/8*i+a1);
if(dist(x2,y2,mouseX-50,mouseY+50)<25){
fill(255,0,0);
if(mousePressed) fishC[i]=color(255);
}
else
fill(fishC[i]); ellipse(x2,y2,50,50);
}
fill(255); ellipse(350,350,200,200);
for(int j=0;j<8;j+=2){
float x3=350+70*cos(PI/4*j+a2),y3=350+70*sin(PI/4*j+a2);
if(dist(x3,y3,mouseX-50,mouseY+50)<25){
fill(255,0,0);
if(mousePressed) fishA[j]=color(255);
}
else
fill(fishA[j]); ellipse(x3,y3,50,50);
}
for(int j=1;j<8;j+=2){
float x4=350+50*cos(PI/4*j+a2),y4=350+50*sin(PI/4*j+a2);
if(dist(x4,y4,mouseX-50,mouseY+50)<25){
fill(255,0,0);
if(mousePressed) fishA[j]=color(255);
}
else
fill(fishA[j]); ellipse(x4,y4,50,50);
}
a1+=radians(-0.3);
a2+=radians(0.3);
}
2017年10月30日 星期一
week07
釣魚遊戲

void setup(){
size(500,500);
}
float a1=0,a2=0;////盤子旋轉的速度
void draw(){
background(255);
ellipse(250,250,400,400);
for(int i=0;i<16;i+=2){
ellipse(250+140*cos(PI/8*i+a1),250+140*sin(PI/8*i+a1),50,50);
}
for(int i=1;i<16;i+=2){
ellipse(250+160*cos(PI/8*i+a1),250+160*sin(PI/8*i+a1),50,50);
}
ellipse(250,250,200,200);
a1+=radians(-0.3);
}
讓中間順時針轉 加上圓圈

void setup(){
size(500,500);
}
float a1=0,a2=0;
void draw(){
background(255);
ellipse(250,250,400,400);
for(int i=0;i<16;i+=2){
ellipse(250+140*cos(PI/8*i+a1),250+140*sin(PI/8*i+a1),50,50);
}
for(int i=1;i<16;i+=2){
ellipse(250+160*cos(PI/8*i+a1),250+160*sin(PI/8*i+a1),50,50);
}
ellipse(250,250,200,200);
for(int i=0;i<8;i+=2){
ellipse(250+70*cos(PI/4*i+a2),250+70*sin(PI/4*i+a2),50,50);
}
for(int i=1;i<8;i+=2){
ellipse(250+50*cos(PI/4*i+a2),250+50*sin(PI/4*i+a2),50,50);
}
a1+=radians(-0.3);
a2+=radians(0.3);
}




void setup(){
size(500,500);
}
float a1=0,a2=0;////盤子旋轉的速度
void draw(){
background(255);
ellipse(250,250,400,400);
for(int i=0;i<16;i+=2){
ellipse(250+140*cos(PI/8*i+a1),250+140*sin(PI/8*i+a1),50,50);
}
for(int i=1;i<16;i+=2){
ellipse(250+160*cos(PI/8*i+a1),250+160*sin(PI/8*i+a1),50,50);
}
ellipse(250,250,200,200);
a1+=radians(-0.3);
}
讓中間順時針轉 加上圓圈

void setup(){
size(500,500);
}
float a1=0,a2=0;
void draw(){
background(255);
ellipse(250,250,400,400);
for(int i=0;i<16;i+=2){
ellipse(250+140*cos(PI/8*i+a1),250+140*sin(PI/8*i+a1),50,50);
}
for(int i=1;i<16;i+=2){
ellipse(250+160*cos(PI/8*i+a1),250+160*sin(PI/8*i+a1),50,50);
}
ellipse(250,250,200,200);
for(int i=0;i<8;i+=2){
ellipse(250+70*cos(PI/4*i+a2),250+70*sin(PI/4*i+a2),50,50);
}
for(int i=1;i<8;i+=2){
ellipse(250+50*cos(PI/4*i+a2),250+50*sin(PI/4*i+a2),50,50);
}
a1+=radians(-0.3);
a2+=radians(0.3);
}



2017年10月23日 星期一
2017年10月2日 星期一
week04

加上一堆豬 顯得真正的angry bird
PImage imgBird, imgPig;
void setup(){
size(800,600);
imgBird=loadImage("bird.png");
imgPig=loadImage("ppig.png");
imageMode(CENTER);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
pigx[i][j]=700-i*100; pigy[i][j]=100+j*100; pigAlive[i][j]=true;
}
}
}
float birdX = 400, birdY = 300;
float birdVX = 0, birdVY = 0;
float birdAX =0, birdAY = 0;
float [][]pigx=new float[5][4];
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void draw(){
background(255);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if (dist(pigx[i][j], pigy[i][j], birdX, birdY)<100){
pigAlive[i][j]=false;
}
if(pigAlive[i][j]) image(imgPig, pigx[i][j], pigy[i][j], 100, 100);
}
}
image(imgBird, birdX, birdY, 100, 100);
line(birdX, birdY, 400,300);
birdX += birdVX;
birdY += birdVY;
if(birdX<50){birdX=50; birdVX = -birdVX;}
if(birdX>width-50){birdX=width-50; birdVX= -birdVX;}
if(birdY<50){birdY=50; birdVY = -birdVY;}
if(birdY>height-50){birdY=height-50; birdVY= -birdVY;}
birdVX += birdAX;
birdVY += birdAY;
birdVX *= 0.995;
birdVY *= 0.995;
}
void mouseDragged(){
birdX=mouseX;
birdY=mouseY;
birdVX=birdVY=birdAX=birdAY=0;
}
void mouseReleased(){
birdVX = (400-mouseX)/10.0;
birdVY = (300-mouseY)/10.0;
birdAY = 0.98;
}
2017年9月30日 星期六
week03

載入憤怒鳥跟豬的圖片記得要把圖拉進去
圖片需要改成從角落當中心變成圖片中心當中心
imageMode(CENTER);
讓他能像拉彈弓一樣出去需要BIRD的位置加上速度
birdX birdY birdVX birdVY

除了位置速度 還要加上個加速度AX
現在讓bird碰到pig能消失

PImage imgBird,imgPig;
void setup(){
size(800,600);
imgBird=loadImage("bird.png");
imgPig=loadImage("pig.png");
imageMode(CENTER);
}
float birdX=400,birdY=300,pigX=600,pigY=100;
float birdVX=0, birdVY=0;
float birdAX=0,birdAY=0;
boolean pigAlive=true;
void draw(){
background(255);
//ellipse(birdX, birdY, 100,100);
if(pigAlive)
image(imgPig, pigX,pigY,100,100);
image(imgBird, birdX, birdY,100,100);
if(dist(pigX,pigY,birdX, birdY)<100){
pigAlive=false;
}
line(birdX, birdY,400,300);
birdX +=birdVX;
birdY +=birdVY;
birdVX +=birdAX;
birdVY +=birdAY;
}
void mouseDragged(){
birdX=mouseX;
birdY=mouseY;
birdVX=birdVY=birdAX=birdAY=0;
}
void mouseReleased(){
birdVX = (400-mouseX)/10.0;
birdVY = (300-mouseY)/10.0;
birdAY=0.98;
}

PImage imgBird,imgPig;
void setup(){
size(800,600);
imgBird=loadImage("bird.png");
imgPig=loadImage("pig.png");
imageMode(CENTER);
}
float birdX=400,birdY=300,pigX=600,pigY=200;
float birdVX=0, birdVY=0;
float birdAX=0,birdAY=0;
boolean pigAlive=true;
void draw(){
background(255);
//ellipse(birdX, birdY, 100,100);
if(pigAlive) image(imgPig, pigX,pigY,100,100);
image(imgBird, birdX, birdY,100,100);
if(dist(pigX,pigY,birdX, birdY)<100){
pigAlive=false;
}
line(birdX, birdY,400,300);
birdX +=birdVX;
birdY +=birdVY;
if(birdX<50){birdX=50; birdVX = -birdVX;}
if(birdX>width-50){birdX=width-50; birdVX= -birdVX;}////寬度
if(birdY<50){birdY=50;birdVY= -birdVY;}
if(birdY>height-50){birdY=height-50;birdVY = -birdVY;}///高度
///多於50是因為讓他露出整個圖片出來
birdVX +=birdAX;
birdVY +=birdAY;
birdVX *= 0.997;///這個就是摩擦力
birdVY *= 0.997;
}
void mouseDragged(){
birdX=mouseX;
birdY=mouseY;
birdVX=birdVY=birdAX=birdAY=0;
}
void mouseReleased(){
birdVX = (400-mouseX)/10.0;
birdVY = (300-mouseY)/10.0;
birdAY=0.98;
}
憤怒鳥的程式碼跟小朋友下樓梯的程式碼很像

2017年9月25日 星期一
Week02

讓滑鼠點及可以改變粗細跟顏色
void setup(){
size(800,600);
colorMode(HSB, 100);///HSB飽和度
}
void draw(){
line(mouseX, mouseY, pmouseX, pmouseY);
}
void mousePressed(){///滑鼠點及才改變
if(mouseX<100){
strokeWeight(mouseY/50);
}
if(mouseX>700){
stroke(mouseY/6.0, 100,100);
}
}

void setup(){
size(800,600);
rect(width-100,0, width,height);///設成左右兩個四邊形
rect(0,0,100,height);
colorMode(HSB, 100);
}
void draw(){
if(mousePressed) line(mouseX, mouseY, pmouseX, pmouseY);
}
void mouseDragged(){///滑鼠變成滑動改變
if(mouseX<100){
strokeWeight(mouseY/50);
}
if(mouseX>width-100){
stroke(mouseY/6.0, 100,100);
}
}



用教學的小遊戲的程式碼當參考作一個簡略的遊戲

找一個圖片幫他上背景

2017年9月18日 星期一
Week01
訂閱:
文章 (Atom)























