Bumwinnah4
Created 9/13/2026
Active
Nah i'd win
Avg score
7.716
Wins
1969
Losses
3683
Win rate
19.0%
Total battles: 10350
Score history
Avg: 7.716
Recent battles
- Bumwinnah4 10 vs 10 Destroyer Tie
- Poseidon 5.67 vs 5.16 Bumwinnah4
- apex predator v6 5.42 vs 5.09 Bumwinnah4
- Bumwinnah4 5.07 vs 5.07 cop7 Tie
- Test123 5.06 vs 4.92 Bumwinnah4
- OmegaTitForTat 10 vs 10 Bumwinnah4 Tie
- raju 8.03 vs 7.92 Bumwinnah4
- Columbus 1.17 vs 7.84 Bumwinnah4
- Bot 1 10 vs 10 Bumwinnah4 Tie
- pumpkin🎃🎃🎃 5.49 vs 5.1 Bumwinnah4
- Sigma Bot v1 5.05 vs 5.12 Bumwinnah4
- raju 7.81 vs 7.85 Bumwinnah4
- test 1e 3.12 vs 6.38 Bumwinnah4
- defector 5.06 vs 4.92 Bumwinnah4
- adaptative v2.1 10 vs 10 Bumwinnah4 Tie
- Reactant V3.2 10 vs 10 Bumwinnah4 Tie
- the thinker 8.23 vs 8.38 Bumwinnah4
- big grim guy 10 vs 10 Bumwinnah4 Tie
- kind but faster detective 5.1 vs 4.97 Bumwinnah4
- apex predator v6 5.42 vs 5.09 Bumwinnah4
- BestBot TFT Safe 10 vs 10 Bumwinnah4 Tie
- Bumwinnah4 4.93 vs 5.05 mahoraga v2
- EYKEYKEYKEYKEYKEYK 9.51 vs 9.45 Bumwinnah4
- Reverse Tit for Tat 1.16 vs 7.85 Bumwinnah4
- Bumwinnah4 10 vs 10 Královecký kraj Tie
- Adaptative v3.1.1 10 vs 10 Bumwinnah4 Tie
- Tieseeeeeeeeeeeeker v2 10 vs 10 Bumwinnah4 Tie
- Always Cooperate 10 vs 10 Bumwinnah4 Tie
- Bumwinnah4 4.94 vs 5.05 Always Defect
- Bumwinnah4 10 vs 10 evil meow limited edition Tie
- Bumwinnah4 5 vs 5.06 Mark3 Test
- Bumwinnah4 10 vs 10 Zemra 2 Tie
- MoveStealer v2 10 vs 10 Bumwinnah4 Tie
- Bumwinnah4 7.88 vs 8.01 WILLIAM SMITH
- AVIZAT 4.43 vs 5.49 Bumwinnah4
- Bumwinnah4 6.29 vs 3.25 take a fuckin' guess
- Bumwinnah4 8.96 vs 5.59 Abdullah Ezzat
- Bumwinnah4 10 vs 10 tft bot Tie
- Test 5.31 vs 5.07 Bumwinnah4
- Bot 1 10 vs 10 Bumwinnah4 Tie
- Unintended Defection bot 5.06 vs 4.92 Bumwinnah4
- Bumwinnah4 7.78 vs 7.84 test 1c
- Bumwinnah4 5.27 vs 6.24 JustBeatIt V4
- Bumwinnah4 4.92 vs 5.06 JustDefunct
- Bumwinnah4 7.97 vs 1.09 detective
- tie 10 vs 10 Bumwinnah4 Tie
- Reactant V3.5.1 10 vs 10 Bumwinnah4 Tie
- Bumwinnah4 7.89 vs 8.01 i copied srihan
- Bumwinnah4 10 vs 10 human test 1 Tie
- test 1e 3.08 vs 6.41 Bumwinnah4
Source
// trained table (evolved via genetic algorithm / self-play)
const TRAINED_TABLE = {
"START": "C",
"CC": "C",
"CD": "C",
"DC": "D",
"DD": "C",
"CC_CC_P_L": "C",
"CC_CC_P_M": "D",
"CC_CC_P_H": "C",
"CC_CC_T_L": "D",
"CC_CC_T_M": "C",
"CC_CC_T_H": "D",
"CC_CD_P_L": "D",
"CC_CD_P_M": "C",
"CC_CD_P_H": "C",
"CC_CD_T_L": "C",
"CC_CD_T_M": "D",
"CC_CD_T_H": "D",
"CC_DC_P_L": "D",
"CC_DC_P_M": "D",
"CC_DC_P_H": "D",
"CC_DC_T_L": "C",
"CC_DC_T_M": "C",
"CC_DC_T_H": "D",
"CC_DD_P_L": "C",
"CC_DD_P_M": "D",
"CC_DD_P_H": "D",
"CC_DD_T_L": "C",
"CC_DD_T_M": "C",
"CC_DD_T_H": "D",
"CD_CC_P_L": "C",
"CD_CC_P_M": "C",
"CD_CC_P_H": "D",
"CD_CC_T_L": "D",
"CD_CC_T_M": "C",
"CD_CC_T_H": "C",
"CD_CD_P_L": "D",
"CD_CD_P_M": "D",
"CD_CD_P_H": "C",
"CD_CD_T_L": "D",
"CD_CD_T_M": "C",
"CD_CD_T_H": "D",
"CD_DC_P_L": "D",
"CD_DC_P_M": "D",
"CD_DC_P_H": "C",
"CD_DC_T_L": "C",
"CD_DC_T_M": "D",
"CD_DC_T_H": "C",
"CD_DD_P_L": "C",
"CD_DD_P_M": "D",
"CD_DD_P_H": "C",
"CD_DD_T_L": "D",
"CD_DD_T_M": "C",
"CD_DD_T_H": "D",
"DC_CC_P_L": "D",
"DC_CC_P_M": "D",
"DC_CC_P_H": "D",
"DC_CC_T_L": "D",
"DC_CC_T_M": "C",
"DC_CC_T_H": "D",
"DC_CD_P_L": "C",
"DC_CD_P_M": "C",
"DC_CD_P_H": "D",
"DC_CD_T_L": "C",
"DC_CD_T_M": "C",
"DC_CD_T_H": "C",
"DC_DC_P_L": "C",
"DC_DC_P_M": "C",
"DC_DC_P_H": "D",
"DC_DC_T_L": "D",
"DC_DC_T_M": "D",
"DC_DC_T_H": "D",
"DC_DD_P_L": "C",
"DC_DD_P_M": "C",
"DC_DD_P_H": "C",
"DC_DD_T_L": "D",
"DC_DD_T_M": "D",
"DC_DD_T_H": "D",
"DD_CC_P_L": "C",
"DD_CC_P_M": "C",
"DD_CC_P_H": "C",
"DD_CC_T_L": "C",
"DD_CC_T_M": "D",
"DD_CC_T_H": "C",
"DD_CD_P_L": "D",
"DD_CD_P_M": "C",
"DD_CD_P_H": "D",
"DD_CD_T_L": "C",
"DD_CD_T_M": "C",
"DD_CD_T_H": "D",
"DD_DC_P_L": "C",
"DD_DC_P_M": "D",
"DD_DC_P_H": "C",
"DD_DC_T_L": "D",
"DD_DC_T_M": "D",
"DD_DC_T_H": "D",
"DD_DD_P_L": "C",
"DD_DD_P_M": "C",
"DD_DD_P_H": "C",
"DD_DD_T_L": "C",
"DD_DD_T_M": "D",
"DD_DD_T_H": "D",
};
export default function bot({ history, memory }) {
const n = history.length;
if (memory === null || memory === undefined) {
memory = { oppDCount: 0 };
}
if (n > 0 && history[n - 1].opponent === 'D') {
memory.oppDCount++;
}
let state = 'START';
if (n === 1) {
state = `${history[0].you}${history[0].opponent}`;
} else if (n >= 2) {
const r1 = history[n - 2];
const r2 = history[n - 1];
const p = memory.oppDCount === 0 ? 'P' : 'T';
const rate = memory.oppDCount / n;
const f = rate <= 0.20 ? 'L' : (rate <= 0.50 ? 'M' : 'H');
state = `${r1.you}${r1.opponent}_${r2.you}${r2.opponent}_${p}_${f}`;
}
const move = TRAINED_TABLE[state] || "D"; // fallback: defect on any unseen state
return [move, memory];
}