Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions 5-playTheGame.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
from vikingsClases import War
from vikingsClases import Viking
from vikingsClases import Saxon
import random

# Generar ejércitos (pedir por teclado cantidad o hacer random)
# generar salud y fuerza aleatorias entre un minimo y un maximo
# preguntar quién inicia el conflicto
# Hacer métodos de representación para las clases (poder hacer print de un soldado y del estado de los ejercitos)
# versión "coward mode" de VikingAttack y SaxonAttack en los que, en lugar de elegirlos de forma aleatoria, sea el más fuerte el que ataque al contrario de menos salud



nombres_vikingos = ['Aren','Axe','Bjorn','Daven','Egil','Einar','Erik','Esben','Gerd','Gisli','Haakon','Helge','Hans',\
'Harald','Ivar','Jensen','Jorgen','Lars','Niels','Olav','Olson','Olson','Sveinn','Thor','Viggo']


def askArmySize():
while True:
try:
tam = int(input("How many soldiers will fight for each army? (max 10) -> "))
if tam > 0:
return tam
else:
raise Exception
except:
print('invalid value. try again')

def askWhichOneStarts():
while True:
try:
ini = input("Who will start the war? [v/s] -> ")
if ini not in ("v","s"):
raise NameError("Not in [v/s]")
else:
return ini
except:
print('invalid value. try again')

def generateArmies(g,size):
for i in range(0,size):
g.addViking(Viking(random.choice(nombres_vikingos),random.randint(1,51)+50,random.randint(1,11)+25))
g.addSaxon(Saxon(random.randint(1,51)+50,random.randint(1,11)+25))
if (random.randint(0,9) == 5):
g.vikingArmy[0].becomeBerserker()


def battle(g,turno):
while len(g.saxonArmy) != 0 and len(g.vikingArmy) != 0:
print('\n')
if(turno=="s"):
print(g.saxonAttackStrong())
turno="v"
else:
print(g.vikingAttackStrong())
turno="s"
print(g)
print(g.showStatus())
try:
input("Press enter to continue")
except SyntaxError:
pass

guerra = War()

n = askArmySize()
generateArmies(guerra,min(10,n))
# como maximo seran 10 por ejercito
print(guerra)
emp = askWhichOneStarts()
if emp == "s":
print("Saxons will start the war")
else:
print("Vikings will start the war")

battle(guerra,emp)
#print(guerra.showStatus())
guerra.heroesOfWar()



82 changes: 82 additions & 0 deletions 6-clash-of-TAs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
from vikingsClases import BootcampWar
from vikingsClases import Teacher
from vikingsClases import Alumn
import random

# Generar ejércitos (pedir por teclado cantidad o hacer random)
# generar salud y fuerza aleatorias entre un minimo y un maximo
# preguntar quién inicia el conflicto
# Hacer métodos de representación para las clases (poder hacer print de un soldado y del estado de los ejercitos)
# versión "coward mode" de VikingAttack y SaxonAttack en los que, en lugar de elegirlos de forma aleatoria, sea el más fuerte el que ataque al contrario de menos salud


nombres_TAs = ['Felipe','Blanca','Clara','Fran']
nombres_alumnos = ['Jose','Jose','Patri','Miguel','Eduardo','Ricardo','Fer','Alex','Santi','Guille','Irene','Elisa',\
'Cristina','Sergio','Laura','Fabian','Guillermo','Eduardo','Maria','Amanda','Xabier','Marlena','Iván','Héctor']

'''
def askArmySize():
while True:
try:
tam = int(input("How many soldiers will fight for each army? (max 10) -> "))
if tam > 0:
return tam
else:
raise Exception
except:
print('invalid value. try again')

def askWhichOneStarts():
while True:
try:
ini = input("Who will start the war? [t/a] -> ")
if ini not in ("t","a"):
raise NameError("Not in [t/a]")
else:
return ini
except:
print('invalid value. try again')
'''
def generateArmies(g):
for i in nombres_TAs:
g.addTeacher(Teacher(i,random.randint(1,51)+50,random.randint(1,11)+25))
for i in g.teachersArmy:
i.becomeBerserker()
for j in nombres_alumnos:
g.addAlumn(Alumn(j,random.randint(1,51)+50,random.randint(1,16)+25))


def battle(g,turno):
while len(g.teachersArmy) != 0 and len(g.alumnsArmy) != 0:
try:
input("Press enter to continue")
except SyntaxError:
pass
print('\n')
if(turno=="t"):
print(g.teacherAttack())
turno="a"
else:
print(g.alumnAttack())
turno="t"
print(g)
print(g.showStatus())


guerra = BootcampWar()

#n = askArmySize()
generateArmies(guerra)
print(guerra)
emp = "a" #askWhichOneStarts()
if emp == "a":
print("Alumns will start the war")
else:
print("Teachers will start the war")

battle(guerra,emp)
#print(guerra.showStatus())
guerra.heroesOfWar()



Loading