MapDisplay extends Display
This commit is contained in:
		@@ -10,6 +10,3 @@ class Display:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    def refresh(self) -> None:
 | 
					    def refresh(self) -> None:
 | 
				
			||||||
        raise NotImplementedError
 | 
					        raise NotImplementedError
 | 
				
			||||||
 | 
					 | 
				
			||||||
    def display(self, y: int, x: int) -> None:
 | 
					 | 
				
			||||||
        raise NotImplementedError
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,19 +1,21 @@
 | 
				
			|||||||
#!/usr/bin/env python
 | 
					#!/usr/bin/env python
 | 
				
			||||||
import curses
 | 
					import curses
 | 
				
			||||||
 | 
					from typing import Any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from dungeonbattle.display.display import Display
 | 
				
			||||||
from dungeonbattle.display.texturepack import TexturePack
 | 
					from dungeonbattle.display.texturepack import TexturePack
 | 
				
			||||||
 | 
					from dungeonbattle.entities.player import Player
 | 
				
			||||||
from dungeonbattle.interfaces import Map
 | 
					from dungeonbattle.interfaces import Map
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class MapDisplay:
 | 
					class MapDisplay(Display):
 | 
				
			||||||
 | 
					    def __init__(self, screen: Any, m: Map, player: Player, pack: TexturePack):
 | 
				
			||||||
    def __init__(self, m: Map, pack: TexturePack, height: int, width: int,
 | 
					        super().__init__(screen)
 | 
				
			||||||
                 init_pad: bool = True):
 | 
					        self.height = self.rows
 | 
				
			||||||
        self.width = width
 | 
					        self.width = self.cols
 | 
				
			||||||
        self.height = height
 | 
					 | 
				
			||||||
        self.pack = pack
 | 
					        self.pack = pack
 | 
				
			||||||
        self.map = m
 | 
					        self.map = m
 | 
				
			||||||
        if init_pad:
 | 
					        self.player = player
 | 
				
			||||||
        self.pad = curses.newpad(m.height, m.width + 1)
 | 
					        self.pad = curses.newpad(m.height, m.width + 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def update_pad(self) -> None:
 | 
					    def update_pad(self) -> None:
 | 
				
			||||||
@@ -35,3 +37,6 @@ class MapDisplay:
 | 
				
			|||||||
        self.pad.clear()
 | 
					        self.pad.clear()
 | 
				
			||||||
        self.update_pad()
 | 
					        self.update_pad()
 | 
				
			||||||
        self.pad.refresh(pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol)
 | 
					        self.pad.refresh(pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def refresh(self) -> None:
 | 
				
			||||||
 | 
					        return self.display(self.player.y, self.player.x)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,7 +39,7 @@ class Game:
 | 
				
			|||||||
        self.player = Player()
 | 
					        self.player = Player()
 | 
				
			||||||
        self.player.move(1, 6)
 | 
					        self.player.move(1, 6)
 | 
				
			||||||
        self.m.add_entity(self.player)
 | 
					        self.m.add_entity(self.player)
 | 
				
			||||||
        self.d = MenuDisplay(self, self.main_menu, 0, 0)
 | 
					        self.current_display = MenuDisplay(self, self.main_menu, 0, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @staticmethod
 | 
				
			||||||
    def load_game(filename: str) -> None:
 | 
					    def load_game(filename: str) -> None:
 | 
				
			||||||
@@ -51,7 +51,7 @@ class Game:
 | 
				
			|||||||
            screen.clear()
 | 
					            screen.clear()
 | 
				
			||||||
            screen.refresh()
 | 
					            screen.refresh()
 | 
				
			||||||
            # self.d.display(self.player.y, self.player.x)
 | 
					            # self.d.display(self.player.y, self.player.x)
 | 
				
			||||||
            self.d.refresh()
 | 
					            self.current_display.refresh()
 | 
				
			||||||
            key = screen.getkey()
 | 
					            key = screen.getkey()
 | 
				
			||||||
            self.handle_key_pressed(self.translate_key(key))
 | 
					            self.handle_key_pressed(self.translate_key(key))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -94,4 +94,4 @@ class Game:
 | 
				
			|||||||
                    self.state = GameMode.SETTINGS
 | 
					                    self.state = GameMode.SETTINGS
 | 
				
			||||||
                elif option == menus.MainMenuValues.EXIT:
 | 
					                elif option == menus.MainMenuValues.EXIT:
 | 
				
			||||||
                    sys.exit(0)
 | 
					                    sys.exit(0)
 | 
				
			||||||
        self.d.refresh()
 | 
					        self.current_display.refresh()
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user