遊戲中會使用到的字母圖
2015年1月25日 星期日
2015年1月16日 星期五
Week16
void setup(){
//start serial connection
Serial.begin(9600);
//configure pin2 as an input and enable the internal pull-up resistor
pinMode(2, INPUT_PULLUP);
pinMode(13, OUTPUT);
int now=0;
}
void loop(){
//read the pushbutton value into a variable
int sensorVal = digitalRead(2);
if (sensorVal == HIGH) {
digitalWrite(13, LOW);
}
else {
digitalWrite(13, HIGH);
Serial.write(65);
delay(120);
}
}
2015年1月6日 星期二
Week16
期末作品準備改進飄飄飄的小鳥,加上一個可愛的小鳥控制器,並且添加各種背景音效
void setup(){
//start serial connection
Serial.begin(9600);
//configure pin2 as an input and enable the internal pull-up resistor
pinMode(2, INPUT_PULLUP);
pinMode(13, OUTPUT);
int now=0;
}
void loop(){
//read the pushbutton value into a variable
int sensorVal = digitalRead(2);
if (sensorVal == HIGH) {
digitalWrite(13, LOW);
}
else {
digitalWrite(13, HIGH);
Serial.write(65);
delay(120);
}
}
2015年1月5日 星期一
week16
一開始決定做彈珠台,
但我跟得夥伴討論完後,
決定更改題目,
想做一個不一樣的東西,
所以我們就更改了圖片。
一開始做按鈕時,
會發現很多問題,
一步一步開始做並且了解他
終於做出按鈕了,
後來仔細發現其實不難。
但我跟得夥伴討論完後,
決定更改題目,
想做一個不一樣的東西,
所以我們就更改了圖片。
一開始做按鈕時,
會發現很多問題,
一步一步開始做並且了解他
終於做出按鈕了,
後來仔細發現其實不難。
2014年12月30日 星期二
2014年12月29日 星期一
Week16_楊育維_01160093
今日作品進度:
將按鈕與程式碼結合,做出可以左右移動的按鈕以及射子彈之後要拿工具做出硬體變成可以玩的機台
將按鈕與程式碼結合,做出可以左右移動的按鈕以及射子彈之後要拿工具做出硬體變成可以玩的機台
ARDUINO:
void setup(){
Serial.begin(9600);
pinMode(2,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);
pinMode(4,INPUT_PULLUP);
pinMode(5,INPUT_PULLUP);
pinMode(13,OUTPUT);
}
int now2=0,now=0,now3=0,now4=0;
void loop(){
int pressButtonLeft = digitalRead(2);
int pressButtonRight = digitalRead(3);
int restart = digitalRead(5);
int shoot = digitalRead(4);
if(now==1 && pressButtonLeft==HIGH){//left
digitalWrite(13,LOW);
Serial.write('A');
now=0;
}
else if(now==0 && pressButtonLeft == LOW){
digitalWrite(13, HIGH);
Serial.write('a');
now=1;
}
delay(10);
if(now2==1 && pressButtonRight ==HIGH){//right
digitalWrite(13,LOW);
Serial.write('B');
now2=0;
}
if(now2==0 && pressButtonRight == LOW){
digitalWrite(13, HIGH);
Serial.write('b');
now2=1;
}
delay(10);
if(now3==1 && shoot ==HIGH){//shot
digitalWrite(13,LOW);
Serial.write('C');
now3=0;
}
if(now3==0 && shoot == LOW){
digitalWrite(13, HIGH);
Serial.write('c');
now3=1;
}
delay(10);
if(now4==1 && restart ==HIGH){//shot
digitalWrite(13,LOW);
Serial.write('D');
now4=0;
}
if(now4==0 && restart == LOW){
digitalWrite(13, HIGH);
Serial.write('d');
now4=1;
}
delay(10);
}
PROCESSING:
if(myPort.available()>0){
int a=myPort.read();
if(a=='B'){cX[0]+=50;bX[0]+=50;}
if(a=='A'){cX[0]-=50;bX[0]-=50;}
if(a=='C')shoot++;
if(a=='D'){gameover=-1;score=0;}
}
HW16, Week16
Week16期末作品進度:
硬體需要材料:
粗吸管、免洗筷(船桿、支撐船身)
海綿(船槳、扣環)
紙箱(海平面30*30*3、船高20)
鐵絲、鐵片
長電線
尖嘴鉗
各組員負責:
謝采玲:
粗吸管
尖嘴鉗
保麗龍膠
海綿
紙箱
上色用具
劉子陵:
免洗筷
鐵絲、鐵片
長電線
紙箱
美工刀
時間分配:
12/30 上課時間 S405 將 Processing 與 Arduino 結合(初步)
12/31 12:00~14:40 體育館二樓 硬體設計圖,思考遊戲介面與其他功能
01/05 12:50~13:40 二餐三樓 做硬體
01/06週 上課時間 S405 硬軟結合,問老師15、16會不會在學校
01/15 考完期中考 待尋找 其餘事項
上課進度:
A.測試在Arduino中,電線接觸後傳值並印出
B.將已寫好的Processing程式與Arduino結合(使控制物向右部分)
最先設定:
硬體需要材料:
粗吸管、免洗筷(船桿、支撐船身)
海綿(船槳、扣環)
紙箱(海平面30*30*3、船高20)
鐵絲、鐵片
長電線
尖嘴鉗
各組員負責:
謝采玲:
粗吸管
尖嘴鉗
保麗龍膠
海綿
紙箱
上色用具
劉子陵:
免洗筷
鐵絲、鐵片
長電線
紙箱
美工刀
時間分配:
12/30 上課時間 S405 將 Processing 與 Arduino 結合(初步)
12/31 12:00~14:40 體育館二樓 硬體設計圖,思考遊戲介面與其他功能
01/05 12:50~13:40 二餐三樓 做硬體
01/06週 上課時間 S405 硬軟結合,問老師15、16會不會在學校
01/15 考完期中考 待尋找 其餘事項
上課進度:
A.測試在Arduino中,電線接觸後傳值並印出
B.將已寫好的Processing程式與Arduino結合(使控制物向右部分)
最先設定:
將"向右"設定在pin(2):

Arduino接觸到後傳值給Processing:
C.遇到的問題:向右移動太多,會重複一直傳值
老師解答:
簡單地傳按鈕按下去/放開來的資訊到Processing
In Arduino:
void setup(){
Serial.begin(9600);
pinMode(2, PULL_UP);
}
int now=0;//0: not pressed, 1:pressed
void loop(){
if(now==0 && digitalRead(2)==LOW){//pressed
Serial.write('a');
}
if(now==1 && digitalRead(2)==HIGH){//not pressed
Serial.write('A');
}
delay(10);//to avoid noise while pressing
}
In Processing:
...
int now=0;//0: not pressed, 1:pressed
void draw(){
if(myPort.available()>0){
int a=myPort.read();
if(a=='A') now=0;
if(a=='a') now=1;
}
...
//接下來你就可以看 now的值, 來看要做什麼對應的動作
}
第十六周課堂作業
arduino
int switchStatea = 0;
int switchStateb = 0;
int switchStatec = 0;
int switchStated = 0;
const int ledPin = 13;
void setup(){
pinMode(ledPin, OUTPUT);
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
Serial.begin(9600);
}
void loop(){
switchStatea = digitalRead(A0);
switchStateb = digitalRead(A1);
switchStatec = digitalRead(A2);
switchStated = digitalRead(A3);
if(switchStatea == HIGH) {Serial.print('1');}
if(switchStateb == HIGH) {Serial.print('2');}
if(switchStatec == HIGH) {Serial.print('3');}
if(switchStated == HIGH) {Serial.print('4');}
delay(33);
}
Week16_呂季樺_01160306
今日作品進度:
將按鈕與程式碼結合,做出可以左右移動的按鈕以及射子彈之後要拿工具做出硬體變成可以玩的機台
將按鈕與程式碼結合,做出可以左右移動的按鈕以及射子彈之後要拿工具做出硬體變成可以玩的機台
ARDUINO:
void setup(){
Serial.begin(9600);
pinMode(2,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);
pinMode(4,INPUT_PULLUP);
pinMode(5,INPUT_PULLUP);
pinMode(13,OUTPUT);
}
int now2=0,now=0,now3=0,now4=0;
void loop(){
int pressButtonLeft = digitalRead(2);
int pressButtonRight = digitalRead(3);
int restart = digitalRead(5);
int shoot = digitalRead(4);
if(now==1 && pressButtonLeft==HIGH){//left
digitalWrite(13,LOW);
Serial.write('A');
now=0;
}
else if(now==0 && pressButtonLeft == LOW){
digitalWrite(13, HIGH);
Serial.write('a');
now=1;
}
delay(10);
if(now2==1 && pressButtonRight ==HIGH){//right
digitalWrite(13,LOW);
Serial.write('B');
now2=0;
}
if(now2==0 && pressButtonRight == LOW){
digitalWrite(13, HIGH);
Serial.write('b');
now2=1;
}
delay(10);
if(now3==1 && shoot ==HIGH){//shot
digitalWrite(13,LOW);
Serial.write('C');
now3=0;
}
if(now3==0 && shoot == LOW){
digitalWrite(13, HIGH);
Serial.write('c');
now3=1;
}
delay(10);
if(now4==1 && restart ==HIGH){//shot
digitalWrite(13,LOW);
Serial.write('D');
now4=0;
}
if(now4==0 && restart == LOW){
digitalWrite(13, HIGH);
Serial.write('d');
now4=1;
}
delay(10);
}
PROCESSING:
if(myPort.available()>0){
int a=myPort.read();
if(a=='B'){cX[0]+=50;bX[0]+=50;}
if(a=='A'){cX[0]-=50;bX[0]-=50;}
if(a=='C')shoot++;
if(a=='D'){gameover=-1;score=0;}
}
Week16
預計更新
完成按鈕控制主角行動
製作開始結束畫面
先以簡單的文字製作
下周預計:
1. 改善開始結束畫面
2. 新增重新開始功能
3. 將重新開始以及開始遊戲功能建置在arduino上
4. 找合適的外箱裝飾設備
完成按鈕控制主角行動
製作開始結束畫面
先以簡單的文字製作
下周預計:
1. 改善開始結束畫面
2. 新增重新開始功能
3. 將重新開始以及開始遊戲功能建置在arduino上
4. 找合適的外箱裝飾設備
week16
PACMAN
if(digitalRead(2)==LOW && right==0){
right=1;
//Serial.print("R");
Serial.write(82);
}
else if(digitalRead(2)==HIGH) right=0;
if(digitalRead(3)==LOW && left==0){
left=1;
Serial.print("L");
//Serial.write(20);
}
else if(digitalRead(3)==HIGH) left=0;
if(digitalRead(4)==LOW && up==0){
up=1;
Serial.print("U");
//Serial.write(20);
}
else if(digitalRead(4)==HIGH) up=0;
if(digitalRead(5)==LOW && down==0){
down=1;
Serial.print("D");
//Serial.write(20);
}
else if(digitalRead(5)==HIGH) down=0;
期末小精靈
week16
import processing.serial.*;
Serial myPort;
PImage over;
float [] cubeY=new float [17];
void setup() {
size(800, 300);
for (int i=0;i<16;i++) {
cubeY[i]=random(140, 170);
}
myPort = new Serial(this, "COM4", 9600);
over = loadImage("gameover.png");
}
int posY = 0;
int a = 0;
int q=1;
void draw() {
background(255);
if (a==0) {
textSize(50);
text("press the button to START", 80, 160);
fill(0, 102, 153, 500);
}
if (keyPressed == true) a=1;
if (a==1) {
fill(0, 0, 255);
ellipse(70, posY+40, 40, 40);
fill(0);
for (int m=0;m<16;m++) {
rect(m*50-q, 0, 50, cubeY[m]);
rect(m*50-q, cubeY[m]+50, 50, 250-cubeY[m]);
//if(cubeY[m]+50<0); cubeX+=850;
}
q++;
if (myPort.available()>0) {
posY = myPort.read();
println(posY);
}
if (posY+20<60 | posY+60>240) {
image(over, 0, 0, 800, 300);
println("Game Over");
}
}
}
Serial myPort;
PImage over;
float [] cubeY=new float [17];
void setup() {
size(800, 300);
for (int i=0;i<16;i++) {
cubeY[i]=random(140, 170);
}
myPort = new Serial(this, "COM4", 9600);
over = loadImage("gameover.png");
}
int posY = 0;
int a = 0;
int q=1;
void draw() {
background(255);
if (a==0) {
textSize(50);
text("press the button to START", 80, 160);
fill(0, 102, 153, 500);
}
if (keyPressed == true) a=1;
if (a==1) {
fill(0, 0, 255);
ellipse(70, posY+40, 40, 40);
fill(0);
for (int m=0;m<16;m++) {
rect(m*50-q, 0, 50, cubeY[m]);
rect(m*50-q, cubeY[m]+50, 50, 250-cubeY[m]);
//if(cubeY[m]+50<0); cubeX+=850;
}
q++;
if (myPort.available()>0) {
posY = myPort.read();
println(posY);
}
if (posY+20<60 | posY+60>240) {
image(over, 0, 0, 800, 300);
println("Game Over");
}
}
}
訂閱:
文章 (Atom)



























