For practicing purposes I made this program with humble intentions to be a Math game. It creates basic operations like sums, subtractions, multiplications and divisions, in a randomly fashion, along with the right answer and two incorrect answers. Each valid answers adds a point to the user.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.TextView; import com.example.mytoolbox.utilities.NumberUtilities; public class MathRallyActivity extends Activity implements OnClickListener { public enum Operation { SUM, DIVISION, MULTIPLICATION, SUBSTRACT } @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_math_rally); Button buttonOption1 = (Button) findViewById(R.id.buttonMath1); Button buttonOption2 = (Button) findViewById(R.id.buttonMath2); Button buttonOption3 = (Button) findViewById(R.id.buttonMath3); ImageButton buttonHome = (ImageButton) findViewById(R.id.imageButtonHome); buttonOption1.setOnClickListener( this ); buttonOption2.setOnClickListener( this ); buttonOption3.setOnClickListener( this ); buttonHome.setOnClickListener( this ); createOperation(); } private void createOperation() { Operation operation = generateRandOperation(); int operand1 = NumberUtilities.generateRandNumber( 2 , 100 ); int operand2 = NumberUtilities.generateRandNumber( 2 , 100 ); String operationText = String.valueOf(operand1) + " " + getOperationString(operation) + " " + String.valueOf(operand2) + "?" ; TextView textViewOperation = (TextView) findViewById(R.id.textViewOperation); textViewOperation.setText(operationText); float rightValue = calculateRightValue(operation, operand1, operand2); rightBox = NumberUtilities.generateRandNumber( 1 , 3 ); float randWrongValue1 = NumberUtilities.generateRandNumber( 2 ); float randWrongValue2 = NumberUtilities.generateRandNumber( 2 ); Button buttonOption1 = (Button) findViewById(R.id.buttonMath1); Button buttonOption2 = (Button) findViewById(R.id.buttonMath2); Button buttonOption3 = (Button) findViewById(R.id.buttonMath3); switch (rightBox) { case 0 : buttonOption1.setText(String.valueOf(rightValue)); buttonOption2.setText(String.valueOf(randWrongValue1)); buttonOption3.setText(String.valueOf(randWrongValue2)); break ; case 1 : buttonOption2.setText(String.valueOf(rightValue)); buttonOption1.setText(String.valueOf(randWrongValue1)); buttonOption3.setText(String.valueOf(randWrongValue2)); break ; case 2 : buttonOption3.setText(String.valueOf(rightValue)); buttonOption1.setText(String.valueOf(randWrongValue1)); buttonOption2.setText(String.valueOf(randWrongValue2)); break ; } } private float calculateRightValue(Operation oper, int operand1, int operand2) { float calculation = 0 ; if (oper == Operation.SUM) { calculation = operand1 + operand2; } else if (oper == Operation.MULTIPLICATION) { calculation = operand1 * operand2; } else if (oper == Operation.SUBSTRACT) { calculation = operand1 - operand2; } else if (oper == Operation.DIVISION) { calculation = operand1 / operand2; } return calculation; } private String getOperationString(Operation oper) { String operationText = "" ; if (oper == Operation.SUM) { operationText = "+" ; } else if (oper == Operation.MULTIPLICATION) { operationText = "*" ; } else if (oper == Operation.SUBSTRACT) { operationText = "-" ; } else if (oper == Operation.DIVISION) { operationText = "/" ; } return operationText; } private Operation generateRandOperation() { int rand = NumberUtilities.generateRandNumber( 1 , 4 ); Operation operation = null ; switch (rand) { case 0 : operation = Operation.SUM; break ; case 1 : operation = Operation.DIVISION; break ; case 2 : operation = Operation.MULTIPLICATION; break ; case 3 : operation = Operation.SUBSTRACT; break ; } return operation; } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_math_rally, menu); return true ; } @Override public void onClick(View view) { boolean correct = false ; boolean play = true ; switch (view.getId()) { case R.id.buttonMath1: if (rightBox == 0 ) { correct = true ; } break ; case R.id.buttonMath2: if (rightBox == 1 ) { correct = true ; } break ; case R.id.buttonMath3: if (rightBox == 2 ) { correct = true ; } break ; case R.id.imageButtonHome: startActivity( new Intent(MathRallyActivity. this , ChooseActivity. class )); play = false ; break ; } if (correct) { points++; updateScore(); } if (play) { createOperation(); } } private void updateScore() { EditText editText = (EditText) findViewById(R.id.editTextPoints); editText.setText(String.valueOf(points)); } private int rightBox; private int points; } |
could you post the entire code
ReplyDeleteforward code to my mail
ReplyDeletecan you send me the code ??please its important for me!!!
ReplyDelete