Практическая работа №1 по дисциплине «Разработка программного обеспечения для мобильных платформ» Факультет: ксиС
Download 0.94 Mb. Pdf ko'rish
|
ipr1
- Bu sahifa navigatsiya:
- Document Outline
Делаем игру увлекательной
Если вы не усвоили информацию с первого раза, рекомендую перечитать несколько раз. Это самая важная часть туториала по Kotlin, и с помощью всего лишь нескольких навыков вы сможете обрабатывать очень много кода! Затем мы изменим наши новые приемы программирования, чтобы превратить это в настоящую игру. Сначала мы создадим еще три переменные. Это будут глобальные переменные, созданные вне каких-либо функций и, следовательно, доступные для всех функций. Обратите внимание, что в Kotlin вам не нужно назначать тип переменной. В таких языках, как Java, вам нужно сразу указать, является ли ваша переменная Int (целым числом), String (строкой), Float (числом с плавающей точкой) и т. д. В Kotlin мы можем просто написать var и позволить Kotlin разбираться самостоятельно! Перед функцией onCreate() добавьте эти три строки: var questionNo = 0 var questions = listOf("What are the two official languages for Android developme nt? \n\n A) Kotlin and Java \n\n B) Java and Python \n\n C) Kotlin and Python", " How do you define a function in Kotlin? \n\n A) void \n\n B) var \n\n C) function ", "What is a variable used for? \n\n A) To contain data \n\n B) To insert a rand om value \n\n C) Don't know", "What does SDK stand for in Android SDK? \n\n A) So ftware Development Kit \n\n B) Software Development Kotlin \n\n C) Something Don' t Know") var rightAnswers = listOf(1, 2, 1, 1) Переменная questionNo - это целое число и будет использоваться для отслеживания номера вопроса, который мы задаем. Переменная questions представляет из себя список, означающий, что это переменная, которая может содержать несколько значений - в данном случае несколько строк. Каждая из наших строк разделена запятой, и ей будет присвоен индекс, на который можно будет ссылаться позже (обратите внимание, что первому элементу в списке присваивается индекс: 0). Важно, что символ \n распознается Kotlin (и большинством языков) как символ "новой строки" и фактически не отображается в нашем выводе. (Это выглядит некрасиво, и если вы создаете реальное приложение, то лучше хранить эти значения в отдельном XML-файле.) Последняя строка создает еще один список, на этот раз заполненный целыми числами. Это правильные ответы на каждый наш вопрос! Затем мы создаем новую функцию с названием updateQuestion. Все, что мы собираемся здесь сделать, это изменить наш вопрос в зависимости от номера вопроса. Делаем это так: fun updateQuestion() { questionNo = questionNo + 1 textView.setText(questions.get(questionNo)) } Поскольку мы вызываем эту функцию только тогда, когда кто-то получает правильный ответ, мы можем безопасно увеличить значение нашей переменной questionNo в начале функции. Затем мы собираемся задать вопрос, который отображается, обновив textView. Когда мы используем get со списком как в коде выше, нам нужно только вставить индекс в скобки, чтобы получить значение, которое там помещено. Таким образом, мы можем перейти к следующему вопросу, постепенно увеличивая это значение. Наконец, мы меняем наше условие "right answer" (правильный ответ) на любую правильную запись в нашем списке правильных ответов. Полученный код должен выглядеть так: class MainActivity : AppCompatActivity() { var questionNo = 0 var questions = listOf("What are the two official languages for Android devel opment? \n\n A) Kotlin and Java \n\n B) Java and Python \n\n C) Kotlin and Python ", "How do you define a function in Kotlin? \n\n A) void \n\n B) var \n\n C) func tion", "What is a variable used for? \n\n A) To contain data \n\n B) To insert a random value \n\n C) Don't know", "What does SDK stand for in Android SDK? \n\n A ) Software Development Kit \n\n B) Software Development Kotlin \n\n C) Something Don't Know") var rightAnswers = listOf(1, 2, 1, 1) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { showToast(1) } button2.setOnClickListener { showToast(2) } button3.setOnClickListener { showToast(3) } } fun showToast(answer: Int) { if (answer==rightAnswers.get(questionNo)) { Toast.makeText(applicationContext, "CORRECT!", Toast.LENGTH_SHORT).sh ow() updateQuestion() } else { Toast.makeText(applicationContext, "WRONGO!", Toast.LENGTH_SHORT).sho w() } } fun updateQuestion() { questionNo = questionNo + 1 textView.setText(questions.get(questionNo)) } } Document Outline
Download 0.94 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling