Add some more basic colors and some semantic colors for the Health Bar
This commit is contained in:
		
							parent
							
								
									11aee12320
								
							
						
					
					
						commit
						18a068cff6
					
				
					 2 changed files with 40 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -86,7 +86,7 @@ class Engine:
 | 
			
		|||
        self.update_field_of_view()
 | 
			
		||||
 | 
			
		||||
        # Interface elements
 | 
			
		||||
        self.hit_points_bar = Bar(position=Point(4, 45), width=20)
 | 
			
		||||
        self.hit_points_bar = Bar(position=Point(4, 45), width=20, colors=list(color.HealthBar.bar_colors()))
 | 
			
		||||
 | 
			
		||||
        self.message_log.add_message('Greetings adventurer!', fg=(127, 127, 255), stack=False)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,45 @@
 | 
			
		|||
# Eryn Wells <eryn@erynwells.me>
 | 
			
		||||
# pylint: disable=too-few-public-methods
 | 
			
		||||
 | 
			
		||||
'''
 | 
			
		||||
A bunch of colors.
 | 
			
		||||
'''
 | 
			
		||||
 | 
			
		||||
BLACK = (0, 0, 0)
 | 
			
		||||
WHITE = (255, 255, 255)
 | 
			
		||||
GREY10 = (26, 26, 26)
 | 
			
		||||
GREY50 = (128, 128, 128)
 | 
			
		||||
from typing import Iterator, Tuple
 | 
			
		||||
 | 
			
		||||
Color = Tuple[int, int, int]
 | 
			
		||||
 | 
			
		||||
# Grayscale
 | 
			
		||||
BLACK = (0x00, 0x00, 0x00)
 | 
			
		||||
GREY12 = (0x20, 0x20, 0x20)
 | 
			
		||||
GREY25 = (0x40, 0x40, 0x40)
 | 
			
		||||
GREY50 = (0x80, 0x80, 0x80)
 | 
			
		||||
GREY75 = (0xC0, 0xC0, 0xC0)
 | 
			
		||||
WHITE = (0xFF, 0xFF, 0xFF)
 | 
			
		||||
 | 
			
		||||
# Primaries
 | 
			
		||||
BLUE = (0x00, 0x00, 0xFF)
 | 
			
		||||
CYAN = (0x00, 0xFF, 0xFF)
 | 
			
		||||
GREEN = (0x00, 0xFF, 0x00)
 | 
			
		||||
MAGENTA = (0xFF, 0x00, 0xFF)
 | 
			
		||||
RED = (0xFF, 0x00, 0x00)
 | 
			
		||||
YELLOW = (0xFF, 0xFF, 0x00)
 | 
			
		||||
ORANGE = (0xFF, 0x77, 0x00)
 | 
			
		||||
 | 
			
		||||
# Semantic
 | 
			
		||||
class HealthBar:
 | 
			
		||||
    '''Semantic colors for the health bar'''
 | 
			
		||||
    FULL = GREEN
 | 
			
		||||
    GOOD = GREEN
 | 
			
		||||
    OKAY = YELLOW
 | 
			
		||||
    LOW = ORANGE
 | 
			
		||||
    CRITICAL = RED
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def bar_colors() -> Iterator[Tuple[float, Color]]:
 | 
			
		||||
        '''Return an iterator of colors that a Bar class can use'''
 | 
			
		||||
        yield (0.1, HealthBar.CRITICAL)
 | 
			
		||||
        yield (0.25, HealthBar.LOW)
 | 
			
		||||
        yield (0.75, HealthBar.OKAY)
 | 
			
		||||
        yield (0.9, HealthBar.GOOD)
 | 
			
		||||
        yield (1.0, HealthBar.FULL)
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue