In this king-of-the-hill challenge, you will program a bot, consisting of a python function of the form
def BOTNAME(info, me, round):
pass # ... main body
Specifically, the function must run in python3.9
. Each bot will be entered into the contest 10 times.
The arguments it take in are info, me, round
. The three arguments take in: [[bot_func,score_int,freq_float] for bot in bots]
, bot
(whichever bot who has the current turn), and round_number
. The argument names don't matter, but the order matters.
Actions
Each play, this bot can either
Increase/decrease any bots' (including its own) turn frequency by 1/10.
Decrement/increment any bots' (including its own) score by 1.
A bot returns an ordered iterable:
[Bot, as a function
,1 for frequency, 0 for score
,1 for increase, 0 for decrease
]
It can access a list of all the bots in the games' functions + current scores + current turn frequency, including itself, represented as [bot_function, score_integer, frequency_float]
. Additionally, it will receive itself, so it can differentiate itself from other bots. It can also access the round number (from 1 to 10,000).
Execution
At the beginning, each bot has an turn frequency of one and a score of zero.
For 10000 rounds:
The bots are iterated over:
If a random number between 0 and 1 is less than current bot's turn frequency:
Execute said bot once.
End of rounds.
Whichever bot has the highest score wins.
Execution engine and a couple of example bots (Both courtesy of NumberBasher)
from tvoozkothxxx001 import main
def testbot(info, me, round):
return [me, 0, 1]
def randombot(info, me, round):
return [choice([i[0] for i in info]), choice([0,1]), choice([0,1])]
bots = [testbot,randombot] # the two bots are default bots. they are automatically included, so do NOT put this here.
main(bots)
Credits
This challenge is based off of an idea 23TuringMachine (Which Is Me) had in chat. NumberBasher did the editing, programming, and brunt work of it.
Additionally, feel free to discuss in the official chat room.
Current Leaderboard
Extra Rules
NOT ALLOWED
- modifying (A NON-
me
) bot (name or code) - Changing
me.__code__
ALLOWED
- Calling another bot
- Changing
me.__name__
We now have an official chat room!!!
Controller Script
Found at PyPI, named tvoozkothxxx001
. The GitHub link might be up-to-date. The last version is probably 1234567890.0.0
, subject to change.
\$\Large\text{Achievements}\$
- Pride Month Special
- Creeper Meme
info, round, me
orinfo, me, round
? What these 3 arguments mean? What types they have? \$\endgroup\$