利用滑鼠左右移動控制橫軸,把圈圈打完就過關並可挑戰下一關。
影片網址:https://www.youtube.com/watch?v=PByHh-evRHw
2015年1月25日 星期日
2015年1月19日 星期一
互動技術概論-期中作業補交
AudioPlayer player;
AudioPlayer player1;
AudioPlayer player2;
Minim minim;//audio context
PImage img;
PImage img1;
PImage img2;
PImage img3;
PImage img4;
PImage img5;
PImage img6;
PImage win;
PImage lose;
PImage ready;
PImage GO;
int r1x=0;
int r2x=0;
float runnerx=80;
float runner2x=80;
float bgx=1500;
int checktype=-1;
int runtype=1;
int background=0;
int count=0;
int badrunner=0;
int readyt=0;
import processing.serial.*;
Serial myPort;
void setup() {
myPort=new Serial(this,"COM1",9600);
minim = new Minim(this);
player = minim.loadFile("file.mp3", 2048);
player1 = minim.loadFile("winner.wav", 2048);
player2 = minim.loadFile("loser.WAV", 2048);
img = loadImage("bg.jpg");
img1 = loadImage("2.png");
img2 = loadImage("1.png");
img3 = loadImage("3.png");
img4 = loadImage("5.png");
img5 = loadImage("4.png");
img6 = loadImage("6.png");
win = loadImage("win.jpg");
lose = loadImage("lose.jpg");
ready = loadImage("ready.png");
GO = loadImage("GO.png");
imageMode(CENTER);
size(800, 256);
}
int xx=0,zz=0;
void draw() {
//-------------------------------
if(myPort.available()>0)
{
int a=myPort.read();
if(a=='A') {xx=1;}
if(a=='B') {zz=1;}
}
if (background==1)
if (checktype!=-2)
if (xx==1) {
r1x+=20;
checktype=0;
runtype=2;
if (bgx>=-700)bgx-=20;
else runnerx+=20;
xx=0;
}
if (background==1)
if (checktype!=-3)
if (zz==1) {
r1x+=20;
checktype=11;
runtype=3;
if (bgx>=-700)bgx-=20;
else runnerx+=20;
zz=0;
}
//-------------------------------
if (background==0) {
image(img, bgx, 128);
image(img1, runnerx, 160);
image(img5, runner2x, 210);
count++;
if (count<=70)image(ready, 400, 128, 394, 150);
else image(GO, 400, 128, 394, 150);
if (count==100)background=1;
}
if (background==1) {
player.play();
image(img, bgx, 128);
if (runtype==1)image(img1, runnerx, 160);
if (checktype==10) {
runtype=1;
checktype=-2;
}
if (checktype==20) {
runtype=1;
checktype=-3;
}
if (runtype==2&&checktype<=10&&checktype>=0) {
image(img2, runnerx, 160);
checktype++;
}
if (runtype==3&&checktype<=20&&checktype>=11) {
image(img3, runnerx, 160);
checktype++;
}
badrunner++;
if ((badrunner%20)<=10&&(badrunner%20)>=0)image(img5, runner2x, 210);
if ((badrunner%20)>=11&&(badrunner%20)<=19)image(img6, runner2x, 210);
r2x+=5;
runner2x=runnerx+(r2x-r1x);
if (runnerx>=500||r2x>=2630)background=2;
}
if (background==2)
{
if (r2x<2630)
{
player1.play();
image(win, 400, 128);
} else if (r2x>=2630)
{
player2.play();
image(lose, 400, 128);
}
}
}
void keyPressed() {
if (background==1)
if (checktype!=-2)
if (key=='a') {
r1x+=20;
checktype=0;
runtype=2;
if (bgx>=-700)bgx-=20;
else runnerx+=20;
}
if (background==1)
if (checktype!=-3)
if (key=='s') {
r1x+=20;
checktype=11;
runtype=3;
if (bgx>=-700)bgx-=20;
else runnerx+=20;
}
}
2014年10月30日 星期四
2014年10月27日 星期一
期中作品:SmashBird20s (粉碎小鳥20秒) 遊戲影片
SmashBird20s
組員:張哲鳴,包世宇
遊戲簡介:
一款用Processing寫的小遊戲,操作簡單,但難度相當高,目前沒人能破最高分24分。
操作說明:
按下Space空白鍵 [開始遊戲] 計分
視窗內點擊滑鼠左鍵 即可操控柱子擊殺小鳥!
若想在遊戲中重新計分,可直接按[R]進行重新遊戲。
規則註解:
小鳥飛行速度會隨分數高低有所起伏,Miss會扣分,同時並且減速。
程式大略構思與過程:
1.背景
2.中景
3.前景
4.遊戲規則制訂:分數計算
5.飛行速度參數細節微調
6.最後加入音效
7.雛型成品完成
8.尋找多人實際遊戲測試 DeBug
9.接收建議,並改善遊戲體驗 例: Restar按鈕,擊殺位置微調
10.最終錄製影片 繳交期中作業
遊戲載點:
Windows_64bit: http://ppt.cc/TBmg
Mac_OSX:http://ppt.cc/-PoU
期中作業
01160093 楊育維, 01160333 陳可芹
倒數5秒 開始
左上角倒數計時30秒
藍殭屍,1分
得50分後 有紅色殭屍,2分
畫面中由左到右籃子 分別對應鍵盤1-6數字鍵
畫面中由左到右籃子 分別對應鍵盤1-6數字鍵
遊戲結束後 算總分
Over.
Over.
期中作業
遊戲介紹:
此遊戲為一個簡單的點擊遊戲,玩家可以使用滑鼠或是觸控螢幕進行遊戲,建議使用觸控螢幕進行遊戲比較有挑戰性,遊戲中會出現不同種臉部表情的頭,點擊不同的表情會有不同的分數,相反的點到有綠色眼睛的就會結束遊戲,主要是考驗玩家的手速和反應力。
2014年10月25日 星期六
期中作業
-------------------------------↓↓期中作業成果↓↓-------------------------------
-------------------------------↓↓與預期成果差別↓↓-------------------------------
1.夾子會擺盪 (O) 不過角度沒有太多
2.黃金跟石頭大小不一 (O) 每一次會隨機變換位置
3.夾回來的速度會隨著物品的大小改變 (X) 更改為碰到物品後即重新夾取
4.每一關都會設一個目標 遊戲目標就是要達到那個黃金數量 (X) 更改為時間內能夾到的金錢量
2014年10月22日 星期三
期中作業
import ddf.minim.*;
import processing.serial.*;
PImage img, over;
float myImgY;
float myImgX=320;
float mySpeed=25;
PImage myBackGround;
PImage[] myfloor=new PImage [5];
float[] myFloorX=new float[5];
float[] myFloorY=new float[5];
AudioPlayer player2;
Minim m;
void setup()
{
m=new Minim(this);
player2=m.loadFile("back.mp3");
myBackGround=loadImage("bg.jpg");
over = loadImage("gameover.jpg");
for (int i=0;i<5;i++) {
myfloor[i]=loadImage("Floor.jpg");
myFloorX[i]=random(370);
myFloorY[i]=random(100)+i*100;
}
img=loadImage("img.png");
size(400, 600);
myImgY=380;
over=loadImage("gameover.jpg");
}
void draw()
{
player2.play();
background(myBackGround);
image(img, myImgX, myImgY, 100, 100);
myImgY-=mySpeed;
mySpeed-=0.8;
if(myImgY>600)
image(over, 0, 0, 400, 600);
//if (myImgY>400) {
// myImgY=380;
// mySpeed=25;
//}
for (int i=0;i<5;i++)
{
myFloorY[i]+=2;
image(myfloor[i], myFloorX[i], myFloorY[i], 100, 30);
if (myFloorY[i]>600) {
reset(i);
}
if (mySpeed<0 && myImgX>myFloorX[i] && myImgX<myFloorX[i]+100 &&
myImgY>myFloorY[i] && myImgY<myFloorY[i]+30 )
{
touch();
}
}
}
void reset(int i)
{
myFloorY[i]=random(100);
myFloorX[i]=random(370);
}
void touch()
{
mySpeed=25;
}
void keyPressed()
{
if(key == 'a')
myImgX -= 10;
if(key == 's')
myImgX += 10;
}
import processing.serial.*;
PImage img, over;
float myImgY;
float myImgX=320;
float mySpeed=25;
PImage myBackGround;
PImage[] myfloor=new PImage [5];
float[] myFloorX=new float[5];
float[] myFloorY=new float[5];
AudioPlayer player2;
Minim m;
void setup()
{
m=new Minim(this);
player2=m.loadFile("back.mp3");
myBackGround=loadImage("bg.jpg");
over = loadImage("gameover.jpg");
for (int i=0;i<5;i++) {
myfloor[i]=loadImage("Floor.jpg");
myFloorX[i]=random(370);
myFloorY[i]=random(100)+i*100;
}
img=loadImage("img.png");
size(400, 600);
myImgY=380;
over=loadImage("gameover.jpg");
}
void draw()
{
player2.play();
background(myBackGround);
image(img, myImgX, myImgY, 100, 100);
myImgY-=mySpeed;
mySpeed-=0.8;
if(myImgY>600)
image(over, 0, 0, 400, 600);
//if (myImgY>400) {
// myImgY=380;
// mySpeed=25;
//}
for (int i=0;i<5;i++)
{
myFloorY[i]+=2;
image(myfloor[i], myFloorX[i], myFloorY[i], 100, 30);
if (myFloorY[i]>600) {
reset(i);
}
if (mySpeed<0 && myImgX>myFloorX[i] && myImgX<myFloorX[i]+100 &&
myImgY>myFloorY[i] && myImgY<myFloorY[i]+30 )
{
touch();
}
}
}
void reset(int i)
{
myFloorY[i]=random(100);
myFloorX[i]=random(370);
}
void touch()
{
mySpeed=25;
}
void keyPressed()
{
if(key == 'a')
myImgX -= 10;
if(key == 's')
myImgX += 10;
}
2014年10月13日 星期一
01160324 何彥澤,期中作品
期中想做:黑白棋(蘋果棋)
以這張圖為基準:
1-1. mouse click 來選擇黑棋的位置
1-2. 記分板,每次吃過白棋或者黑棋都會重新換算黑白棋的數目
1-3. 判定吃棋的路徑,每次吃棋的路徑
1-4. 設定電腦
1-5. 設定完整範圍,無法在範圍外mouse click
1-6. 美術,包括記分板、棋面、棋桌
2014年10月6日 星期一
期中作業: Flappy Smash (Flappy Bird翻版 )
這款<Flappy Smash>遊戲製作靈感源自於2013年爆紅遊戲Flappy Bird,
什麼是Flappy Bird?
《Flappy Bird》(非官方譯名:笨鳥先飛)是一款2013年鳥飛類遊戲,由越南河內獨立遊戲開發者阮哈東(Dong Nguyen)開發,另一個獨立遊戲開發商.GEARS Studios發佈此遊戲原本於2013年5月發佈,平台為iPhone 5。同年9月,作者將遊戲更新至iOS 6。於2014年1月,此遊戲成為美國及中國iTunes最受歡迎免費應用軟體,並在同月被英國App Store描述為「新憤怒鳥」。此遊戲更成為1月下載次數最多的免費應用軟體。此遊戲的下載次數至今已超過5000萬次。
不過這遊戲爆紅沒多久後作者受到許多玩家無法過關的壓力就在App Store上下架了,之後有其他作者製作出相關惡搞作品,也就是影片中遊戲Flappy Smash。
原作爆紅後作者個人因素下架
相關文章:http://www.techbang.com/posts/16884-becomes-famous-under-the-game-flappy-bird-reasons-developers-have-received-death-threats-from-too-much-stress
訂閱:
文章 (Atom)


