Tees.exe

Tees.exe

nekoSDK.cpp(最終版)

Winmain関数

初期設定

ラベル:afterbreak

メインループ

ウィンドウのメッセージチェック

終了メッセージを受け取ったらメインループを抜ける

変数iのチェック

(i==250)だったらリセット

50msのSleep()

st.flagのチェック

(st.flag==1)||(st.flag==2)だったらcounter++

sensorread関数

変数sensorbuf[i][0]をチェック

変な値が入っていたらメインループを抜けラベルretakeへ(復活の呪文2)

kbhit()でキー入力をチェック

A,B,Cを押すと電話を切ったりメインループを抜けたりする

datatuning関数

display関数

if(counter>100)

st.flag=0,counter=0;

if(i%10==0)

r

いわゆるCかっこに当たる部分だと思います。内容:誤動作判定(st.flag:0から1)誤動作判定後の待機(st.flag:1から2)電気テレビ指文字モードへのフラグ切り替え部分のみ(st.flag=4)扇風機Skypeモード(st.flag=3)Skypeモードだけ、フラグ切り替え部分と実行部分の2つに分かれてます。

絶対値を合計する(sumx,sumy,sumz)

閾値を超えたかチェック

誤動作の動きかどうか検出

st.flag=1,counter=0とする

if(st.flag==1)

if(counter>=16) st.flag==2;

if(st.flag==2)

r

Skypeと指文字以外の、ふつうの判定受付モード条件判定:は手の形と向きを検出する条件です。

条件判定:電気

if(st.light!=1)

st.light=1,st.flag=0;

goto afterbreak;

else

st.light=0,st.flag=0;

goto afterbreak;

条件判定:テレビ

if(st.tv==0)

st.tv=1,st.flag=0;

goto afterbreak;

else

st.tv=0,st.flag=0;

goto afterbreak;

条件判定:指文字

syuwa=0,st.flag==4;

Sound関数

条件判定:扇風機

if(st.fan==0)

st.fan=1,st.flag=0;

goto afterbreak;

else

st.fan=0,st.flag=0;

goto afterbreak;

条件判定:Skype

st.flag=3;

if(st.flag==3)

Subtopic

if(i%10==0)

r

Cかっこと全く同じ条件なので、既にこの時点でソースコードがアレだったんでしょうね内容:Sound関数指文字モードから抜けるフラグ切り替え部分(st.flag=0,syuwa=0)

if(st.flag==4$$syuwa==1)

Sound関数

if(syuwa==1000)

st.flag==0,syuwa=0;

goto afterbreak;

ラベル:retake(復活の呪文2)

ラベル:End