Menu
CoddyTech

回顾:简单计算

本课属于 Coddy Dart 学习旅程的“基础知识”单元。第 21 课,共 94 课。

challenge icon

挑战

简单

你正在开发一个简单的游戏分数计算器,用来跟踪玩家在不同关卡中的进度。请仔细按照以下步骤创建程序:

步骤 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 在线编译器