projects
/
naja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Keep move highlighting in examine move
[naja.git]
/
naja
/
widgets
/
tile.py
diff --git
a/naja/widgets/tile.py
b/naja/widgets/tile.py
index 01efdac4ff8a16a5f029864254d72253a760d1eb..85f90057ecd35760aaaf858ddf6be72911ce757e 100644
(file)
--- a/
naja/widgets/tile.py
+++ b/
naja/widgets/tile.py
@@
-2,7
+2,7
@@
import pygame
import pygame.locals as pgl
import pygame
import pygame.locals as pgl
-from naja.constants import TILE_SIZE, BITS, LOCK_HEIGHT
+from naja.constants import TILE_SIZE, BITS, LOCK_HEIGHT
, MOVE, EXAMINE
from naja.resources import resources
from naja.resources.mutators import EIGHT_BIT
from naja.widgets.base import Widget
from naja.resources import resources
from naja.resources.mutators import EIGHT_BIT
from naja.widgets.base import Widget
@@
-25,16
+25,24
@@
class TileWidget(Widget):
super(TileWidget, self).__init__(pos, TILE_SIZE)
self.state = state
self.board_pos = board_pos
super(TileWidget, self).__init__(pos, TILE_SIZE)
self.state = state
self.board_pos = board_pos
+ self.highlighted = False
def prepare(self):
# Draw background
x, y = abs(self.board_pos[0] - 2), abs(self.board_pos[1] - 2)
def prepare(self):
# Draw background
x, y = abs(self.board_pos[0] - 2), abs(self.board_pos[1] - 2)
- if (x + y) % 2 == 0:
+ legal_move = (self.board_pos in self.state.player.legal_moves())
+ if self.state.gameboard.player_mode in (MOVE, EXAMINE) and legal_move:
+ bg = resources.get_image('board/tile_available.png',
+ transforms=(EIGHT_BIT,))
+ elif (x + y) % 2 == 0:
bg = resources.get_image('board/tile_2.png',
transforms=(EIGHT_BIT,))
else:
bg = resources.get_image('board/tile_1.png',
transforms=(EIGHT_BIT,))
bg = resources.get_image('board/tile_2.png',
transforms=(EIGHT_BIT,))
else:
bg = resources.get_image('board/tile_1.png',
transforms=(EIGHT_BIT,))
+ if self.highlighted:
+ bg = resources.get_image('board/tile_selected.png',
+ transforms=(EIGHT_BIT,))
self.surface = pygame.surface.Surface(TILE_SIZE)
self.surface.blit(bg, (0, 0))
# Look up the required bits on the board location
self.surface = pygame.surface.Surface(TILE_SIZE)
self.surface.blit(bg, (0, 0))
# Look up the required bits on the board location
@@
-66,5
+74,11
@@
class TileWidget(Widget):
self.surface.blit(img, (x_offset, y_offset))
y_offset += LOCK_HEIGHT
self.surface.blit(img, (x_offset, y_offset))
y_offset += LOCK_HEIGHT
+ def set_highlight(self, pos):
+ self.highlighted = False
+ if (self.state.gameboard.player_mode == EXAMINE and
+ self.board_pos == pos):
+ self.highlighted = True
+
def draw(self, surface):
surface.blit(self.surface, self.pos)
def draw(self, surface):
surface.blit(self.surface, self.pos)