Advertisement
Guest User

Untitled

a guest
Jul 1st, 2018
685
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.63 KB | None | 0 0
  1. #setup
  2.  
  3. from selenium import webdriver
  4. driver = webdriver.Safari()
  5. driver.get("http://www.decisionproblem.com/paperclips/index2.html")
  6.  
  7. #loop and bot logic
  8. is_playing = True
  9. i = 0
  10.  
  11.  
  12. def main_data():
  13.     buttons["produce"].click()
  14.  
  15.  
  16. def strategy(demand, x=1000):
  17.     if data["inventory"] < x:
  18.         if data["demand"] <= demand[0]:
  19.             buttons["lower"].click()
  20.             print("Lowering the price to " + "$" + str(data["price"]))
  21.         elif data["demand"] >= demand[-1]:
  22.             buttons["more"].click()
  23.             print("Raising the price to " + "$" + str(data["price"]))
  24.  
  25.         if data["funds"] > data["wire_price"] and i % 150 == 0:
  26.             buttons["buy_wire"].click()
  27.             print("Bought some wire at i: " + str(i))
  28.         if data["autoclipper_cost"] < data["funds"] and i % 150 == 0 and data["wire"] > 500:
  29.             buttons["autoclip"].click()
  30.             print("Bought an autoclipper at i: " + str(i))
  31.     else:
  32.         if data["funds"] > data["wire_price"]:
  33.             buttons["buy_wire"].click()
  34.             print("(Inventory full) Bought some wire at i: " + str(i))
  35.         if data["price"] > 0.04:
  36.             print("(Inventory full) Lowering the price to " + "$" + str(data["price"]))
  37.             buttons["lower"].click()
  38.  
  39. #defining the demand range
  40.  
  41. demand = [50, 55, 60]
  42. demand_2 = [40, 45, 50]
  43.  
  44. while is_playing:
  45.     # entering the buttons
  46.     buttons = {
  47.         "produce": driver.find_element_by_id("btnMakePaperclip"),
  48.         "lower": driver.find_element_by_id("btnLowerPrice"),
  49.         "more": driver.find_element_by_id("btnRaisePrice"),
  50.         "buy_wire": driver.find_element_by_id("btnBuyWire"),
  51.         "autoclip": driver.find_element_by_id("btnMakeClipper")
  52.     }
  53.     # entering other data
  54.     data = {
  55.         "funds": float(driver.find_element_by_id("funds").text.replace(",", "")),
  56.         "inventory": float(driver.find_element_by_id("unsoldClips").text.replace(",", "")),
  57.         "price": float(driver.find_element_by_id("margin").text.replace(",", "")),
  58.         "demand": float(driver.find_element_by_id("demand").text.replace(",", "")),
  59.         "wire": float(driver.find_element_by_id("wire").text.replace(",", "")),
  60.         "wire_price": float(driver.find_element_by_id("wireCost").text.replace(",", "")),
  61.         "autoclipper_cost": float(driver.find_element_by_id("clipperCost").text.replace(",", ""))
  62.     }
  63.     main_data()
  64.     i += 1
  65.  
  66.     # checking if the script should apply the starting strategy
  67.     if i < 1000:
  68.         strategy(demand)
  69.     elif i < 3000:
  70.         strategy(demand_2, 3000)
  71.     else:
  72.         strategy(demand_2, 5000)
  73.  
  74. driver.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement