This commit is contained in:
Yohann D'ANELLO
2020-12-07 21:22:06 +01:00
parent b24cc1877f
commit 57fab7db51
8 changed files with 80 additions and 70 deletions

View File

@ -117,30 +117,35 @@ class Game:
self.state = GameMode.INVENTORY
elif key == KeyValues.SPACE:
self.state = GameMode.MAINMENU
elif key == KeyValues.T :
keykey = self.screen.getkey()
keykey = KeyValues.translate_key(keykey, self.settings)
if keykey == KeyValues.UP:
xp = self.player.x
yp = self.player.y-1
elif keykey == KeyValues.DOWN:
xp = self.player.x
yp = self.player.y+1
elif keykey == KeyValues.LEFT:
xp = self.player.x-1
yp = self.player.y
elif keykey == KeyValues.RIGHT:
xp = self.player.x+1
yp = self.player.y
if self.map.entity_is_present(yp, xp) :
for entity in self.map.entities :
if entity.is_friendly() and entity.x == xp and entity.y == yp :
msg = entity.talk_to(self.player)
self.logs.add_message(msg)
if entity.is_merchant() :
self.state = GameMode.STORE
self.store_menu.update_merchant(entity)
elif key == KeyValues.T:
self.handle_friendly_entity_chat()
def handle_friendly_entity_chat(self) -> None:
keykey = self.screen.getkey()
keykey = KeyValues.translate_key(keykey, self.settings)
if keykey == KeyValues.UP:
xp = self.player.x
yp = self.player.y - 1
elif keykey == KeyValues.DOWN:
xp = self.player.x
yp = self.player.y + 1
elif keykey == KeyValues.LEFT:
xp = self.player.x - 1
yp = self.player.y
elif keykey == KeyValues.RIGHT:
xp = self.player.x + 1
yp = self.player.y
else:
return
if self.map.entity_is_present(yp, xp):
for entity in self.map.entities:
if entity.is_friendly() and entity.x == xp and \
entity.y == yp:
msg = entity.talk_to(self.player)
self.logs.add_message(msg)
if entity.is_merchant():
self.state = GameMode.STORE
self.store_menu.update_merchant(entity)
def handle_key_pressed_inventory(self, key: KeyValues) -> None:
"""
@ -164,12 +169,12 @@ class Game:
self.inventory_menu.position = min(self.inventory_menu.position,
len(self.inventory_menu.values)
- 1)
def handle_key_pressed_store(self, key: KeyValues) -> None:
"""
In a store menu, we can buy items or close the menu.
"""
if key == KeyValues.SPACE :
if key == KeyValues.SPACE:
self.state = GameMode.PLAY
elif key == KeyValues.UP:
self.store_menu.go_up()
@ -180,8 +185,7 @@ class Game:
self.player.add_to_inventory(self.store_menu.validate())
# Ensure that the cursor has a good position
self.store_menu.position = min(self.store_menu.position,
len(self.store_menu.values)
- 1)
len(self.store_menu.values) - 1)
def handle_key_pressed_main_menu(self, key: KeyValues) -> None:
"""