package com.example.cw.braintrainerapp;
import android.os.CountDownTimer;
import android.support.constraint.ConstraintLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.GridLayout;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
ConstraintLayout gameLayout;
Button goButton;
int a,b;
Random rand;
TextView questionTextView;
String question;
Button option1;
Button option2;
Button option3;
Button option4;
ArrayList <Integer> options;
Button playAgainButton;
TextView answerTextView;
int score,total;
TextView scoreTextView;
int correctOption;
TextView timerTextView;
CountDownTimer cnt;
GridLayout gl;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gameLayout = (ConstraintLayout) findViewById(R.id.gameLayout);
goButton = (Button) findViewById(R.id.goButton);
goButton.setVisibility(View.VISIBLE);
gameLayout.setVisibility(View.INVISIBLE);
rand = new Random();
questionTextView = (TextView) findViewById(R.id.questionTextView);
question = "";
option1 = (Button) findViewById(R.id.option1);
option2 = (Button) findViewById(R.id.option2);
option3 = (Button) findViewById(R.id.option3);
option4 = (Button) findViewById(R.id.option4);
playAgainButton = (Button)findViewById(R.id.playAgainButton);
answerTextView = (TextView)findViewById(R.id.answerTextView);
scoreTextView = (TextView)findViewById(R.id.scoreTextView);
timerTextView = (TextView)findViewById(R.id.timerTextView);
gl = (GridLayout)findViewById(R.id.gridLayout);
}
public void optionClicked(View view)
{
Button bt = (Button)view;
int i=Integer.parseInt(bt.getTag().toString());
if(i==correctOption)
{
answerTextView.setText("Correct!");
score++;
}
else {
answerTextView.setText("Incorrect");
}
total++;
answerTextView.setVisibility(View.VISIBLE);
String sc = score+"/"+total;
scoreTextView.setText(sc);
generateQuestion();
}
public void start(View view)
{
generateQuestion();
goButton.setVisibility(View.INVISIBLE);
gameLayout.setVisibility(View.VISIBLE);
playAgainButton.setVisibility(View.INVISIBLE);
answerTextView.setVisibility(View.INVISIBLE);
cnt = new CountDownTimer(30000,1000) {
@Override public void onTick(long millisUntilFinished) {
timerTextView.setText((millisUntilFinished/1000)+"");
}
@Override public void onFinish() {
playAgainButton.setVisibility(View.VISIBLE);
gl.setVisibility(View.INVISIBLE);
}
}.start();
}
public void playAgain(View view)
{
start(view);
score=0;
total=0;
scoreTextView.setText(score+"/"+total);
gl.setVisibility(View.VISIBLE);
}
public void generateQuestion()
{
options = new ArrayList<>();
a = rand.nextInt(21);
b = rand.nextInt(21);
question = a+"+"+b;
questionTextView.setText(question);
int j = rand.nextInt(4);
correctOption=j;
for (int i=0;i<4;i++)
{
int wrongAnswer = rand.nextInt(41);
if(i!=j)
{
while(wrongAnswer==a+b)wrongAnswer = rand.nextInt(41);
options.add(wrongAnswer);
}
else {
options.add(a+b);
}
}
option1.setText(Integer.toString(options.get(0)));
option2.setText(Integer.toString(options.get(1)));
option3.setText(Integer.toString(options.get(2)));
option4.setText(Integer.toString(options.get(3)));
}
}
///////////////////////////////////////////////////////////////////////////////////////
Style File
////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/mainLayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity">
<Button android:id="@+id/goButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/holo_green_light" android:onClick="start" android:padding="40dp" android:text="GO!" android:textSize="100sp" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
<android.support.constraint.ConstraintLayout android:id="@+id/gameLayout" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent">
<TextView android:id="@+id/timerTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginStart="20dp" android:layout_marginTop="20dp" android:background="@android:color/holo_orange_light" android:padding="10dp" android:text="30s" android:textSize="50sp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
<TextView android:id="@+id/scoreTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="20dp" android:layout_marginRight="20dp" android:layout_marginTop="20dp" android:background="@android:color/holo_blue_light" android:padding="10dp" android:text="0/0" android:textSize="50sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" />
<TextView android:id="@+id/questionTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:text="20+30?" android:textSize="40sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
<GridLayout android:id="@+id/gridLayout" android:layout_width="match_parent" android:layout_height="285dp" android:layout_marginBottom="5dp" android:layout_marginEnd="5dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginStart="5dp" android:layout_marginTop="140dp" android:columnCount="2" android:rowCount="2" app:layout_constraintBottom_toTopOf="@+id/answerTextView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent">
<Button android:id="@+id/option1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="0" android:layout_columnWeight="1" android:layout_gravity="fill" android:layout_row="0" android:layout_rowWeight="1" android:background="@android:color/holo_red_light" android:gravity="center" android:onClick="optionClicked" android:padding="20dp" android:tag="0" android:text="14" android:textSize="50sp" />
<Button android:id="@+id/option2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="1" android:layout_columnWeight="1" android:layout_gravity="fill" android:layout_row="0" android:layout_rowWeight="1" android:background="@android:color/holo_purple" android:gravity="center" android:onClick="optionClicked" android:padding="20dp" android:tag="1" android:text="14" android:textSize="50sp" />
<Button android:id="@+id/option3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="0" android:layout_columnWeight="1" android:layout_gravity="fill" android:layout_row="1" android:layout_rowWeight="1" android:background="@android:color/darker_gray" android:gravity="center" android:onClick="optionClicked" android:padding="20dp" android:tag="2" android:text="14" android:textSize="50sp" />
<Button android:id="@+id/option4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="1" android:layout_columnWeight="1" android:layout_gravity="fill" android:layout_row="1" android:layout_rowWeight="1" android:background="@android:color/holo_green_light" android:gravity="center" android:onClick="optionClicked" android:padding="20dp" android:tag="3" android:text="14" android:textSize="50sp" />
</GridLayout>
<TextView android:id="@+id/answerTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="430dp" android:text="Correct!" android:textSize="40sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
<Button android:id="@+id/playAgainButton" android:layout_width="wrap_content" android:layout_height="43dp" android:layout_marginBottom="19dp" android:layout_marginTop="4dp" android:onClick="playAgain" android:padding="10dp" android:text="Play Again" android:textSize="20sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/answerTextView" />
</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
If You Enjoyed This, Take 5 Seconds To Share It
0 comments:
Post a Comment