package com.main.pirateisland; //import android.support.v7.app.ActionBarActivity; import java.util.Random; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; import com.main.pirateisland.SplitActivity.MyFrame; public class Exercise1 extends Activity { int errorflag = 0; int MyException; int random1 = (int) ((Math.random() * 10 ) + 1); int random2 = (int) ((Math.random() * 10 ) + 1); int result ; int A ,B ,C ; logindatabaseadapter loginDataBaseAdapter; ImageButton imageButton1, imageButton2; private SensorManager mSensorManager; private float mAccel; // acceleration apart from gravity private float mAccelCurrent; // current acceleration including gravity private float mAccelLast; // last acceleration including gravity MyFrame myView; private logindatabaseadapter DataBase; private User curuser; private final SensorEventListener mSensorListener = new SensorEventListener() { public void onSensorChanged(SensorEvent se) { //EditText editText1 = (EditText) findViewById(R.id.editText1); //int answer = Integer.parseInt(editText1.getText().toString()); float x = se.values[0]; float y = se.values[1]; float z = se.values[2]; mAccelLast = mAccelCurrent; mAccelCurrent = (float) Math.sqrt((double) (x * x + y * y + z * z)); float delta = mAccelCurrent - mAccelLast; mAccel = mAccel * 0.9f + delta; // perform low-cut filter if (mAccel > 11) { //check0(answer); //myView.invalidate(); EditText editText1 = (EditText) findViewById(R.id.editText1); String answercheck = editText1.getText().toString(); if (answercheck.matches("")) { Toast toast = Toast.makeText(getApplicationContext(), R.string.giveanswer, Toast.LENGTH_SHORT); toast.show(); } else{ int answer = Integer.parseInt(editText1.getText().toString()); if (errorflag == 3){ check3(answer); } if (errorflag == 2){ check2(answer); } if (errorflag == 1) { check1(answer); } if (errorflag == 0) { check0(answer); } } } } public void onAccuracyChanged(Sensor sensor, int accuracy) { } }; private void finishok(){ Toast toast = Toast.makeText(getApplicationContext(), R.string.correct , Toast.LENGTH_SHORT); toast.show(); if (curuser._CURRENTLEVEL== 1 ) { curuser._FAILSLEVEL1 = errorflag; } else if (curuser._CURRENTLEVEL== 2 ) { curuser._FAILSLEVEL2 = errorflag; } else if (curuser._CURRENTLEVEL== 3 ) { curuser._FAILSLEVEL3 = errorflag; } else if (curuser._CURRENTLEVEL== 4 ) { curuser._FAILSLEVEL4 = errorflag; } else if (curuser._CURRENTLEVEL== 5 ) { curuser._FAILSLEVEL5 = errorflag; } else if (curuser._CURRENTLEVEL== 6 ) { curuser._FAILSLEVEL6 = errorflag; } if (curuser._MAXLEVEL == curuser._CURRENTLEVEL) { curuser._MAXLEVEL = curuser._MAXLEVEL + 1; } DataBase.updateAll(curuser); Intent a = new Intent(Exercise1.this, MainActivity.class); a.putExtra("name", curuser._USERNAME); a.putExtra("pass", curuser._AGE ); startActivity(a); finish(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_exercise1); // get user Intent inten = getIntent(); String curname = inten.getStringExtra("name"); String curpass = inten.getStringExtra("pass"); if (curname == null || curpass == null) { curname = "no"; curpass = "user"; } DataBase = new logindatabaseadapter(this); DataBase = DataBase.open(); curuser = DataBase.getUser(curname, curpass); random1 = new Random().nextInt(4) + (curuser._CURRENTLEVEL) + ((10 * curuser._DIFFICULTY) - 1); random2 = new Random().nextInt(4) + (curuser._CURRENTLEVEL) + ((10 * curuser._DIFFICULTY) - 1); result = random1 +random2; A = result - 3; B = result - 1; C = result + 1; //to Onoma tou xristi einai stin "name" mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mSensorManager.registerListener(mSensorListener, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); mAccel = 0.00f; mAccelCurrent = SensorManager.GRAVITY_EARTH; mAccelLast = SensorManager.GRAVITY_EARTH; TextView textView1 = (TextView) findViewById(R.id.textView1); textView1.setText(String.valueOf(random1)); TextView textView3 = (TextView) findViewById(R.id.textView3); textView3.setText(String.valueOf(random2)); imageButton1 = (ImageButton) findViewById(R.id.imageButton1); imageButton1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { EditText editText1 = (EditText) findViewById(R.id.editText1); String answercheck = editText1.getText().toString(); if (answercheck.matches("")) { Toast toast = Toast.makeText(getApplicationContext(), R.string.giveanswer, Toast.LENGTH_SHORT); toast.show(); } else{ int answer = Integer.parseInt(editText1.getText().toString()); if (errorflag == 3){ check3(answer); } if (errorflag == 2){ check2(answer); } if (errorflag == 1) { check1(answer); } if (errorflag == 0) { check0(answer); } } } }); imageButton2 = (ImageButton) findViewById(R.id.imageButton2); imageButton2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent a = new Intent(Exercise1.this, MainActivity.class); a.putExtra("name", curuser._USERNAME); a.putExtra("pass", curuser._AGE ); startActivity(a); } }); TextView textView11 = (TextView) findViewById(R.id.textView11); textView11.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { EditText editText1 = (EditText) findViewById(R.id.editText1); String answercheck = editText1.getText().toString(); if (answercheck.matches("")) { Toast toast = Toast.makeText(getApplicationContext(), R.string.giveanswer, Toast.LENGTH_SHORT); toast.show(); } else{ int answer = Integer.parseInt(editText1.getText().toString()); if (errorflag == 3){ check3(answer); } if (errorflag == 2){ check2(answer); } if (errorflag == 1) { check1(answer); } if (errorflag == 0) { check0(answer); } } } }); } public void check0(int answer) { if (answer == result){ finishok(); } if (answer > result){ Toast toast = Toast.makeText(getApplicationContext(), R.string.wrongpleasesmaller, Toast.LENGTH_SHORT); toast.show(); errorflag = 1; } if (answer < result){ Toast toast = Toast.makeText(getApplicationContext(), R.string.wrongpleasebigger, Toast.LENGTH_SHORT); toast.show(); errorflag = 1; } } public void check1 (int answer){ if (answer == result){ finishok(); } else { Toast toast = Toast.makeText(getApplicationContext(), R.string.wrongchoosefromfour, Toast.LENGTH_SHORT); toast.show(); TextView textView7 = (TextView) findViewById(R.id.textView7); textView7.setText(String.valueOf(A)); TextView textView8 = (TextView) findViewById(R.id.textView8); textView8.setText(String.valueOf(result)); TextView textView9 = (TextView) findViewById(R.id.textView9); textView9.setText(String.valueOf(B)); TextView textView10 = (TextView) findViewById(R.id.textView10); textView10.setText(String.valueOf(C)); errorflag = 2; } } public void check2(int answer){ if (answer == result){ finishok(); } else { TextView textView7 = (TextView) findViewById(R.id.textView7); textView7.setTextColor(Color.parseColor("#FFFFFF")); TextView textView8 = (TextView) findViewById(R.id.textView8); textView8.setTextColor(Color.parseColor("#FF0000")); TextView textView9 = (TextView) findViewById(R.id.textView9); textView9.setTextColor(Color.parseColor("#FFFFFF")); TextView textView10 = (TextView) findViewById(R.id.textView10); textView10.setTextColor(Color.parseColor("#FFFFFF")); Toast toast = Toast.makeText(getApplicationContext(), R.string.thinkmore, Toast.LENGTH_SHORT); toast.show(); errorflag = 3; } } public void check3(int answer){ if (answer == result){ finishok(); } else { Toast toast = Toast.makeText(getApplicationContext(), R.string.thinkmore, Toast.LENGTH_SHORT); toast.show(); } } @Override protected void onResume() { super.onResume(); mSensorManager.registerListener(mSensorListener, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); } @Override protected void onPause() { mSensorManager.unregisterListener(mSensorListener); super.onPause(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.exercise1, menu); return true; } }