The game updates the price and owned text at once but the affordable flag only at its next redraw, so a second purchase in the same visit used a stale flag. Buying at most one product per visit cut the failed purchases from about 40 percent to 1 of 49 and raised the CPS from 16.6 to 29 in the 300 second Docker run. README, screenshots and the wiki in en, da and ms show the new result. Task: MIL-006#1 Task: MIL-006#2 Task: MIL-006#3 Task: MIL-006#4 Task: MIL-006#5
1.8 KiB
1.8 KiB
Langkah 4: beli peningkatan
🌐 English · Dansk · Bahasa Melayu
get_store_items membaca 20 produk kedai, choose_upgrade memilih yang termahal yang mampu dibeli bot, dan buy_upgrade mengkliknya. Tangkapan skrin menunjukkan kursor pertama yang dibeli.
Tangkapan skrin
Fungsi
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))
Apa yang kami peroleh
- Pastikan keputusan bersih.
choose_upgrademenerima nilaiStoreItembiasa dan memulangkan satu, jadi ia diuji tanpa permainan langsung (harga sama, tiada yang mampu dibeli, senarai kosong). - Sahkan hasilnya, jangan andaikan.
buy_upgrademenyemak bahawa jumlah dimiliki (productOwned<N>) bertambah. Menyemak bilangan kuki dahulu adalah salah: bilangan terus meningkat semasa bot mengklik. - Halaman ketinggalan. Keluaran pertama kehilangan kira-kira 40 peratus pembeliannya: permainan mengemas kini teks harga dan jumlah dimiliki serta-merta tetapi bendera mampu beli hanya pada lukisan semula seterusnya, jadi pembelian kedua dalam lawatan yang sama menggunakan bendera usang. Membeli paling banyak satu produk setiap lawatan mengurangkan kegagalan kepada 1 daripada 49.
- Permainan sebenar menemui apa yang tidak dapat ditemui oleh yang palsu. Percubaan semula elemen usang dan semakan jumlah dimiliki kedua-duanya datang daripada larian dalam Docker.
Seterusnya: Langkah 5: larian lima minit
