Flutter 颤振:获取所有字母的位置。(游戏)
我正在做一个游戏,但我不能更改匹配多次的字母 我不知道我做错了什么,我希望有人能帮助我,谢谢 我留下一个演示视频,结果是多明戈这个词 我感觉到的问题是,当我按下该键或它仅在开始时被指定 当必须用所有可能的匹配项完成时 这是我的省道功能。Flutter 颤振:获取所有字母的位置。(游戏),flutter,dart,Flutter,Dart,我正在做一个游戏,但我不能更改匹配多次的字母 我不知道我做错了什么,我希望有人能帮助我,谢谢 我留下一个演示视频,结果是多明戈这个词 我感觉到的问题是,当我按下该键或它仅在开始时被指定 当必须用所有可能的匹配项完成时 这是我的省道功能。 String word = 'domingo'; String key = 'o'; // OnTap button "O" List<Word> positionsFound = List<Word>(); _wor
String word = 'domingo';
String key = 'o'; // OnTap button "O"
List<Word> positionsFound = List<Word>();
_word(){
String wordEmpty = '';
for(int i=0; i<word.length; i++){
if(key.isEmpty){
wordEmpty = wordEmpty+'_';
} else {
wordEmpty = wordEmpty+'_';
int position = word.toLowerCase().indexOf(key.toLowerCase());
if(position == i){
positionsFound.add(Word(key, position));
print(position); // The position must be 1 and 6, it only gives me 1.
}
}
}
for(int i=0; i<positionsFound.length; i++){
wordEmpty = wordEmpty.replaceFirst('_', positionsFound[i].key, positionsFound[i].position);
}
return wordEmpty;
}
class Word {
String key;
int position;
Word(this.key, this.position);
}
stringword='domingo';
字符串键='o';//OnTap按钮“O”
List positionsFound=List();
_单词(){
字符串wordEmpty='';
对于(inti=0;i,过了一会儿,我意识到indexof允许您从上次执行的搜索开始
if(key.isNotEmpty){
int position = word.toLowerCase().indexOf(key.toLowerCase());
while(position != -1){
if(position != -1){
positionsFound.add(Word(key, position));
}
position = word.toLowerCase().indexOf(key.toLowerCase(), position+1);
}
}