2011年3月20日 星期日

計時器 + 偵測a

目前功能有
左排的計時10分鐘、計時20分鐘
右排的自訂計時功能,下方偵測到a輸入後開始計時
計算輸入a的次數
配合FAAST即舉起右手=a



過程中有遇到的問題在以下解釋(其實是被阿達逼的...

  • 讓xxxx中的Text等於a時進行條件式
    我打 if(xxxx->Text="a") 會錯誤
    因為一個等於在程式中代表著把後面的值給到前者
    例如 x=a 就是讓 a的值指定給 x
    所以我要的是如果xxxx->Text是a時才進行
    就要打 if(xxxx->Text=="a") 雙等號
  • Int32::Parse的用法
    將數字的字串表示轉換成它的對等 32 位元帶正負號的整數
    例如a=Int32::Parse(textBox1->Text) 就是將textBox1裏頭的數字傳給a
    因為數字不大所以我用Int16

2011年3月11日 星期五

3/10 研究心得 初步簡略程式碼

用 FAAST 把 Kinect 當 Windows 鍵盤用! 引起我很大的興趣,
現代人運動量不足的狀況可能可以用此方式遊戲來補足,進而增進身體健康,
當然我們現在的工作不是要研究遊戲。


以下是目前做出程式碼部分:




#include <iostream>
#include <conio.h>
using namespace std;
int main() {
      int i = 0;
   char input;
   cout << "開始測試";
   start:
   input = getch();
    while(input=='a')
    {
      i++;
      cout<<i;
      goto start;
    }
   system("pause");

   return 0;
}


在FAAST中設定right_arm_up 5 a
也就是右手舉起5英寸即輸入a
對應到程式碼就是每舉起一次右手便計數+1
但是程式碼目前還太粗糙,需要加以修改美化
例如
1.偵測到其他按鍵不會導致程式結束
2.計數時會把舊的數字清除(像碼表)




今天在做出這樣的程式碼後總算有點了信心(雖然只是非常簡單的東西),
比起看文書、網路資料,我比較喜歡實際操作,
雖然上呈之程式碼不難卻足夠讓我想一段時間、查資料才做出來,
顯示現在實力不足的狀況下還是需要多看點教學及說明。


Kinect我可能會存2個月左右的打工錢去買,
我對這東西真的蠻有興趣的,
但對自己能不能做出想要的成品還是感到疑慮,
因為以前沒有好好學習語言,現在的語言基礎不好,
需要惡補一下才行。
今天感謝實驗室的學長幫忙,沒人問的話我真的會想破頭!







相關連結
透過 OpenNI / NITE 分析人體骨架(上)
透過 OpenNI / NITE 分析人體骨架(下)
用 FAAST 把 Kinect 當 Windows 鍵盤用!