複数の配列セットがあり、いずれかの配列に 2 つの値が含まれているかどうかを確認したい場合、どうすればよいでしょうか。
これが私が以前に試したことです:
public boolean multiIdTasks(int[] arrayToTest, int slayerTask, int npcKilled){
for(int j = 0; j < arrayToTest.length; j++){
if(arrayToTest[j] == slayerTask){
if(confirmSlayerKill(arrayToTest, arrayToTest[j])){
return true;
} else {
continue;
}
}
}
return false;
}
public boolean confirmSlayerKill(int[] arrayToTest, int npcKilled){
for(int g = 0; g < arrayToTest.length; g++){
if(arrayToTest[g] == npcKilled){
return true;
}
}
return false;
}
殺された npc が与えられたタスクの配列に含まれているかどうかを確認する必要があります。たとえば、タスクが鳥でワシを殺す場合、タスクのカウントを減らしたいのですが、タスクの値と殺された npc の値の両方を確認する良い方法をまだ見つけていません。
これを呼び出すメソッドは次のとおりです。
public boolean getValidKills(int slayerTask, int npcKilled){
if( multiIdTasks(SlayerData.BANSHEES, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.BATS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.BIRDS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.BEARS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.CAVE_BUGS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.CAVE_SLIMES, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.COWS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.DESERT_LIZARDS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.DOGS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.DWARVES, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.GHOSTS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.GOBLINS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.ICEFIENDS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.MINOTAURS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.MONKEYS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.SCORPIONS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.SKELETONS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.SPIDERS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.TROLLS, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.WOLVES, slayerTask, npcKilled) ||
multiIdTasks(SlayerData.ZOMBIES, slayerTask, npcKilled)) {
return true;
} else {
return false;
}
}
が true の場合getValidKills
、カウントは減少するはずです。しかし、これを適切に機能させることはできません。誰か助けてもらえますか? さらに情報が必要な場合は、お知らせください...