回顾:简单计算
本课属于 Coddy Dart 学习旅程的“基础知识”单元。第 21 课,共 94 课。
挑战
简单你正在开发一个简单的游戏分数计算器,用来跟踪玩家在不同关卡中的进度。请仔细按照以下步骤创建程序:
步骤 1:初始化变量
- 创建一个名为
playerScore的整数变量,并将其设为 100 - 创建一个名为
currentLevel的整数变量,并将其设为 5
步骤 2:计算游戏统计数据
计算以下值,并将它们存储在新变量中:
- 关卡奖励:将当前关卡乘以 20,并将结果存储在名为
levelBonus的变量中 - 可用强化道具:每个强化道具需要 25 分。使用整数除法(
~/)计算玩家用当前分数可以买到多少个完整的强化道具。将结果存储在powerUps中 - 剩余分数:使用取模运算符(
%)计算买完所有可购买的强化道具后剩余的分数。将结果存储在remainingPoints中
步骤 3:更新玩家分数和关卡
- 使用
+=运算符,将关卡奖励加到玩家分数上 - 使用前缀递增运算符(
++currentLevel)将当前关卡增加 1,并将这个新值存储在名为newLevel的变量中 - 使用
-=运算符,从玩家分数中减去 15 分 - 使用
*=运算符,将玩家分数乘以 2,使其翻倍
步骤 4:显示结果
代码中已提供 print 语句。不要修改这些语句。你需要补全上面的变量声明和计算,使输出与预期完全一致。
注意:其中一条已提供的 print 语句会显示 playerScore / 1.5,它执行普通除法(非整数除法),并产生小数结果。这是预期行为:该行的输出为 246.66666666666666。
重要:请确保严格按照上述顺序进行计算,因为每一步都会影响后续步骤。
亲手试试
void main() {
// 初始化玩家分数和等级
int playerScore = ?;
int currentLevel = ?;
// 计算等级奖励、强化道具数量和剩余点数
int levelBonus = ?;
int powerUps = ?;
int remainingPoints = ?;
// 使用复合赋值运算符将等级奖励加到分数中
?;
// 将等级加 1,并保存新等级
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');
}基础知识中的所有课
自己练习: Dart 在线编译器