Wrap perfectly the map on the screen, bricks won't teleport randomly anymore
This commit is contained in:
		@@ -48,7 +48,10 @@ class DisplayManager:
 | 
			
		||||
        if self.game.state == GameMode.PLAY:
 | 
			
		||||
            # The map pad has already the good size
 | 
			
		||||
            self.mapdisplay.refresh(0, 0, self.rows * 4 // 5,
 | 
			
		||||
                                    self.cols * 4 // 5, resize_pad=False)
 | 
			
		||||
                                    self.mapdisplay.pack.tile_width
 | 
			
		||||
                                    * (self.cols * 4 // 5
 | 
			
		||||
                                       // self.mapdisplay.pack.tile_width),
 | 
			
		||||
                                    resize_pad=False)
 | 
			
		||||
            self.statsdisplay.refresh(0, self.cols * 4 // 5 + 1,
 | 
			
		||||
                                      self.rows, self.cols // 5 - 1)
 | 
			
		||||
            self.logsdisplay.refresh(self.rows * 4 // 5 + 1, 0,
 | 
			
		||||
 
 | 
			
		||||
@@ -31,9 +31,17 @@ class MapDisplay(Display):
 | 
			
		||||
        smaxrow = min(smaxrow, self.height - 1)
 | 
			
		||||
        smaxcol = self.pack.tile_width * self.map.width - \
 | 
			
		||||
            (x + deltax) + self.width - 1
 | 
			
		||||
 | 
			
		||||
        # Wrap perfectly the map according to the width of the tiles
 | 
			
		||||
        pmincol = self.pack.tile_width * (pmincol // self.pack.tile_width)
 | 
			
		||||
        smincol = self.pack.tile_width * (smincol // self.pack.tile_width)
 | 
			
		||||
        smaxcol = self.pack.tile_width \
 | 
			
		||||
            * (smaxcol // self.pack.tile_width + 1) - 1
 | 
			
		||||
 | 
			
		||||
        smaxcol = min(smaxcol, self.width - 1)
 | 
			
		||||
        pminrow = max(0, min(self.map.height, pminrow))
 | 
			
		||||
        pmincol = max(0, min(self.pack.tile_width * self.map.width, pmincol))
 | 
			
		||||
 | 
			
		||||
        self.pad.clear()
 | 
			
		||||
        self.update_pad()
 | 
			
		||||
        self.refresh_pad(self.pad, pminrow, pmincol, sminrow, smincol, smaxrow,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user