Advertisement
Guest User

Gioco del Nim

a guest
Nov 21st, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.29 KB | None | 0 0
  1. from random import *
  2.  
  3.  
  4. def sceltanumero(pile):
  5.     pila = input("Quante pile vuoi usare?")
  6.     pila = int(pila)
  7.     for x in range(pila):
  8.         a = input('Inserisci il numero di fiammiferi da utilizzare in questa pila')
  9.         a = int(a)
  10.         pile.append(a)
  11.     return pile
  12.  
  13.  
  14.  
  15. def lancio(gioca):
  16.     moneta = random()
  17.     if moneta >= 0.5:
  18.         print("Inizia il giocatore")
  19.         gioca = 1
  20.     else:
  21.         print("Inizia il computer")
  22.         gioca = 2
  23.     return gioca
  24.  
  25.  
  26. def giocatore(pile,gioca):
  27.     sceltap = input("Scegli la pila")
  28.     sceltap = int(sceltap)
  29.     sceltaq = input("Quanti fiammiferi vuoi prendere?")
  30.     sceltaq = int(sceltaq)
  31.     pile[sceltap]=pile[sceltap]-sceltaq
  32.     if pile[sceltap] < 0:
  33.         while(pile[sceltap] < 0):
  34.             print("Hai tolto troppi fiammiferi.Ritenta!")
  35.             sceltap = input("Scegli la pila")
  36.             sceltap = int(sceltap)
  37.             sceltaq = input("Quanti fiammiferi vuoi prendere?")
  38.             sceltaq = int(sceltaq)
  39.             pile[sceltap]=pile[sceltap]-sceltaq
  40.     print(pile)
  41.     controllo(pile,gioca)
  42.     gioca = 0
  43.     turno(gioca)
  44.     return pile
  45.  
  46.  
  47. def computer(pile,gioca):
  48.     sceltap = randrange(0,len(pile))
  49.     print("Il computer ha scelta la pila numero "+str(sceltap))
  50.     sceltaq = randrange(1,max(pile))
  51.     print("Il computer rimuove dalla pila "+str(sceltaq)+" fiammiferi")
  52.     pile[sceltap]=pile[sceltap]-sceltaq
  53.     if pile[sceltap] < 0:
  54.         while(pile[sceltap] < 0):
  55.             print("Hai tolto troppi fiammiferi.Ritenta!")
  56.             sceltap = input("Scegli la pila")
  57.             sceltap = int(sceltap)
  58.             sceltaq = input("Quanti fiammiferi vuoi prendere?")
  59.             sceltaq = int(sceltaq)
  60.             pile[sceltap]=pile[sceltap]-sceltaq
  61.     print(pile)
  62.     controllo(pile,gioca)
  63.     gioca = 1
  64.     turno(gioca)
  65.     return pile
  66.  
  67.  
  68. def turno(gioca):
  69.     if gioca == 1:
  70.         giocatore(pile,gioca)
  71.     else:
  72.         computer(pile,gioca)
  73.  
  74. def controllo(pile,gioca):
  75.     pile = [item for item in pile if item != 0]
  76.     if len(pile) == 0:
  77.         if gioca == 1:
  78.             print('Ha vinto il giocatore!')
  79.         else:
  80.             print('Ha vinto il computer!')
  81.     return pile
  82.  
  83.  
  84. #main
  85. pile = []
  86. sceltanumero(pile)
  87. gioca = 0
  88. gioca = lancio(gioca)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement