1.- Incorporar nuevas estrategias:
Espejo: Si el jugador contrario ha cooperado más que desertado, nosotros también cooperamos. En caso contrario, desertamos. Si hay empate o es la primera vez, cooperamos.
Contrario: Hacemos lo contrario de la última jugada del adversario, si ha cooperado, desertamos y viceversa.
2.- Diferentes matrices de pago
Poder incorporar variantes de la matriz de pago. Por ejemplo el juego ‘Gallina’ tiene la siguiente matriz de pagos:
Cooperar | Desertar | |
---|---|---|
Cooperar | 5, 5 | 1, 10 |
Desertar | 10,1 | -20, -20 |
En el juego AmigoEnemigo la matriz de pagos es la siguiente:
Cooperar | Desertar | |
---|---|---|
Cooperar | 1, 1 | 0, 2 |
Desertar | 2, 0 | 0, 0 |
Podemos probar como cambia la efectividad de las estrategias en diferentes condiciones.
3.- El Juego no tiene constructor y todas las propiedades se inicializan en la declaración o hay que añadirlas a mano. Crear un constructor (puede tener parámetros por defecto) que solucione esta carencia, y que nos permita pasar otra matriz de pago.