٠new X
Created 9/13/2026
Active
My strategy is based on adaptive cooperation and controlled retaliation. I start by cooperating and observe the opponent's behavior before becoming aggressive. I use both recent moves and the opponent's overall behavior to distinguish between cooperative and consistently aggressive players. A single defection is punished without immediately creating a long cycle of mutual defection, while repeated defections trigger a stronger defensive response. When the opponent returns to cooperation, the strategy attempts to return to cooperation as well. The main goal is to maximize the average score by maintaining mutual cooperation whenever possible while preventing consistently aggressive opponents from exploiting the bot.
Avg score
8.397
Wins
380
Losses
4126
Win rate
3.5%
Total battles: 10971
Score history
Avg: 8.397
Recent battles
- ٠new X 10 vs 10 Grudger Tie
- ٠new X 10 vs 10 Better-Tuff8 Tie
- crownbotv2 10 vs 10 ٠new X Tie
- crownbotv2 10 vs 10 ٠new X Tie
- ٠new X 10 vs 10 tic tacs Tie
- ٠new X 6.01 vs 5.94 random5050
- adaptative v2.1 10 vs 10 ٠new X Tie
- detective grudger v1 9.79 vs 9.44 ٠new X
- i copied srihan 5.18 vs 5.04 ٠new X
- ٠new X 10 vs 10 human test 1 Tie
- ٠new X 10 vs 10 the thinker v2 Tie
- Cobra 10 vs 10 ٠new X Tie
- ٠new X 9.89 vs 9.89 evil meow Tie
- Opportunist v3 6.13 vs 5.87 ٠new X
- lift yourself v1.0.1 5.01 vs 4.96 ٠new X
- C! 10 vs 10 ٠new X Tie
- ٠new X 10 vs 10 Gridger Tie
- ٠new X 9.91 vs 9.91 detective_test Tie
- ٠new X 10 vs 10 OmegaTFT Tie
- ٠new X 9.82 vs 9.88 Poseidon
- ٠new X 4.97 vs 5.02 defector
- ٠new X 4.5 vs 4.5 BeeBot2 Tie
- ٠new X 9.44 vs 9.88 Lee Wrangler
- Reverse Tit for Tat 6.01 vs 5.94 ٠new X
- detective grudger v1 9.47 vs 8.97 ٠new X
- Zemra 2 10 vs 10 ٠new X Tie
- ٠new X 4.96 vs 5.01 Mark3
- ٠new X 9.9 vs 9.9 kind but faster detective Tie
- ٠new X 10 vs 10 adaptative v2.1 Tie
- ٠new X 4.96 vs 5.03 defect until 2 cops
- Grudger 10 vs 10 ٠new X Tie
- Swimmingbot1v3 5.33 vs 5.26 ٠new X
- AcyclicTitForTat 6.06 vs 6.06 ٠new X Tie
- defect until 2 cops 5.03 vs 4.96 ٠new X
- ٠new X 10 vs 10 neuralAdapter V1 Tie
- Sigma Bot v1 6.36 vs 6.3 ٠new X
- The Generous 9.52 vs 9.52 ٠new X Tie
- BeeBot3 4.52 vs 4.48 ٠new X
- kind but faster detective 9.9 vs 9.9 ٠new X Tie
- evil meow 9.94 vs 9.94 ٠new X Tie
- random 6.05 vs 6.05 ٠new X Tie
- ٠new X 5.25 vs 5.31 Ultimate Bot
- Corn Farmer v2 5.07 vs 5.01 ٠new X
- Columbus 9.8 vs 9.8 ٠new X Tie
- tie II 5.26 vs 5.19 ٠new X
- SuperBASIC 10 vs 10 ٠new X Tie
- ٠new X 4.47 vs 4.53 evil tic tacs
- Harvest V3 MAX 5.15 vs 5.08 ٠new X
- ٠new X 10 vs 10 glitch v2.2 for stag hunt Tie
- ٠new X 10 vs 10 Always cooperates Tie
Source
export default function bot({ history, memory }) {
memory ??= {
lastMove: "C",
opponentD: 0,
opponentC: 0,
consecutiveD: 0,
calmRounds: 0
};
const n = history.length;
// البداية: تعاون
if (n === 0) {
memory.lastMove = "C";
return ["C", memory];
}
const last = history[n - 1];
// تحديث سلوك الخصم
if (last.opponent === "D") {
memory.opponentD++;
memory.consecutiveD++;
memory.calmRounds = 0;
} else {
memory.opponentC++;
memory.consecutiveD = 0;
memory.calmRounds++;
}
const recent = history.slice(-10);
let recentD = 0;
for (const r of recent) {
if (r.opponent === "D") recentD++;
}
const recentRate = recentD / recent.length;
const totalRate = memory.opponentD / n;
/*
* 1. خصم عدواني جدًا:
* لو بيعمل D باستمرار، لا نعطيه C مجانية.
*/
if (
(n >= 10 && totalRate >= 0.75) ||
(recent.length >= 6 && recentRate >= 0.80) ||
memory.consecutiveD >= 3
) {
memory.lastMove = "D";
return ["D", memory];
}
/*
* 2. لو الخصم متعاون جدًا:
* نحافظ على التعاون لأقصى وقت.
*/
if (
n >= 8 &&
totalRate <= 0.15 &&
recentRate <= 0.20
) {
memory.lastMove = "C";
return ["C", memory];
}
/*
* 3. بعد D واحدة:
* نعاقب مرة واحدة فقط بدل الدخول في حرب طويلة.
*/
if (last.opponent === "D") {
memory.lastMove = "D";
return ["D", memory];
}
/*
* 4. لو الخصم رجع للتعاون بعد فترة توتر،
* نرجع للتعاون ونحاول نكسر سلسلة D/D.
*/
if (
last.opponent === "C" &&
memory.calmRounds >= 1 &&
recentRate < 0.50
) {
memory.lastMove = "C";
return ["C", memory];
}
/*
* 5. الوضع الطبيعي:
* التعاون هو الاختيار الأساسي.
*/
memory.lastMove = "C";
return ["C", memory];
}