Prisoner's dilemma

by Sascha

JavaScript

let scoreA = 0
let scoreB = 0

function match() {
  // 1 equals defect, 0 equals cooperate;
  let a = Math.round(Math.random())
  let b = Math.round(Math.random())
  if (a > b) {
    scoreA += 5
  } else if (b > a) {
    scoreB += 5
  } else if ((a = b == 0)) {
    scoreA += 3
    scoreB += 3
  } else {
    scoreA += 1
    scoreB += 1
  }
}

let rounds = 1000000

while (rounds > 0) {
  match()
  rounds -= 1
}
document.write("Results: A scores " + scoreA + ", B scores " + scoreB)