Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import randint
- from time import sleep
- class Turtle(object):
- def attack(self):
- for i in ent:
- if i != self.name:
- if randint(0, 100) < self.acc - dc[i].ev:
- if randint(0, 100) < self.crit:
- self.ch = True
- else:
- self.ch = False
- self.hit = randint(self.atk[0], self.atk[1])
- if self.ch:
- dc[i].hp -= self.hit * 2
- else:
- dc[i].hp -= self.hit
- class Bunny(Turtle):
- def __init__(self):
- self.spd = randint(10,12)
- self.atk = (10,12)
- self.hp = randint(46,56)
- self.acc = 90
- self.ev = 20
- self.crit = 25
- self.name = 'Bunny'
- class Jellyfish(Turtle):
- def __init__(self):
- self.spd = randint(9, 11)
- self.atk = (13, 19)
- self.hp = randint(38, 48)
- self.acc = 95
- self.ev = 30
- self.crit = 10
- self.name = 'Jellyfish'
- class Penguin(Turtle):
- def __init__(self):
- self.spd = randint(11, 13)
- self.atk = (7, 18)
- self.hp = randint(46, 56)
- self.acc = 90
- self.ev = 30
- self.crit = 10
- self.name = 'Penguin'
- class Turtle(Turtle):
- def __init__(self):
- self.spd = randint(8, 10)
- self.atk = (10, 13)
- self.hp = randint(50, 66)
- self.acc = 125
- self.ev = 10
- self.crit = 0
- self.name = 'Turtle'
- class Player(object):
- def __init__(self,typ):
- self.typ = typ
- self.pocket = 100
- self.bet = 0
- self.wins = 0
- self.total = 0
- def end(self,wl):
- if wl == True:
- self.wins += 1
- self.pocket += (0.1 * self.wins * self.bet) + (self.bet * 2)
- if wl == False:
- self.pocket -= 0.05 * (self.total - self.wins) * self.bet
- self.total += 1
- self.bet = 0
- def betv(self,who,amt=0):
- self.tar = who
- if self.typ == 'player' or self.typ == 'player1':
- self.bet = amt
- if amt < self.pocket:
- self.bet = amt
- self.pocket -= self.bet
- else:
- raise ValueError('Invalid Input')
- else:
- for i in pla:
- if i != self.typ:
- self.botbet = pc[i].bet * (randint(80,120)/100)
- if self.botbet < self.pocket:
- self.bet = self.botbet
- self.pocket -= self.bet
- def createChars(name,name1):
- global fight1,fight2,ent,dc,cd
- fight1 = cl[name]()
- fight2 = cl[name1]()
- ent = [name,name1]
- dc = {name: fight1,name1:fight2}
- cd = {'fight1':fight1,'fight2':fight2}
- def createPlayer(typ,typ1):
- global player,player1,pla,pc,cp
- player = Player(typ)
- player1 = Player(typ1)
- pla = [typ,typ1]
- pc = {typ:player,typ1:player1}
- cp = {'player':player,'player1':player1}
- cl = {'Bunny':Bunny,'Jellyfish':Jellyfish,'Penguin':Penguin,'Turtle':Turtle}
- cL = ['Bunny','Jellyfish','Penguin','Turtle']
- while True:
- try:
- types = int(input('Enter 1 to play against Bot, 2 to play against second player. '))
- if types == 1:
- createPlayer('player','bot')
- elif types == 2:
- createPlayer('player','player')
- else:
- print('Invalid Input')
- continue
- break
- except:
- pass
- while True:
- fig,fig1 = 0,0
- while fig == fig1:
- fig = randint(0,len(cL)-1)
- fig1 = randint(0,len(cL)-1)
- print('\n'+cL[fig],'v',cL[fig1])
- createChars(cL[fig],cL[fig1])
- if types == 1:
- while True:
- try:
- playertar = input('\nWho would you like to bet on? ')
- playerinp = float(input('\nYou have $%.2f. Enter amount to bet: $'%(player.pocket)))
- player.betv(playertar,playerinp)
- except ValueError as err:
- print(err)
- continue
- player1.betv(playertar)
- break
- elif types == 2:
- while True:
- try:
- playertar = input('\nWho would you like to bet on? ')
- playerinp = float(input('\nYou have $%.2f. Enter amount to bet: $'%(player.pocket)))
- player.betv(playertar,playerinp)
- break
- except ValueError as err:
- print(err)
- continue
- while True:
- try:
- player1tar = input('\nWho would you like to bet on? ')
- player1inp = float(input('\nYou have $%.2f. Enter amount to bet: $'%(player1.pocket)))
- player1.betv(player1tar,player1inp)
- break
- except ValueError as err:
- print(err)
- continue
- if fight1.spd > fight2.spd:
- init = 'fight1'
- elif fight1.spd < fight2.spd:
- init = 'fight2'
- else:
- if randint(0,10) < 5:
- init = 'fight1'
- else:
- init = 'fight2'
- print(cd.get(init).name,'goes first.\n')
- while fight1.hp > 0 and fight2.hp > 0:
- if init == 'fight1':
- fight1.attack()
- continue
- elif init == 'fight2':
- fight2.attack()
- for i in ent:
- for x in pla:
- if i != pc[x].tar:
- if dc.get(pc[x].tar).hp > dc[i].hp:
- pc[x].end(True)
- else:
- pc[x].end(False)
- print('\nPlayer 1 has $%.2f and Player 2 has $%.2f.'%(player.pocket,player1.pocket))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement