Jan-15-2019, 07:50 PM
(Jan-15-2019, 07:20 PM)ichabod801 Wrote: Here's how a function could be useful:
get_position(floormap): while True: row = random.randint(0, mapheight - 1) column = random.randint(0, mapwidth - 1) if floormap[row][column]=="dirt": return [row, column] monsterpos = get_position() monsterpos1 = get_position() ...That is a step forward, but not what I would recommend. I would have a list of monsters. Each monster would be a dictionary. Say you have a list of names, you could do it like this:
monster_names = ['demi-gorgon', 'bunny rabbit', 'medusa'] monsters = [] for name in monster_names: monsters.append({'name': name, 'position': get_position()})One thing to note is that it is currently possible to have two monsters in the same position. If that is not what you want, the get_position function is not the best idea. Better would be to loop through all the positions, and make a list of the ones that are dirt. Then use random.shuffle to mix up the list of positions, and do:
monsters = [] for name, position in zip(monster_names, dirt_positions): monsters.append({'name': name, 'position': position})
Thank you so much for your reply and your time. I have learnt so many things from this coding logic :)