Итог - Простые вычисления
Часть раздела Основы путешествия по Dart на Coddy. Урок 21 из 94.
Задание
ЛегкоВы разрабатываете простой калькулятор игрового счёта, который отслеживает прогресс игрока на разных уровнях. Внимательно выполните следующие шаги, чтобы создать программу:
Шаг 1: Инициализация переменных
- Создайте целочисленную переменную с именем
playerScoreи установите её значение равным 100 - Создайте целочисленную переменную с именем
currentLevelи установите её значение равным 5
Шаг 2: Расчёт игровой статистики
Вычислите и сохраните следующие значения в новых переменных:
- Бонус уровня: умножьте текущий уровень на 20 и сохраните результат в переменной с именем
levelBonus - Доступные усиления: каждое усиление стоит 25 очков. Используйте целочисленное деление (
~/), чтобы определить, сколько полных усилений игрок может приобрести за свой текущий счёт. Сохраните это значение вpowerUps - Оставшиеся очки: используйте оператор остатка от деления (
%), чтобы определить, сколько очков останется после покупки всех возможных усилений. Сохраните это значение вremainingPoints
Шаг 3: Обновление счёта и уровня игрока
- Добавьте бонус уровня к счёту игрока, используя оператор
+= - Увеличьте текущий уровень на 1, используя оператор префиксного инкремента (
++currentLevel), и сохраните это новое значение в переменной с именемnewLevel - Вычтите 15 очков из счёта игрока, используя оператор
-= - Удвойте счёт игрока, умножив его на 2 с помощью оператора
*=
Шаг 4: Вывод результатов
Инструкции print уже предоставлены в коде. Не изменяйте их. Ваша задача — добавить отсутствующие объявления переменных и вычисления выше, чтобы вывод в точности соответствовал требуемому.
Примечание: одна из предоставленных инструкций print выводит playerScore / 1.5, что выполняет обычное (нецелочисленное) деление и даёт десятичный результат. Это ожидаемо: выводом для этой строки будет 246.66666666666666.
Важно: убедитесь, что вычисления выполняются в точно указанном выше порядке, поскольку каждый шаг влияет на следующий.
Попробуйте сами
void main() {
// Инициализировать счёт игрока и уровень
int playerScore = ?;
int currentLevel = ?;
// Calculate level bonus, power-ups, and remaining points
int levelBonus = ?;
int powerUps = ?;
int remainingPoints = ?;
// Добавить бонус уровня к счёту с помощью сокращённого присваивания
?;
// Увеличить уровень и сохранить новый уровень
int newLevel = ?;
// Уменьшить счёт на 15 с помощью сокращённого присваивания
playerScore ?;
// Вычислить итоговый счёт (умножить на 2)
playerScore ?;
// Вывести результаты
print('Initial score: 100');
print('Level bonus: $levelBonus');
print('Available power-ups: $powerUps');
print('Remaining points: $remainingPoints');
print('New level: $newLevel');
print('Score after bonus and penalty: ${playerScore / 1.5}');
print('Final score with multiplier: $playerScore');
}Все уроки раздела Основы
4Операторы, часть 2
Операторы сравненияЛогический ANDЛогический ORЛогический NOTОператоры проверки типаПовторение - Сравнения7Работа со строками
Конкатенация строкИнтерполяция строкМногострочные строкиСвойства строкОсновные методы строк10Коллекции - Основы словарей
Что такое словари?Создание словаряДоступ к значениям по ключуПары ключ-значениеПолучение размера словаряПолучение ключейПолучение значенийПроверка существования ключа2Переменные и основные типы данных
Что такое переменные?СтрокиЦелые числа (int)Вещественные числа (double)Булевы значения (bool)Вывод типов с 'var'Финальные переменныеКонстантные переменныеСоглашения об именованииОсновы null-безопасностиПовторение - Объявление переменных8Поток управления - Циклы
Цикл 'for'Цикл 'while'Цикл 'do-while'Использование 'break' в циклахИспользование 'continue' в циклахИтог - Повторение кода3Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор модуляИнкремент и декрементСокращённые присваиванияИтог - Простые вычисления6Управление потоком - Принятие решений
Оператор 'if'Оператор 'else'Оператор 'else if'Повторение - Простые решенияВложенные операторы 'if'Оператор 'switch'9Коллекции - Основы списков
Что такое списки?Создание спискаДоступ по индексуПолучение длины спискаДобавление элементовУдаление элементовПроверка, пуст ли списокИтерация по списку12Расширенные функции
Необязательные позиционные параметрыИменованные параметрыОбязательные именованные параметрыЗначения параметров по умолчаниюПовторение - Параметры функций15Проект: Простой калькулятор
НастройкаОбъявление числаПотренируйтесь самостоятельно: Онлайн-компилятор Dart