2015年6月29日 星期一

Week 18 期末作業 公園偷情


遊戲介紹:
有一位宅男叫做阿棠,
他因為忌妒情侶,
所以到公園看到情侶如果做出親密的動作,
就決定施暴,
而有一對情侶叫做小盧和小何,
他們在公園裡幽會,
他們該如何躲避阿棠的法眼呢?

看他開始畫面雙手拍一下,
即可進入遊戲,
在遊戲內雙手拍一下可以提升親密值,
親密值集滿即可破關。
遊戲內如果順利通過就會跑出結婚畫面,
遊戲內如果被阿棠發現就會送醫院。


這是遊戲開始畫面








遊戲中







親密的畫面







被阿棠施暴結果






過關的畫面


遊戲影片:



程式碼如下:

PImage img1, img2, img3, img4, Win, Los, star;
int BI=0, s, m, s2, m2, count=0;
import de.voidplus.leapmotion.*;
LeapMotion leap;

import ddf.minim.*;
Minim minim;
AudioPlayer BkSong;

void setup() {
  size(500, 500, OPENGL);
  img1 = loadImage("img1.jpg");
  img2 = loadImage("img2.jpg");
  img3 = loadImage("img3.jpg");
  img4 = loadImage("img4.jpg");
  Win= loadImage("win.jpg");
  Los= loadImage("Los.jpg");
  star= loadImage("star.jpg");
  s2=second();
  m2=minute(); 
  S=(int)random(3)+2;
  background(255);
  leap = new LeapMotion(this);
  minim = new Minim(this);
  BkSong = minim.loadFile("a.mp3");
  BkSong.loop();
}
int []HandX={0,500};
boolean Clap=false;


int StaA, StaB;
boolean Loser=false;
boolean A=true, change=false;
int S;
boolean Game=false;
void draw() {
  int fps = leap.getFrameRate();
  int i=0, j=0;
  
  for (Hand hand : leap.getHands ()) {
    HandX[j++]=(int)hand.getPosition().x;

  }
  if (abs((int)HandX[0]-(int)HandX[1])<70&&j==2) Game=true;

  if (Game==false) image(star, 0, 0);
  else {

    background(255);
    if (BI==350)A=false;
    else if (BI==0)A=true;

    s = second();  // Values from 0 - 59
    m = minute(); 
    if (m2!=m) s+=60;
    if (s-s2==S) {
      if (change==true)change=false;
      else change=true;
      if (s>=60)s2=s-60;
      else s2=s;
      m2=m;
      S=(int)random(2)+2;
    }

    if (change==true) {
      if (A==true)image(img2, BI++, 300, img1.width*2/3, img1.height*2/3);
      else image(img2, BI--, 300, img1.width*2/3, img1.height*2/3);
    } else { 
      if (A==true)image(img1, BI++, 300, img1.width*2/3, img1.height*2/3);
      else image(img1, BI--, 300, img1.width*2/3, img1.height*2/3);
    }

    if (abs((int)HandX[0]-(int)HandX[1])<70) {
      image(img4, 20, 60, img4.width*3/2, img4.height*3/2);
      if (change==true) Loser=true;
      else if (StaA==0)count+=20;
      StaA=1;
    } else {
      image(img3, 20, 60, img3.width*3/2, img3.height*3/2);
      StaA=0;
    }
    noStroke();
    fill(#FF0000);
    rect(470, 350-count, 20, count);

    if (350-count<=10) image(Win, 0, 0);
    else if (Loser) image(Los, 0, 0);
  }

}

沒有留言:

張貼留言