Der*_*nce 0 math if-statement dart
每次得分达到以 09 结尾的数字时,我都会播放 1 个声音。
我还有 4 种声音,每次乐谱达到以 19、29、39、49、59、69、79 和 89 结尾的数字时,它们会依次播放。
然后我有 1 个声音,每次得分达到以 99 结尾的数字时都会播放。
我的代码有效,但我觉得应该有一种更优雅的方法。
if (score == 9 || score == 109 || score == 209 ...) {
play('sound1.mp3');
}
if (score == 19 || score == 59 || score == 119 || score == 159 ...) {
play('sound2.mp3');
}
if (score == 29 || score == 69 || score == 129 || score == 169 ...) {
play('sound3.mp3');
}
if (score == 39 || score == 79 || score == 139 || score == 179 ...) {
play('sound4.mp3');
}
if (score == 49 || score == 89 || score == 149 || score == 189 ...) {
play('sound5.mp3');
}
if (score == 99 || score == 199 ...) {
play('sound6.mp3');
}
Run Code Online (Sandbox Code Playgroud)
想法?请帮助我像程序员一样思考这个问题。:D
9、109、209 等之间的共同点是,当除以 100 时,余数为 9。
99、199、299 等之间的共同点是,当除以 100 时,它们的余数为 99。
在 Dart 中,余数是使用模运算符 计算的%。
var remainder = score % 100;
if (remainder == 9) {
// 9, 109, 209, ...
} else if (remainder == 99) {
// 99, 199, 299, ...
} else if (score % 10 == 9) {
// other numbers ending in 9
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28 次 |
| 最近记录: |