diff --git a/bot.py b/bot.py index b075eb3..ef98973 100644 --- a/bot.py +++ b/bot.py @@ -1,3 +1,5 @@ +import random as _rand + from telegram.ext import Application from telegram.ext import CommandHandler from telegram.ext import MessageHandler @@ -8,10 +10,18 @@ from telegram import ReplyKeyboardRemove from utils import logs as _log from entities import arena as _arena +from entities.items import syms as _isyms from bot_libs import special_commands as _scmd from bot_libs import syms as _botsyms from bot_libs import commands_handling as _cmd +def bot_get_random_items(): + items= [] + nitems= _rand.randint(3,5) + for n in range(nitems): + itype= _rand.sample(_isyms.ITEMS_LIST, 1)[0] + items.append(itype) + return items async def bot_start(update, context): await update.message.reply_text(_botsyms.START_MSG) @@ -30,7 +40,8 @@ async def bot_start(update, context): chat_id = update.effective_chat.id _log.log_debug(f'bot_start: {chat_id} - I\'m building the world\'s game...') - Arena= _arena.BrSimArena() + items= bot_get_random_items() + Arena= _arena.BrSimArena(items= items) await update.message.reply_text('Ho creato il mondo di gioco', reply_markup=reply_markup) context.application.bot_data['arena'] = Arena diff --git a/entities/arena.py b/entities/arena.py index da6a516..c41a367 100644 --- a/entities/arena.py +++ b/entities/arena.py @@ -25,9 +25,9 @@ class BrSimArena(): def init_items(self, items): if not items: return - for item in items: - for itype, quantity in item.items(): - for i in range(quantity): self.items.append(_items.BrSimItem(wrype)) + for item_id in items: + I= _items.BrSimItem(item_id) + self.items.append(I) def next_day(self): self.day+= 1 diff --git a/entities/gamemap.py b/entities/gamemap.py index 0547975..4ee0f8a 100644 --- a/entities/gamemap.py +++ b/entities/gamemap.py @@ -53,8 +53,7 @@ class BrSimMap(): self.game_map.append(_copy.deepcopy(width)) #_logs.log_debug(f'init_map_matrix: {self.game_map}') _logs.log_debug(f'players: %s'% [(p.get_name(), p.get_coordinates()) for p in self.players]) - print('##') - _logs.log_debug(f'items: %s' % [(p.get_name(), p.get_coordinates()) for p in self.items]) + _logs.log_debug(f'items: %s' % [(i.get_name(), i.get_coordinates()) for i in self.items]) def populate_map(self): for player in self.players: diff --git a/entities/items/item.py b/entities/items/item.py index f191cd4..968b0f0 100644 --- a/entities/items/item.py +++ b/entities/items/item.py @@ -9,6 +9,7 @@ class BrSimItem(_resource.BrSimResource): # this decision would change everything from Arena init def __init__(self, item_id): + super().__init__() self.item= _isyms.ITEMS[item_id] def is_item(self): diff --git a/entities/player.py b/entities/player.py index 7d1043c..d595dcf 100644 --- a/entities/player.py +++ b/entities/player.py @@ -6,7 +6,7 @@ from utils import logs as _logs class BrSimPlayer(_resource.BrSimResource): def __init__(self, name, inventory= None): - super() + super().__init__() self.id= str(_uuid.uuid4()) self.name= name self.stats= ''