Skip to content

marioogg/nim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

nim

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 algoritmo:

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:

$$impt = piedras \pmod{(piedrasmax + 1)}$$

cómo garantiza la victoria?

el algoritmo tiene 3 maneras de hacerlo:

  1. control de ciclos: siempre quiere dejar un número de piedras con $(piedrasmax + 1)$
  2. 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.
  3. estado de "error": cuando la máquina ha visto que ha perdido, usa la función randint para dar un número aleatorio y su única esperanza de ganar se basa en el error del usuario.

nota importante:

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages