Advertisement
Guest User

Untitled

a guest
Mar 28th, 2015
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.67 KB | None | 0 0
  1. from random import randint
  2. from time import sleep
  3. class Turtle(object):
  4. def attack(self):
  5. for i in ent:
  6. if i != self.name:
  7. if randint(0, 100) < self.acc - dc[i].ev:
  8. if randint(0, 100) < self.crit:
  9. self.ch = True
  10. else:
  11. self.ch = False
  12. self.hit = randint(self.atk[0], self.atk[1])
  13. if self.ch:
  14. dc[i].hp -= self.hit * 2
  15. else:
  16. dc[i].hp -= self.hit
  17. class Bunny(Turtle):
  18. def __init__(self):
  19. self.spd = randint(10,12)
  20. self.atk = (10,12)
  21. self.hp = randint(46,56)
  22. self.acc = 90
  23. self.ev = 20
  24. self.crit = 25
  25. self.name = 'Bunny'
  26. class Jellyfish(Turtle):
  27. def __init__(self):
  28. self.spd = randint(9, 11)
  29. self.atk = (13, 19)
  30. self.hp = randint(38, 48)
  31. self.acc = 95
  32. self.ev = 30
  33. self.crit = 10
  34. self.name = 'Jellyfish'
  35. class Penguin(Turtle):
  36. def __init__(self):
  37. self.spd = randint(11, 13)
  38. self.atk = (7, 18)
  39. self.hp = randint(46, 56)
  40. self.acc = 90
  41. self.ev = 30
  42. self.crit = 10
  43. self.name = 'Penguin'
  44. class Turtle(Turtle):
  45. def __init__(self):
  46. self.spd = randint(8, 10)
  47. self.atk = (10, 13)
  48. self.hp = randint(50, 66)
  49. self.acc = 125
  50. self.ev = 10
  51. self.crit = 0
  52. self.name = 'Turtle'
  53. class Player(object):
  54. def __init__(self,typ):
  55. self.typ = typ
  56. self.pocket = 100
  57. self.bet = 0
  58. self.wins = 0
  59. self.total = 0
  60. def end(self,wl):
  61. if wl == True:
  62. self.wins += 1
  63. self.pocket += (0.1 * self.wins * self.bet) + (self.bet * 2)
  64. if wl == False:
  65. self.pocket -= 0.05 * (self.total - self.wins) * self.bet
  66. self.total += 1
  67. self.bet = 0
  68. def betv(self,who,amt=0):
  69. self.tar = who
  70. if self.typ == 'player' or self.typ == 'player1':
  71. self.bet = amt
  72. if amt < self.pocket:
  73. self.bet = amt
  74. self.pocket -= self.bet
  75. else:
  76. raise ValueError('Invalid Input')
  77. else:
  78. for i in pla:
  79. if i != self.typ:
  80. self.botbet = pc[i].bet * (randint(80,120)/100)
  81. if self.botbet < self.pocket:
  82. self.bet = self.botbet
  83. self.pocket -= self.bet
  84. def createChars(name,name1):
  85. global fight1,fight2,ent,dc,cd
  86. fight1 = cl[name]()
  87. fight2 = cl[name1]()
  88. ent = [name,name1]
  89. dc = {name: fight1,name1:fight2}
  90. cd = {'fight1':fight1,'fight2':fight2}
  91. def createPlayer(typ,typ1):
  92. global player,player1,pla,pc,cp
  93. player = Player(typ)
  94. player1 = Player(typ1)
  95. pla = [typ,typ1]
  96. pc = {typ:player,typ1:player1}
  97. cp = {'player':player,'player1':player1}
  98. cl = {'Bunny':Bunny,'Jellyfish':Jellyfish,'Penguin':Penguin,'Turtle':Turtle}
  99. cL = ['Bunny','Jellyfish','Penguin','Turtle']
  100. while True:
  101. try:
  102. types = int(input('Enter 1 to play against Bot, 2 to play against second player. '))
  103. if types == 1:
  104. createPlayer('player','bot')
  105. elif types == 2:
  106. createPlayer('player','player')
  107. else:
  108. print('Invalid Input')
  109. continue
  110. break
  111. except:
  112. pass
  113. while True:
  114. fig,fig1 = 0,0
  115. while fig == fig1:
  116. fig = randint(0,len(cL)-1)
  117. fig1 = randint(0,len(cL)-1)
  118. print('\n'+cL[fig],'v',cL[fig1])
  119. createChars(cL[fig],cL[fig1])
  120. if types == 1:
  121. while True:
  122. try:
  123. playertar = input('\nWho would you like to bet on? ')
  124. playerinp = float(input('\nYou have $%.2f. Enter amount to bet: $'%(player.pocket)))
  125. player.betv(playertar,playerinp)
  126. except ValueError as err:
  127. print(err)
  128. continue
  129. player1.betv(playertar)
  130. break
  131. elif types == 2:
  132. while True:
  133. try:
  134. playertar = input('\nWho would you like to bet on? ')
  135. playerinp = float(input('\nYou have $%.2f. Enter amount to bet: $'%(player.pocket)))
  136. player.betv(playertar,playerinp)
  137. break
  138. except ValueError as err:
  139. print(err)
  140. continue
  141. while True:
  142. try:
  143. player1tar = input('\nWho would you like to bet on? ')
  144. player1inp = float(input('\nYou have $%.2f. Enter amount to bet: $'%(player1.pocket)))
  145. player1.betv(player1tar,player1inp)
  146. break
  147. except ValueError as err:
  148. print(err)
  149. continue
  150. if fight1.spd > fight2.spd:
  151. init = 'fight1'
  152. elif fight1.spd < fight2.spd:
  153. init = 'fight2'
  154. else:
  155. if randint(0,10) < 5:
  156. init = 'fight1'
  157. else:
  158. init = 'fight2'
  159. print(cd.get(init).name,'goes first.\n')
  160. while fight1.hp > 0 and fight2.hp > 0:
  161. if init == 'fight1':
  162. fight1.attack()
  163. continue
  164. elif init == 'fight2':
  165. fight2.attack()
  166. for i in ent:
  167. for x in pla:
  168. if i != pc[x].tar:
  169. if dc.get(pc[x].tar).hp > dc[i].hp:
  170. pc[x].end(True)
  171. else:
  172. pc[x].end(False)
  173. print('\nPlayer 1 has $%.2f and Player 2 has $%.2f.'%(player.pocket,player1.pocket))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement