Advertisement
Guest User

Untitled

a guest
Sep 14th, 2019
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 5.82 KB | None | 0 0
  1. package com.example.arithmetic2klass
  2.  
  3. import androidx.appcompat.app.AppCompatActivity
  4. import android.os.Bundle
  5. import kotlinx.android.synthetic.main.activity_main.*
  6. import kotlinx.android.synthetic.main.num_dialog.view.*
  7. import kotlin.random.Random
  8. import android.widget.Toast
  9. import kotlin.system.exitProcess
  10. import android.app.AlertDialog
  11. import android.util.TypedValue
  12. import android.view.LayoutInflater
  13. import android.view.View
  14. import java.lang.reflect.Array
  15.  
  16.  
  17. class MainActivity : AppCompatActivity() {
  18.  
  19.     var totalRightAnswers=0
  20.     var rightAnswersCounter=0
  21.     var rightAnswersStrInit="Правильных ответов: "
  22.     var rightAnswersStr:String=""
  23.     var wrongAnswersCounter:Int=0
  24.     var wrongAnswersStrInit="Ошибочных ответов: "
  25.     var wrongAnswersStr:String=""
  26.     var rnd=Random
  27.     var type=Random
  28.     var txt:String=""
  29.     var rightAns:String=""
  30.     var userAns:String=""
  31.     var testComplete=false
  32.  
  33.     fun firstDialog()
  34.     {
  35.             val mDialogView = LayoutInflater.from(this).inflate(R.layout.num_dialog, null)
  36.             val mBuilder = AlertDialog.Builder(this)
  37.                 .setView(mDialogView)
  38.                 .setTitle("Количество заданий в тесте:")
  39.             val mAlertDialog = mBuilder.show()
  40.             mDialogView.dialogStartBtn.setOnClickListener {
  41.                 mAlertDialog.dismiss()
  42.                 var a = mDialogView.dialogNumQuest.text.toString()
  43.                 totalRightAnswers = a.toInt()
  44.                 helpText.text =
  45.                     "В тесте " + totalRightAnswers + " вопросов, за каждый неправильный ответ добавляется 1 вопрос"
  46.             }
  47.  
  48.     }
  49.  
  50.  
  51.     fun RefreshStats()
  52.     {
  53.         rightAnswersStr=rightAnswersStrInit+rightAnswersCounter.toString()
  54.         pos_result.text=rightAnswersStr
  55.         wrongAnswersStr=wrongAnswersStrInit+wrongAnswersCounter.toString()
  56.         neg_result.text=wrongAnswersStr
  57.     }
  58.  
  59.  
  60.     fun newTask()
  61.     {
  62.         var taskType=type.nextInt(until = 4)
  63.         editText1.text.clear()
  64.         hellotextview.setTextSize(TypedValue.COMPLEX_UNIT_SP,40.toFloat())
  65.  
  66.         //умножение
  67.         if (taskType==0) {
  68.             var arg1 = rnd.nextInt(11)
  69.             var arg2 = rnd.nextInt(11)
  70.             rightAns = (arg1 * arg2).toString()
  71.             txt = arg1.toString() + "*" + arg2.toString()
  72.         }
  73.  
  74.         //сложение
  75.         if (taskType==1) {
  76.             var arg1 = rnd.nextInt(200)
  77.             var arg2 = rnd.nextInt(200)
  78.             rightAns = (arg1 + arg2).toString()
  79.             txt = arg1.toString() + "+" + arg2.toString()
  80.         }
  81.  
  82.         //вычитание
  83.         if (taskType==2) {
  84.             var arg1 = rnd.nextInt(100)
  85.             var arg2 = rnd.nextInt(100)
  86.             if (arg2==arg1) arg2 = rnd.nextInt(100)
  87.             if (arg1>arg2) {
  88.                 rightAns = (arg1 - arg2).toString()
  89.                 txt = arg1.toString() + "-" + arg2.toString()
  90.             }
  91.             if (arg2>arg1) {
  92.                 rightAns = (arg2 - arg1).toString()
  93.                 txt = arg2.toString() + "-" + arg1.toString()
  94.             }
  95.         }
  96.  
  97.         //текстовая задача
  98.         if (taskType==3)
  99.         {
  100.             hellotextview.setTextSize(TypedValue.COMPLEX_UNIT_SP,20.toFloat())
  101.             var name = arrayOf("Пети","Димы","Оли","Жабы","Васяси","Енота","Кузи","Волка","Лизы","Петровича","Паука")
  102.             var itemName= arrayOf("бомб","гранат","ракет","крокодилов","ног","рук","голов","долларов","рублей")
  103.             var hero1=name[rnd.nextInt(name.size)]
  104.             var hero2=name[rnd.nextInt(name.size)]
  105.             if (hero1==hero2) hero2=name[rnd.nextInt(name.size)]
  106.             var item=itemName[rnd.nextInt(itemName.size)]
  107.             var itemNum1=rnd.nextInt(200)
  108.             var itemNum2=rnd.nextInt(100)
  109.             var bolMenTrig=rnd.nextBoolean()
  110.             var bolMen="меньше"
  111.             if (bolMenTrig) bolMen="больше"
  112.  
  113.             txt="У "+hero1+" "+itemNum1.toString()+" "+item+", а у "+hero2+" на "+itemNum2+" "+item+" "+bolMen+". "+
  114.                     "Сколько "+item+" у "+hero2+"?"
  115.             //rightAns=""!!!
  116.             if (bolMenTrig) rightAns=(itemNum1+itemNum2).toString()
  117.             else rightAns=(itemNum1-itemNum2).toString()
  118.         }
  119.  
  120.         hellotextview.text = txt
  121.  
  122.     }
  123.  
  124.  
  125.     override fun onCreate(savedInstanceState: Bundle?) {
  126.  
  127.         super.onCreate(savedInstanceState)
  128.         setContentView(R.layout.activity_main)
  129.  
  130.         firstDialog()
  131.  
  132.         newTask()
  133.         editText1.setOnClickListener()
  134.         {
  135.             if (testComplete) exitProcess(0)
  136.             userAns = editText1.text.toString()
  137.             if (userAns != "") {
  138.                 if (userAns == rightAns) {
  139.                     Toast.makeText(this, "Правильно!", Toast.LENGTH_LONG).show()
  140.                 }
  141.                 if (userAns != rightAns) {
  142.                     Toast.makeText(this, "Ошибка!", Toast.LENGTH_LONG).show()
  143.                     wrongAnswersCounter++
  144.                     totalRightAnswers++
  145.                     RefreshStats()
  146.                 }
  147.                 if (userAns == rightAns) {
  148.                     rightAnswersCounter++
  149.                     RefreshStats()
  150.                     newTask()
  151.                 }
  152.             }
  153.             if (rightAnswersCounter==totalRightAnswers)
  154.             {
  155.                 Toast.makeText(this, "Ты выполнил задание!", Toast.LENGTH_LONG).show()
  156.                 testComplete=true
  157.             }
  158.         }
  159.     }
  160.  
  161.     fun  exitIfComplete (view: View)
  162.     {
  163.         if (testComplete) exitProcess(0)
  164.     }
  165.  
  166.  
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement