Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.arithmetic2klass
- import androidx.appcompat.app.AppCompatActivity
- import android.os.Bundle
- import kotlinx.android.synthetic.main.activity_main.*
- import kotlinx.android.synthetic.main.num_dialog.view.*
- import kotlin.random.Random
- import android.widget.Toast
- import kotlin.system.exitProcess
- import android.app.AlertDialog
- import android.util.TypedValue
- import android.view.LayoutInflater
- import android.view.View
- import java.lang.reflect.Array
- class MainActivity : AppCompatActivity() {
- var totalRightAnswers=0
- var rightAnswersCounter=0
- var rightAnswersStrInit="Правильных ответов: "
- var rightAnswersStr:String=""
- var wrongAnswersCounter:Int=0
- var wrongAnswersStrInit="Ошибочных ответов: "
- var wrongAnswersStr:String=""
- var rnd=Random
- var type=Random
- var txt:String=""
- var rightAns:String=""
- var userAns:String=""
- var testComplete=false
- fun firstDialog()
- {
- val mDialogView = LayoutInflater.from(this).inflate(R.layout.num_dialog, null)
- val mBuilder = AlertDialog.Builder(this)
- .setView(mDialogView)
- .setTitle("Количество заданий в тесте:")
- val mAlertDialog = mBuilder.show()
- mDialogView.dialogStartBtn.setOnClickListener {
- mAlertDialog.dismiss()
- var a = mDialogView.dialogNumQuest.text.toString()
- totalRightAnswers = a.toInt()
- helpText.text =
- "В тесте " + totalRightAnswers + " вопросов, за каждый неправильный ответ добавляется 1 вопрос"
- }
- }
- fun RefreshStats()
- {
- rightAnswersStr=rightAnswersStrInit+rightAnswersCounter.toString()
- pos_result.text=rightAnswersStr
- wrongAnswersStr=wrongAnswersStrInit+wrongAnswersCounter.toString()
- neg_result.text=wrongAnswersStr
- }
- fun newTask()
- {
- var taskType=type.nextInt(until = 4)
- editText1.text.clear()
- hellotextview.setTextSize(TypedValue.COMPLEX_UNIT_SP,40.toFloat())
- //умножение
- if (taskType==0) {
- var arg1 = rnd.nextInt(11)
- var arg2 = rnd.nextInt(11)
- rightAns = (arg1 * arg2).toString()
- txt = arg1.toString() + "*" + arg2.toString()
- }
- //сложение
- if (taskType==1) {
- var arg1 = rnd.nextInt(200)
- var arg2 = rnd.nextInt(200)
- rightAns = (arg1 + arg2).toString()
- txt = arg1.toString() + "+" + arg2.toString()
- }
- //вычитание
- if (taskType==2) {
- var arg1 = rnd.nextInt(100)
- var arg2 = rnd.nextInt(100)
- if (arg2==arg1) arg2 = rnd.nextInt(100)
- if (arg1>arg2) {
- rightAns = (arg1 - arg2).toString()
- txt = arg1.toString() + "-" + arg2.toString()
- }
- if (arg2>arg1) {
- rightAns = (arg2 - arg1).toString()
- txt = arg2.toString() + "-" + arg1.toString()
- }
- }
- //текстовая задача
- if (taskType==3)
- {
- hellotextview.setTextSize(TypedValue.COMPLEX_UNIT_SP,20.toFloat())
- var name = arrayOf("Пети","Димы","Оли","Жабы","Васяси","Енота","Кузи","Волка","Лизы","Петровича","Паука")
- var itemName= arrayOf("бомб","гранат","ракет","крокодилов","ног","рук","голов","долларов","рублей")
- var hero1=name[rnd.nextInt(name.size)]
- var hero2=name[rnd.nextInt(name.size)]
- if (hero1==hero2) hero2=name[rnd.nextInt(name.size)]
- var item=itemName[rnd.nextInt(itemName.size)]
- var itemNum1=rnd.nextInt(200)
- var itemNum2=rnd.nextInt(100)
- var bolMenTrig=rnd.nextBoolean()
- var bolMen="меньше"
- if (bolMenTrig) bolMen="больше"
- txt="У "+hero1+" "+itemNum1.toString()+" "+item+", а у "+hero2+" на "+itemNum2+" "+item+" "+bolMen+". "+
- "Сколько "+item+" у "+hero2+"?"
- //rightAns=""!!!
- if (bolMenTrig) rightAns=(itemNum1+itemNum2).toString()
- else rightAns=(itemNum1-itemNum2).toString()
- }
- hellotextview.text = txt
- }
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
- firstDialog()
- newTask()
- editText1.setOnClickListener()
- {
- if (testComplete) exitProcess(0)
- userAns = editText1.text.toString()
- if (userAns != "") {
- if (userAns == rightAns) {
- Toast.makeText(this, "Правильно!", Toast.LENGTH_LONG).show()
- }
- if (userAns != rightAns) {
- Toast.makeText(this, "Ошибка!", Toast.LENGTH_LONG).show()
- wrongAnswersCounter++
- totalRightAnswers++
- RefreshStats()
- }
- if (userAns == rightAns) {
- rightAnswersCounter++
- RefreshStats()
- newTask()
- }
- }
- if (rightAnswersCounter==totalRightAnswers)
- {
- Toast.makeText(this, "Ты выполнил задание!", Toast.LENGTH_LONG).show()
- testComplete=true
- }
- }
- }
- fun exitIfComplete (view: View)
- {
- if (testComplete) exitProcess(0)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement