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