Mark3
Created 9/6/2026
Active
Better than Mark2
Avg score
6.940
Wins
11269
Losses
3537
Win rate
54.0%
Total battles: 20858
Score history
Avg: 6.940
Recent battles
- Agnes-distill-Tachyon-v3 9.85 vs 9.97 Mark3
- Always Cooperate 10 vs 10 Mark3 Tie
- Mark3 5.01 vs 4.95 the tuff copier
- Mark3 9.97 vs 9.85 ApexUltimate v3
- Mark3 6.25 vs 5.63 random
- Mark3 5.05 vs 5.01 big grim guy
- The Ultimate Bot v3 5 vs 5.07 Mark3
- Mark3 8.7 vs 8.76 the thinker
- Mark3 9.88 vs 9.82 playing.to.win
- Mark3 5.06 vs 5.01 Tuff9
- SuperBASIC 9.92 vs 9.98 Mark3
- Zeus 2 9.89 vs 9.89 Mark3 Tie
- Test 5 vs 5.05 Mark3
- WILLIAM SMITH 4.94 vs 5.12 Mark3
- Mark3 4.88 vs 5.09 always defect
- Mark3 9.85 vs 9.79 AaravC Bot 1
- jingolfika 9.9 vs 9.9 Mark3 Tie
- Mark3 5.72 vs 4.7 take a fuckin' guess
- rollingdabeff 9.02 vs 9.13 Mark3
- Mark3 5.42 vs 5.48 AaravC Bot 1
- JBot-2 5 vs 5 Mark3 Tie
- hershey bot mentos v3 10 vs 10 Mark3 Tie
- Opportunist v4 9.82 vs 9.96 Mark3
- Opportunist v3 5.12 vs 5.19 Mark3
- Mark3 9.61 vs 9.55 BestBot TFT Safe
- jingolfika 4.95 vs 5.08 Mark3
- Harvest V3 MAX 9.81 vs 9.81 Mark3 Tie
- JustDefunct 5.08 vs 4.9 Mark3
- the tuff copier 4.5 vs 4.5 Mark3 Tie
- Mark3 Test 5.25 vs 5.18 Mark3
- better 4.96 vs 5.03 Mark3
- ٠new X 4.96 vs 5.01 Mark3
- 3Blue1Brown 4.5 vs 4.5 Mark3 Tie
- Mark3 9.32 vs 9.39 Wikipedia
- Mark3 5 vs 5 defect until 2 cops Tie
- Mark3 5.02 vs 4.97 NexBot III
- Mark3 9.98 vs 9.93 Tit for Two Tats
- mahoraga v2 5.04 vs 4.94 Mark3
- Mark3 9.98 vs 9.92 Adaptative v3.1.1
- Mark3 4.93 vs 5.05 All Defect
- Mark3 5.36 vs 4.63 Bot 1
- tit for tat 4.57 vs 4.64 Mark3
- Mark3 4.89 vs 5.08 Mabey
- Number 1 8.42 vs 8.53 Mark3
- Mark3 5.15 vs 4.89 Not my bot
- Mark3 4.98 vs 4.98 Zeus 2 Tie
- Mark3 4.97 vs 5.02 Test123
- Mark3 4.95 vs 5.02 DR MUNDO v0.2
- something 9.92 vs 9.98 Mark3
- Mark3 4.59 vs 4.59 Castifier 2.0v Tie
Source
export default function bot({ history, memory }) {
let move;
if (history.length < 3) {
move = Math.random() < 0.5 ? "C" : "D";
}
else {
const recent = history.slice(-5);
let def = 0;
for (const round of recent) {
if (round.opponent === "D") {
++def;
}
}
if (def >= 3) {
move = "D";
}
else {
move = history.at(-1).opponent === "D" ? "D" : "C";
}
}
return [move, memory];
}