SOB RELEASE 이전) 정확한 노트 판정을 위해 코드 수정
2017. 5. 15. 23:16ㆍ프로젝트(완료)/SOB DEVELOP
진동이 울리기 전 1초동안 버튼을 한번 이상 누르면 bad
진동이 울리고 나서 버튼을 2번 이상 누르면 bad
진동이 울리고 나서 0.5초 안 버튼을 누르지 못하면 bad
진동이 울리기 시작한 시점부터 1초사이에 버튼을 1개 누르면 perfect
테스트용이므로 시간 미세 조정은 아래에 나와있지 않음.
package com.example.gimdohyeon.vibsample;
import android.content.Context;
import android.os.Handler;
import android.os.Vibrator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
int notesuccuess,notefail,handle1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void note1(){
Handler handler = new Handler();
handle1 = 0;
notefail = 0;
notesuccuess = 0;
handler.postDelayed(new Runnable() {
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
@Override
public void run() {
handle1 = 1;
vibrator.vibrate(500);
}
},1000);
handler.postDelayed(new Runnable() {
@Override
public void run() {
handle1 = 2;
}
},1500);
handler.postDelayed(new Runnable() {
@Override
public void run() {
Toast badToast = Toast.makeText(MainActivity.this, "bad", Toast.LENGTH_SHORT);
Toast perfectToast = Toast.makeText(MainActivity.this, "perfect", Toast.LENGTH_SHORT);
if(notefail > 0 || notesuccuess != 1){
badToast.show();
}else if(notesuccuess == 1){
perfectToast.show();
}
handle1 = 0;
notefail = 0;
notesuccuess = 0;
}
},2000);
}
public void onclick(View view) {
switch (view.getId()){
case R.id.btn_start:
note1();//여기다가 노트 순서대로 시간맞춰서 넣으면 끝
break;
case R.id.btn_note:
if(handle1 == 0){
notefail++;
}else if(handle1 == 1 || handle1 ==2) {
notesuccuess++;
}
break;
}
}
}
'프로젝트(완료) > SOB DEVELOP' 카테고리의 다른 글
베타 2-프로토타입 개발 ) 곡 선택 디스플레이 구현 완료. (0) | 2017.06.15 |
---|---|
베타 2-프로토타입 개발 ) 디스플레이 2 구현중 (0) | 2017.06.07 |
SOB 개발 노트) 엔진을 바꾸려고 합니다 (0) | 2017.05.15 |
SOB RELEASE 이전) 노트 알고리즘 확립. (0) | 2017.05.15 |