Advertisement
Kyrexar

Dados Risk

Apr 30th, 2013
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.90 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: latin-1 -*-
  3. import os, sys, random, time
  4.  
  5. bool=True
  6. while bool :
  7.     a = int(input("¿Cuántas tropas atacan? (1-3) "))
  8.     d = int(input("¿Cuántas tropas defienden? (1-2) "))
  9.     if a>=1 and a<=3 and d>=1 and d<=2 :
  10.         bool=False
  11.  
  12. # Lanza los dados de ataque
  13. att = []
  14. for i in range(a) :
  15.     att.append(0)
  16.     att[i]=random.randrange(1,7)
  17.  
  18. # Los ordena de mayor a menor
  19. for i in range(1,a) :
  20.     for j in range(0,a-i) :
  21.         if att[j]<att[j+1] :
  22.             aux = att[j]
  23.             att[j] = att[j+1]
  24.             att[j+1] = aux
  25.  
  26. # Lanza los dados de defensa
  27. dff = []
  28. for i in range(d) :
  29.     dff.append(0)
  30.     dff[i]=random.randrange(1,7)
  31.  
  32. # Los ordena de mayor a menor
  33. for i in range(1,d) :
  34.     for j in range(0,d-i) :
  35.         if dff[j]<dff[j+1] :
  36.             aux = dff[j]
  37.             dff[j] = dff[j+1]
  38.             dff[j+1] = aux
  39.  
  40. if d==1 :
  41.     if a==1 :   print ( "Ataque:", att[0], "; Defensa:", dff[0] )
  42.     elif a==2 : print ( "Ataque:", att[0], ",", att[1],  "; Defensa:", dff[0] )
  43.     elif a==3 : print ( "Ataque:", att[0], ",", att[1], ",", att[2], "; Defensa:", dff[0] )
  44.    
  45.     if att[0]<=dff[0] :
  46.         print ( "El atacante pierde una tropa" )
  47.     else :
  48.         print ( "El defensor pierde una tropa" )
  49.  
  50. elif d==2 :
  51.     if a==1 :   print ( "Ataque:", att[0], "; Defensa:", dff[0], ",", dff[1] )
  52.     elif a==2 : print ( "Ataque:", att[0], ",", att[1],  "; Defensa:", dff[0], ",", dff[1] )
  53.     elif a==3 : print ( "Ataque:", att[0], ",", att[1], ",", att[2], "; Defensa:", dff[0], ",", dff[1] )
  54.    
  55.     if att[0]<=dff[0] : # Primer dado gana defensa
  56.         if att[1]<=dff[1] : # Segundo dado gana defensa
  57.             print ( "El atacante pierde dos tropas" )
  58.         else : # Segundo dado gana ataque
  59.             print ( "Tanto el atacante como el defensor pierden una tropa" )
  60.     else : # Primer dado gana ataque
  61.         if att[1]<dff[1] :
  62.             print ( "Tanto el atacante como el defensor pierden una tropa" )
  63.         else : #Segundo dado gana ataque
  64.             print ( "El defensor pierde dos tropas" )
  65.  
  66. time.sleep(60)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement