un proyecto que hice cuando estaba en 2º de la ESO en python lo basé en este juego y la máquina intentará ganar el 100% de las veces.
el juego usa la aritmética modular para asegurarse de que gana siempre, en cada turno, calcula el número de piedras a retirar con la siguiente fórmula:
cómo garantiza la victoria?
el algoritmo tiene 3 maneras de hacerlo:
- control de ciclos: siempre quiere dejar un número de piedras con
$(piedrasmax + 1)$ - respuesta adaptativa: según lo que el jugador responda, no importa cuantas piedras (k) quite el usuario, la máquina siempre podrá quitar
$(piedrasmax + 1) - k$ en el loop completo manteniendo al jugador en desventaja y mantenerlo en posición perdedora. - estado de "error": cuando la máquina ha visto que ha perdido, usa la función
randintpara dar un número aleatorio y su única esperanza de ganar se basa en el error del usuario.
no pienso mantener este juego, si se te ocurre alguna mejora, haz un pr y seguramente lo acepte, pero no implementaré nada por mi cuenta