
Код AS3:
if(game == "тест")
{
for(var i:uint = 0; i < excess.length; i++)
{
switch(excess[i]){
case "предмет1": /*удаляешь*/; i--; break;
case "предмет2": /*удаляешь*/; i--; break;
}
}
}
т.е. ошибка в том, что ты при перечислении пропускаешь некоторые элементы, после удаления. если удаляется только последний элемент, то пропусков не будет.
просто делаешь i-- до новой итерации.
плюс константы "предмет1" и "предмет2" записываешь в массив:

Код AS3:
var items:Vector.<String> = new <String>["предмет1", "предмет2"];
if(game == "тест")
{
for(var i:uint = 0; i < excess.length; i++)
{
if(items.indexOf(excess[i]) !== -1)
{
excess.splice(i, 1);
i--;
}
}
}
и получается красота
как я понял items - то, что герой уже поднял, а excess - то, что нужно поднять