May-16-2018, 01:47 AM
You could make it a bit easier by using a dictionary for demons like:
demons = { 0: { 'name': 'DemonOne', 'health': 25, 'power': 25, 'luck': 250, 'luck_display': 0, 'armour': 10, 'attack': 0, 'attack_calc': 0 }, 1: { 'name': 'DemonTwo', 'health': 25, 'power': 25, 'luck': 250, 'luck_display': 0, 'armour': 10, 'attack': 0, 'attack_calc': 0 }, 2: { 'name': 'DemonThree', 'health': 25, 'power': 25, 'luck': 250, 'luck_display': 0, 'armour': 10, 'attack': 0, 'attack_calc': 0 } } def initialize_demons(): demons[0]['luck_display'] = demons[0]['luck'] / 10 demons[0]['attack'] = demons[0]['power'] / 4 demons[0]['attack_calc'] = (demons[0]['luck'] / 25) - 1 demons[1]['luck_display'] = demons[1]['luck'] / 10 demons[1]['attack'] = demons[1]['power'] / 4 demons[1]['attack_calc'] = (demons[1]['luck'] / 25) - 1 demons[2]['luck_display'] = demons[2]['luck'] / 10 demons[2]['attack'] = demons[2]['power'] / 4 demons[2]['attack_calc'] = (demons[2]['luck'] / 25) - 1 initialize_demons() # Example usage: # To get power: def get_power(demon_no): return demons[demon_no]['power'] def get_name(demon_no): return demons[demon_no]['name'] def get_attack(demon_no): return demons[demon_no]['attack'] def display_some_values(demon_no): print('{}: power: {}, attack: {}'.format(get_name(demon_no), get_power(demon_no), get_attack(demon_no))) # for DemonTwo display_some_values(1)When run, results:
Output:DemonTwo: power: 25, attack: 6.25
You could take this a step further by saving the initial dictionary values as a json file