コード例 #1
0
ファイル: inventory.py プロジェクト: pythonarcade/roguelike
    def add_item(self, item: Entity) -> List[Optional[Dict]]:
        results = []

        item_placed = False
        for i in range(self.capacity):
            if self.items[i] is None:
                self.items[i] = item
                item_placed = True
                break

        if not item_placed:
            results.append({
                "message":
                "You cannot carry any more, your inventory is full"
            })
            results.append({"play_sound": "error"})
        else:
            results.append({"message": f"You pick up the {item.name}!"})
            if "Potion" in item.name:
                results.append({"play_sound": "pickup_potion"})
            if "Scroll" in item.name:
                results.append({"play_sound": "pickup_scroll"})

            item.remove_from_sprite_lists()
            results.append({"enemy_turn": True})

        return results