2
Step 4 Buy Upgrades da
Tirsvad edited this page 2026-10-28 10:31:03 +01:00

Trin 4: køb opgraderinger

🌐 English · Dansk · Bahasa Melayu

get_store_items læser butikkens 20 produkter, choose_upgrade vælger det dyreste, botten har råd til, og buy_upgrade klikker på det. Skærmbilledet viser den første markør, der er købt.

Skærmbillede

Trin 4: køb opgraderinger

Funktion

def choose_upgrade(items: Sequence[StoreItem]) -> StoreItem | None:
    affordable = [item for item in items if item.is_affordable]
    if not affordable:
        return None
    return max(affordable, key=lambda item: (item.price, item.index))

Hvad vi fik ud af det

  • Hold beslutningen ren. choose_upgrade tager almindelige StoreItem-værdier og returnerer én, så den testes uden noget spil (lige priser, intet overkommeligt, tom liste).
  • Bekræft resultatet, antag det ikke. buy_upgrade tjekker, at det ejede antal (productOwned<N>) steg. At tjekke antallet af cookies først var forkert: antallet stiger, mens botten klikker.
  • Siden halter bagefter. Den første version tabte cirka 40 procent af sine køb: spillet opdaterer pris og ejet antal med det samme, men markeringen af, om der er råd, først ved næste gentegning, så et andet køb i samme besøg brugte en forældet markering. Højst ét produkt pr. butiksbesøg gav kun 1 fejl ud af 49.
  • Det rigtige spil finder det, falske ikke kan. Genforsøget ved forældede elementer og tjekket af ejet antal kom begge fra kørsler i Docker.

Næste: Trin 5: kørslen på fem minutter