arena replace weapons with more generic items

This commit is contained in:
andrea
2025-11-14 21:49:49 +01:00
parent f80edfff83
commit 9c2b6b026b
3 changed files with 21 additions and 20 deletions

View File

@@ -1,33 +1,33 @@
from entities import player as _player from entities import player as _player
from entities import event_picker as _events from entities import event_picker as _events
from entities import gamemap as _map from entities import gamemap as _map
from entities.items import weapons as _weapons from entities.items import item as _items
from utils import logs as _logs from utils import logs as _logs
class BrSimArena(): class BrSimArena():
# players = [{'name': name, 'inventory': default_inventory, other_stats}] # players = [{'name': name, 'inventory': default_inventory, other_stats}]
# weapons = [{WEAPON.KNIFE: quantity}, etc...] # this is the whole quantity of the items available on the world # items = [{WEAPON.KNIFE: quantity}, etc...] # this is the whole quantity of the items available on the world
def __init__(self, players= None, weapons= None): def __init__(self, players= None, items= None):
self.day= 1 self.day= 1
self.players= [] self.players= []
self.weapons= [] self.items= []
self.eventClass = _events.ArenaEventPicker(self.players) self.eventClass = _events.ArenaEventPicker(self.players)
self.init_players(players) self.init_players(players)
self.init_weapons(weapons) self.init_items(items)
self.Map= _map.BrSimMap(self.players, self.weapons) self.Map= _map.BrSimMap(self.players, self.items)
def init_players(self, players): def init_players(self, players):
if not players: return if not players: return
for player in players: for player in players:
self.add_player(player['name'], player.get('inventory')) self.add_player(player['name'], player.get('inventory'))
def init_weapons(self, weapons): def init_items(self, items):
if not weapons: return if not items: return
for weapon in weapons: for item in items:
for wtype, quantity in weapon.items(): for itype, quantity in item.items():
for i in range(quantity): self.weapons.append(_weapons.BrSimWeapon(wtype)) for i in range(quantity): self.items.append(_items.BrSimItem(wrype))
def next_day(self): def next_day(self):
self.day+= 1 self.day+= 1
@@ -116,19 +116,19 @@ class BrSimArena():
self.players.append(player) self.players.append(player)
self.Map.add_player_to_map(player) self.Map.add_player_to_map(player)
def add_weapon(self, weapon_type): def add_item(self, itype):
weapon= _weapons.BrSimWeapon(weapon_type) weapon= _items.BrSimItem(itype)
self.weapons.append(weapon) self.items.append(weapon)
self.Map.add_item_to_map(item) self.Map.add_item_to_map(item)
def get_players(self): def get_players(self):
return self.players return self.players
def get_weapons(self): def get_items(self):
res= [] res= []
for w in self.weapons: for i in self.items:
#XXX implement me #XXX implement me
res.append(w) res.append(i)
return res return res
def get_map(self): def get_map(self):

View File

@@ -4,9 +4,10 @@ from entities import resource as _resource
class BrSimItem(_resource.BrSimResource): class BrSimItem(_resource.BrSimResource):
# test # test
def __init__(self): def __init__(self, item):
self.coord_x= 0 self.coord_x= 0
self.coord_y= 0 self.coord_y= 0
self.item= item
def is_item(self): def is_item(self):
return True return True

View File

@@ -1,7 +1,7 @@
from entities import arena as _arena from entities import arena as _arena
def init_arena(players= None, weapons= None): def init_arena(players= None, items= None):
return _arena.BrSimArena(players, weapons) return _arena.BrSimArena(players, items)
def run_events(Arena): def run_events(Arena):
#A event for each player: #A event for each player: