You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

67 rivejä
1.7 KiB

from flask import Flask, render_template, jsonify, request
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/results', methods=['POST'])
def results():
combinations = calculate_combinations(request.get_json())
return jsonify(combinations)
# Data Methods
def calculate_combinations(equipment, do_print=False):
# name, defense, resistance
eq_headware = equipment["head"]
eq_chestware = equipment["chest"]
eq_legwear = equipment["legs"]
# Create a list of all possible eq combinations
results = []
for hw in eq_headware:
for cw in eq_chestware:
for lw in eq_legwear:
result = {}
result["eq"] = [hw[0], cw[0], lw[0]]
result["def"] = hw[1] + cw[1] + lw[1]
result["res"] = hw[2] + cw[2] + lw[2]
results.append(result)
# Sort the combinations by combined total of def anf res
results.sort(key=lambda i: i["def"] + i["res"])
if do_print:
for result in results:
print("{} ({} def {} res) -".format(result["def"] + result["res"], result["def"], result["res"]))
for eq in result["eq"]:
print("\t{}".format(eq))
return results
"""
eq_headware = [
["Ljosalfar Hood", 98, 510],
["Kobold Hood", 0, 614],
["Northern Cowl", 584, 130],
["High Fomorian Hood", 487, 112]
]
eq_chestware = [
["Ljosalfar Robe", 121, 528],
["High Fomorian Garb", 544, 0],
["Darkest Garb", 514, 169],
["Northern Garb", 535, 119],
["Northern Robe", 486, 108]
]
eq_legwear = [
["Northern Boots", 636, 142],
["Terra Boots", 129, 369],
["High Fomorian Boots", 516, 0],
["Ljosalfar Boots", 280, 280]
]
"""