【发布时间】:2019-08-30 04:54:01
【问题描述】:
我正在创建一个简单的刽子手游戏。用户可以输入一个“密句”,然后玩家通过选择一个字母来猜测它。
由于该游戏将使用多种语言,如果玩家选择非重音字符,我想解决所有重音字符。例如:
IL CANE È BELLO.
如果玩家选择元音“e”,则只会解决没有重音的元音(游戏将字符与 === 进行比较)。相反,我希望游戏能够自动识别所有重音或不重音的字符(è、é、e...)
我即将折磨自己编写一个检查每个重音字符的函数,但我想知道是否有更简单的方法。
这是我的功能到目前为止的样子(我刚刚添加了 è 重音元音)
function isAccentedVowel(chosenChar, currentChar) {
console.log('The user selected this char: ' + chosenChar)
console.log('I\'m comparing it to this char: ' + currentChar)
switch (chosenChar) {
case 'E':
if (currentChar === 'È') return true;
}
}
注意:密句和每个字符都是大写的
【问题讨论】:
-
也许看看使用 .charCodeAt() 见:stackoverflow.com/questions/22624379/… ,我怀疑那些重音字符会落在一个数字范围之间,你可以使用它。不过不确定。也看看这个stackoverflow.com/questions/990904/…
-
策略模式是你的朋友。您根据用户区域设置选择策略。这样你的代码就会保持干净,而不是一公里长的 switch 语句
标签: javascript string diacritics