Практическая работа №1 по дисциплине «Разработка программного обеспечения для мобильных платформ» Факультет: ксиС


Download 0.94 Mb.
Pdf ko'rish
bet6/6
Sana17.06.2023
Hajmi0.94 Mb.
#1531749
TuriПрактическая работа
1   2   3   4   5   6
Bog'liq
ipr1

Делаем игру увлекательной 
Если вы не усвоили информацию с первого раза, рекомендую перечитать 
несколько раз. Это самая важная часть туториала по 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:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling