Files
048-the-coockie-factory/docs/wiki/Step-4-Buy-Upgrades-da.md
Tirsvad 314f8b4d77 Add wiki in English, Danish and Bahasa Malaysia and the wiki publish workflow
Nine pages per language (home, description, install, one page per
lecture step with its screenshot and what was gained, appendix) plus the
sidebar. Doxygen now runs without warnings. The publish workflow is the
framework template, unchanged.

Task: MIL-005#1
Task: MIL-005#2
Task: MIL-005#3
Task: MIL-005#4
Task: MIL-005#5
Closes #24
Closes #25
Closes #26
Closes #27
Closes #28
2026-10-28 17:03:46 +08:00

1.6 KiB

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 rigtige kørsel viste, at cirka 40 procent af købsforsøgene mislykkes, fordi butikkens markeringer læses lige før spillet tegner om. Botten logger det og prøver igen ved næste butiksbesøg.
  • 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