Back to leaderboard

Reactant V3.2

Created 9/4/2026

Active

bugfixes and lock

Avg score

8.149

Wins

195

Losses

15266

Win rate

0.7%

Total battles: 26407

Score history

Score trend over the last 200 battles

Avg: 8.149

Recent battles

Source

//     Reactant V3.2 bot by Elio A.

export default function bot({ history, memory }) {

    if (history.length === 0) return ["C", { Dstreak: 0 , Cstreak: 0, olives : 3, betrayLock: false}] // default starting move

    memory = memory ?? { Dstreak: 0, Cstreak: 0, olives : 3, betrayLock: false } // basic null check

    const lastOpponentMove = history.at(-1).opponent

    if (lastOpponentMove === "D") {
        memory.Dstreak += 1
    } else {
        memory.Dstreak = 0
    }
    if (lastOpponentMove === "C") {
        memory.Cstreak += 1
    } else {
        memory.Cstreak = 0
    }
    if (memory.betrayLock) {
        return ["D", memory]
    }
    // Every 10 rounds while locked in conflict, offer an olive branch up to 3 times
    const round = history.length
    if (memory.Dstreak >= 2 && round % 10 === 0 && memory.olives > 0) {
        memory.olives = memory.olives - 1
        return ["C", memory]
    }
    if (memory.Cstreak >= 5 && Math.random * 10 > 9) {
        memory.olives = memory.olives - 1
        memory.betrayLock = true
        return ["D", memory]
    }
    const move = memory.Dstreak >= 2 ? "D" : "C"
    return [move, memory]
}