online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
''' Online Python Compiler. Code, Compile, Run and Debug python program online. Write your code in this editor and press "Run" button to execute it. ''' import random class Weapon: def __init__(self,name, dmg_min, dmg_max, crit_chance, crit_power, ap_cost, resistance_ignore=0, armor_incur=0, bleed_chance=0, organic_bonus=0, ripper_enabled=False): self.name = name self.dmg_min = dmg_min self.dmg_max = dmg_max self.crit_chance = crit_chance self.crit_power = crit_power self.bleed_chance = bleed_chance self.organic_bonus = organic_bonus self.ap_cost = ap_cost self.resistance_ignore = resistance_ignore self.armor_incur = armor_incur self.ripper_enabled = ripper_enabled weapons = [] #dagger damage_range = (9, 24), crit_chance = 0.1, crit_power=1.15, organic_bonus = 0.25 weapons.append(Weapon( name = "dagger", ap_cost=6, dmg_min = 9, dmg_max = 24, crit_chance = 0.1, crit_power = 1.15, organic_bonus= 0.25, armor_incur = 1.25, ripper_enabled=True )) #knife_damage_range = (15, 25), crit_chance = 0.08, crit_power=1.15 weapons.append(Weapon( name = "knife", ap_cost=6, dmg_min = 15, dmg_max = 25, crit_chance = 0.08, crit_power = 1.15, armor_incur = 1.25, ripper_enabled=True, )) #sknife_damage_range = (12, 21), crit_chance = 0.08, crit_power=1.30, bleed_chance = 0.25, weapons.append(Weapon( name = "sknife", dmg_min = 12, dmg_max = 21, ap_cost=6, crit_chance = 0.08, crit_power = 1.3, bleed_chance = 0.25, armor_incur = 1.25, ripper_enabled=True )) weapons.append(Weapon( name = "spear", dmg_min = 35, dmg_max = 66, ap_cost=17, crit_chance = 0.05, crit_power = 1, resistance_ignore = 0.25, )) statistics = {} # ARMOR # no armor target_armor = 0 target_resistance = 0.0 # Death Stalker # target_armor = 16 # target_resistance = 0.35 # Goliathus # target_armor = 55 # target_resistance = 0.5 # Burrower # target_armor = 10 # target_resistance = 0.3 cheap_shot = 0.5 crit_power_feat_increase = 1.5 weapon_skill_additional_dmg = 2.3 ap = 500000 for weapon in weapons: statistics[weapon.name] = { "overall_dmg" : 0, "hits" : 0 } for hit in range(round(ap/weapon.ap_cost)): hit_dmg = random.randrange(weapon.dmg_min, weapon.dmg_max) hit_dmg += hit_dmg*weapon_skill_additional_dmg #crit is_crit = True if random.randint(1, 100)/100 <= weapon.crit_chance else False if is_crit: crit_power = weapon.crit_power + cheap_shot # ripper_increase if weapon.ripper_enabled: crit_power += crit_power*random.randint(10, 100)/100 # crit_power_feat crit_power += (crit_power-1)*crit_power_feat_increase hit_dmg += round(hit_dmg * weapon.crit_power) #armor armor_reduction = target_armor+target_armor*weapon.armor_incur resistance_reduction = hit_dmg*(target_resistance - target_resistance*weapon.resistance_ignore) used_reduction = armor_reduction if armor_reduction >= resistance_reduction else resistance_reduction hit_dmg = hit_dmg-used_reduction if hit_dmg < 0: hit_dmg = 0 #bleed is_bleed = True if random.randint(1, 100)/100 <= weapon.bleed_chance else False if is_bleed: hit_dmg += hit_dmg #organic hit_dmg += hit_dmg * weapon.organic_bonus statistics[weapon.name]["overall_dmg"] += round(hit_dmg) statistics[weapon.name]["hits"] += 1 for weapon in statistics: dmg_per_ap = str(statistics[weapon]["overall_dmg"] / ap) dmg_per_hit = str(statistics[weapon]["overall_dmg"] / statistics[weapon]["hits"]) print(weapon + " dps: " + dmg_per_ap + " average dmg per hit: " + dmg_per_hit)

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue