Load game externally
This commit is contained in:
		
							
								
								
									
										31
									
								
								dungeonbattle/game.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								dungeonbattle/game.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					from .interfaces import Map
 | 
				
			||||||
 | 
					from .term_manager import TermManager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Game:
 | 
				
			||||||
 | 
					    INSTANCE = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def init(self) -> None:
 | 
				
			||||||
 | 
					        Game.INSTANCE = self
 | 
				
			||||||
 | 
					        with TermManager() as term_manager:
 | 
				
			||||||
 | 
					            self._start_game(term_manager.screen)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def _start_game(self, screen):
 | 
				
			||||||
 | 
					        # TODO Generate map, or make the possibility to load another one
 | 
				
			||||||
 | 
					        m = Map.load("example_map.txt")
 | 
				
			||||||
 | 
					        while True:
 | 
				
			||||||
 | 
					            screen.addstr(0, 0, m.draw_string())
 | 
				
			||||||
 | 
					            screen.refresh()
 | 
				
			||||||
 | 
					            key = screen.getkey()
 | 
				
			||||||
 | 
					            self.handle_key_pressed(key)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def handle_key_pressed(self, key):
 | 
				
			||||||
 | 
					        # TODO load keys from settings
 | 
				
			||||||
 | 
					        if key == 'z' or key == 'KEY_UP':
 | 
				
			||||||
 | 
					            pass    # TODO Go up
 | 
				
			||||||
 | 
					        if key == 's' or key == 'KEY_DOWN':
 | 
				
			||||||
 | 
					            pass    # TODO Go down
 | 
				
			||||||
 | 
					        if key == 'q' or key == 'KEY_LEFT':
 | 
				
			||||||
 | 
					            pass    # TODO Go left
 | 
				
			||||||
 | 
					        if key == 'd' or key == 'KEY_RIGHT':
 | 
				
			||||||
 | 
					            pass    # TODO Go right
 | 
				
			||||||
		Reference in New Issue
	
	Block a user