Finish program

This commit is contained in:
askiiart 2022-12-23 19:09:23 -06:00
parent c289e1eadf
commit fc97163dc6

46
main.py
View file

@ -9,7 +9,7 @@ except ImportError as e:
print('Error: Please install wget using "pip install wget"') print('Error: Please install wget using "pip install wget"')
exit(1) exit(1)
def download_and_process(buildings_file_name, debug=False): def data_download(buildings_file_name, debug=False):
if 'data' not in os.listdir(): if 'data' not in os.listdir():
os.mkdir('data') os.mkdir('data')
@ -36,8 +36,10 @@ def download_and_process(buildings_file_name, debug=False):
reader = csv.reader(file, delimiter='\t') # Changes delimiter to tab for .tsv files reader = csv.reader(file, delimiter='\t') # Changes delimiter to tab for .tsv files
buildings = {} buildings = {}
for row in reader: for row in reader:
temp = list(row) if row[0] != 'Building' and row[0] != '':
buildings[temp[0].lower()] = [row[i].lower() for i in range(1, len(row))] temp = list(row)
buildings[temp[0].lower()] = [row[i].lower() for i in range(1, len(row))]
pickle.dump(buildings, open(f'{buildings_file_name[:-4]}.pickle', 'wb')) pickle.dump(buildings, open(f'{buildings_file_name[:-4]}.pickle', 'wb'))
return buildings return buildings
@ -46,6 +48,42 @@ def download_and_process(buildings_file_name, debug=False):
print('Downloading and processing buildings...') print('Downloading and processing buildings...')
buildings = download_and_process('buildings.tsv') buildings = data_download('buildings.tsv') # In format {building_name: [brick, plank, rc, cu]}
print('Buildings downloaded and processed') print('Buildings downloaded and processed')
print() print()
# Can't keep track of hours because it varies by building, and it would be such a pain to figure out
total = [0, 0, 0, 0] # Number of [rc, bricks, planks, cu] needed for upgrade (total)
running = True
while running:
print('What building do you want to upgrade?')
buildings_keys = list(buildings.keys())
for i in range(len(buildings)):
print(f'{i + 1}: {buildings_keys[i]}')
i = int(input('Enter the number corresponding to the building:\n')) - 1
current_level = int(input('What is the current level of the building? Enter 0 if it is not built yet.\n'))
target_level = int(input('What is the target level of the building?\n'))
print()
for j in range(current_level, target_level):
if j == 0:
temp = 1
else:
temp = j
total[0] += int(buildings[buildings_keys[i]][3]) * temp
total[1] += int(buildings[buildings_keys[i]][4]) * temp
total[2] += int(buildings[buildings_keys[i]][5]) * temp
total[3] += int(buildings[buildings_keys[i]][6]) * temp
print('Would you like to upgrade another building? (y/N)')
if input().lower() != 'y':
running = False
print()
print()
print('Total resources needed:')
print(f' Reinforced Concrete: {total[0]}')
print(f' Bricks: {total[1]}')
print(f' Planks: {total[2]}')
print(f' Construction Units: {total[3]}')