64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
from typing import List
 | 
						|
 | 
						|
 | 
						|
class CropQuality:
 | 
						|
    basic = "Basic Crop"
 | 
						|
    silver = "Silver Crop"
 | 
						|
    gold = "Gold Crop"
 | 
						|
    iridium = "Iridium Crop"
 | 
						|
 | 
						|
    @staticmethod
 | 
						|
    def get_highest(qualities: List[str]) -> str:
 | 
						|
        for quality in crop_qualities_in_desc_order:
 | 
						|
            if quality in qualities:
 | 
						|
                return quality
 | 
						|
        return CropQuality.basic
 | 
						|
 | 
						|
 | 
						|
class FishQuality:
 | 
						|
    basic = "Basic Fish"
 | 
						|
    silver = "Silver Fish"
 | 
						|
    gold = "Gold Fish"
 | 
						|
    iridium = "Iridium Fish"
 | 
						|
 | 
						|
    @staticmethod
 | 
						|
    def get_highest(qualities: List[str]) -> str:
 | 
						|
        for quality in fish_qualities_in_desc_order:
 | 
						|
            if quality in qualities:
 | 
						|
                return quality
 | 
						|
        return FishQuality.basic
 | 
						|
 | 
						|
 | 
						|
class ForageQuality:
 | 
						|
    basic = "Basic Forage"
 | 
						|
    silver = "Silver Forage"
 | 
						|
    gold = "Gold Forage"
 | 
						|
    iridium = "Iridium Forage"
 | 
						|
 | 
						|
    @staticmethod
 | 
						|
    def get_highest(qualities: List[str]) -> str:
 | 
						|
        for quality in forage_qualities_in_desc_order:
 | 
						|
            if quality in qualities:
 | 
						|
                return quality
 | 
						|
        return ForageQuality.basic
 | 
						|
 | 
						|
 | 
						|
class ArtisanQuality:
 | 
						|
    basic = "Basic Artisan"
 | 
						|
    silver = "Silver Artisan"
 | 
						|
    gold = "Gold Artisan"
 | 
						|
    iridium = "Iridium Artisan"
 | 
						|
 | 
						|
    @staticmethod
 | 
						|
    def get_highest(qualities: List[str]) -> str:
 | 
						|
        for quality in artisan_qualities_in_desc_order:
 | 
						|
            if quality in qualities:
 | 
						|
                return quality
 | 
						|
        return ArtisanQuality.basic
 | 
						|
 | 
						|
 | 
						|
crop_qualities_in_desc_order = [CropQuality.iridium, CropQuality.gold, CropQuality.silver, CropQuality.basic]
 | 
						|
fish_qualities_in_desc_order = [FishQuality.iridium, FishQuality.gold, FishQuality.silver, FishQuality.basic]
 | 
						|
forage_qualities_in_desc_order = [ForageQuality.iridium, ForageQuality.gold, ForageQuality.silver, ForageQuality.basic]
 | 
						|
artisan_qualities_in_desc_order = [ArtisanQuality.iridium, ArtisanQuality.gold, ArtisanQuality.silver, ArtisanQuality.basic]
 |