Пишущий да обрящет. Часть 1

Закрепляю знания полученные в ходе изучения Kotlin.

В качестве хобби, решил познакомиться с Kotlin. Ранее не изучал программирование и знаний примерно ноль. В качестве помощника избрал книгу "Head first Kotlin" от Dawn и David Griffiths 2020 года. Для закрепления пройденно материала буду выкладывать пережитый опыт здесь. Эти очерки будут полезны мне и возможно таким же новичкам. Если вы кулхакер, думаю совсем не интересно будет.

<i>                                                   Камень. Ножницы. Бумага. Ящирица. Спок</i>
                                                   Камень. Ножницы. Бумага. Ящирица. Спок

При чем здесь Шелдон Сергеевич Купертинов спросите вы. Дело в том, что в выше указанной книге, один из первых примеров - это написание программы для игры с ПК в камень/ножницы/бумага. Я немного дополнил этот пример, до варианта из сериала ТБВ. Начнем с логики:

<i>                                                        Схема доминирования в рукоблудстве </i>
                                                        Схема доминирования в рукоблудстве 

Логика кода:

1) Создание массива, с возможными вариантами выбора в игре

2) Рандомный выбор значения из вариантов

3) Ввод варинта пользователем

4) Проверка варинта пользователя

5) Сравнение двух варинтов

6) Получение и вывод результатов сравнения

val options = arrayOf("Paper", "Rock", "Scissors", "Lizard", "Spock") // val - тип переменной, дает понять, что она не будет изменяться программой options - название переменной (подойдет любой понятное вам в использовании) = - знак присваивания переменной option значения arrayOf - создание массива ("Paper", "Rock", "Scissors", "Lizard", "Spock") - наполнение массива значениями

И так, в первой строке кода, мы создаем переменную options и присваеваем ей массив данных ("Paper", "Rock", "Scissors", "Lizard", "Spock"). В книге расписано подробно, как именно это происходит, на примере покупки кофе в Starbucks, можете ознакомиться.

fun getComputerChoice (comp: Array<String>) = copm[(Math.random() * comp.size).toInt()] // fun - создает новую функцию getComputerChoice - название функции (подойдет любой понятное вам в использовании) (comp: Array<String>) - создает переменную comp и задает её тип, Array (массив) String (строк) = - знак присваивания функции getComputerChoice значения copm[] - получение данных из массива. Если мы поставим в скобки цифру 0, мы получим значение Paper, если 1 значение Rock и тд. (Math.random() * comp.size).toInt() - случайная величина от 0 до почти 1 умноженная на размер массива и конвертированная в целое число

Здесь мы создаем функцию, которая получает в скобках [ ] целое число от 0 до 4 и обращается к массиву, выдергивая из него соответствующее цифре значение. Результатом будет один из вариантов в игре "Paper", "Rock", "Scissors", "Lizard", "Spock".

<i>                                   Выдохните и посмотрите на кота, со сметоаной на усах</i>
                                   Выдохните и посмотрите на кота, со сметоаной на усах

Что бы наша функция заработала, нужно в целом запустить код, вызвать эту функцию и передать ей значения наших вариантов (которые лежат в массиве)

fun main () { val options = arrayOf("Paper", "Rock", "Scissors", "Lizard", "Spock") val computerChoice = getComputerChoice (options) fun getComputerChoice (comp: Array<String>) = copm[(Math.random() * option.size).toInt()] // fun main () - уже знакомое нам fun, объявление функции. Но main это не просто функция, это запускающая приложение функция val computerChoice = - val мы тоже знаем, соответственно computerChoice это имя переменной которой мы присваеваем значение getComputerChoice (options) - мы вызываем (запускаем) нашу функцию из предыдущего фрагмента и передаем ей наш массив option

Сначала было слово. Попробую описать словамне происходящее в коде. Запускается приложение. Создается массив с вариантами игры. Создается новая переменная. Этой переменной присваеваем вызов функции и передаем массив с вариантами. С помощью функции и случайно сгенерированного числа выбирается одно из значение массива. Как результат этого кода мы получаем переменную computerChoice например "Paper"

Мне пора на тренировку. Поэтому чао-чао. В следующей части будет про ввод варианта пользователем. Мне эта часть показалась сложнее других.

2
Начать дискуссию