Advertisement
Guest User

2048 max output length final response

a guest
Aug 30th, 2024
780
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.82 KB | None | 0 0
  1. Certainly! I'll expand the code to include more features such as a more complex world, additional player stats, a leveling system, and more diverse gameplay elements. Here's an extended version of the text-based adventure game:
  2.  
  3. ```python
  4. import random
  5. import time
  6. import json
  7. import os
  8.  
  9. class Player:
  10. def __init__(self, name):
  11. self.name = name
  12. self.level = 1
  13. self.exp = 0
  14. self.max_health = 100
  15. self.health = self.max_health
  16. self.attack = 10
  17. self.defense = 5
  18. self.gold = 0
  19. self.inventory = {}
  20. self.equipped = {"weapon": None, "armor": None}
  21. self.location = "Town Square"
  22. self.quests = []
  23.  
  24. class Enemy:
  25. def __init__(self, name, level, health, attack, defense, exp_reward, gold_reward):
  26. self.name = name
  27. self.level = level
  28. self.health = health
  29. self.attack = attack
  30. self.defense = defense
  31. self.exp_reward = exp_reward
  32. self.gold_reward = gold_reward
  33.  
  34. class Item:
  35. def __init__(self, name, description, item_type, effect, value):
  36. self.name = name
  37. self.description = description
  38. self.item_type = item_type
  39. self.effect = effect
  40. self.value = value
  41.  
  42. class Quest:
  43. def __init__(self, name, description, objective, reward):
  44. self.name = name
  45. self.description = description
  46. self.objective = objective
  47. self.reward = reward
  48. self.completed = False
  49.  
  50. class World:
  51. def __init__(self):
  52. self.locations = {
  53. "Town Square": ["Marketplace", "Tavern", "Blacksmith"],
  54. "Marketplace": ["Town Square", "Alchemist Shop"],
  55. "Tavern": ["Town Square", "Inn"],
  56. "Blacksmith": ["Town Square"],
  57. "Alchemist Shop": ["Marketplace"],
  58. "Inn": ["Tavern"],
  59. "Forest Entrance": ["Town Square", "Dark Forest", "Mountain Path"],
  60. "Dark Forest": ["Forest Entrance", "Haunted Clearing"],
  61. "Haunted Clearing": ["Dark Forest", "Abandoned Mine"],
  62. "Abandoned Mine": ["Haunted Clearing"],
  63. "Mountain Path": ["Forest Entrance", "Mountain Peak"],
  64. "Mountain Peak": ["Mountain Path", "Dragon's Lair"],
  65. "Dragon's Lair": ["Mountain Peak"]
  66. }
  67.  
  68. def print_slowly(text):
  69. for char in text:
  70. print(char, end='', flush=True)
  71. time.sleep(0.02)
  72. print()
  73.  
  74. def create_enemies():
  75. return [
  76. Enemy("Goblin", 1, 30, 8, 2, 20, 5),
  77. Enemy("Wolf", 2, 40, 12, 3, 30, 8),
  78. Enemy("Orc", 3, 60, 15, 5, 50, 15),
  79. Enemy("Troll", 5, 100, 20, 8, 100, 30),
  80. Enemy("Dark Mage", 7, 80, 25, 6, 150, 50),
  81. Enemy("Dragon", 10, 200, 35, 15, 500, 200)
  82. ]
  83.  
  84. def create_items():
  85. return [
  86. Item("Health Potion", "Restores 50 HP", "consumable", lambda player: setattr(player, "health", min(player.health + 50, player.max_health)), 20),
  87. Item("Strength Potion", "Increases attack by 5 for one battle", "consumable", lambda player: setattr(player, "attack", player.attack + 5), 30),
  88. Item("Iron Sword", "A sturdy iron sword", "weapon", lambda player: setattr(player, "attack", player.attack + 10), 100),
  89. Item("Steel Armor", "Protective steel armor", "armor", lambda player: setattr(player, "defense", player.defense + 10), 150),
  90. Item("Magic Amulet", "Increases max health by 25", "accessory", lambda player: setattr(player, "max_health", player.max_health + 25), 200)
  91. ]
  92.  
  93. def create_quests():
  94. return [
  95. Quest("Goblin Slayer", "Defeat 5 Goblins", {"Goblin": 5}, {"exp": 100, "gold": 50}),
  96. Quest("Wolf Hunter", "Defeat 3 Wolves", {"Wolf": 3}, {"exp": 150, "gold": 75}),
  97. Quest("Orc Chieftain", "Defeat the Orc leader", {"Orc": 1}, {"exp": 300, "gold": 150}),
  98. Quest("Dragon Slayer", "Defeat the mighty Dragon", {"Dragon": 1}, {"exp": 1000, "gold": 500})
  99. ]
  100.  
  101. def explore(player, enemies, items, world):
  102. print_slowly(f"\n{player.name} is exploring {player.location}...")
  103. time.sleep(1)
  104.  
  105. if random.random() < 0.6:
  106. enemy = random.choice([e for e in enemies if e.level <= player.level + 2])
  107. print_slowly(f"You encounter a level {enemy.level} {enemy.name}!")
  108. combat(player, enemy)
  109. elif random.random() < 0.3:
  110. item = random.choice(items)
  111. print_slowly(f"You found a {item.name}!")
  112. print_slowly(item.description)
  113. if item.name in player.inventory:
  114. player.inventory[item.name] += 1
  115. else:
  116. player.inventory[item.name] = 1
  117. print_slowly(f"{item.name} has been added to your inventory.")
  118. else:
  119. print_slowly("You find nothing of interest.")
  120.  
  121. def combat(player, enemy):
  122. print_slowly(f"\nCombat with level {enemy.level} {enemy.name} begins!")
  123.  
  124. while player.health > 0 and enemy.health > 0:
  125. print_slowly(f"\n{player.name}'s Health: {player.health}/{player.max_health}")
  126. print_slowly(f"{enemy.name}'s Health: {enemy.health}")
  127.  
  128. action = input("Do you want to (A)ttack, use (I)tem, or (R)un? ").lower()
  129.  
  130. if action == 'a':
  131. damage = max(1, player.attack - enemy.defense + random.randint(-2, 2))
  132. enemy.health -= damage
  133. print_slowly(f"You deal {damage} damage to the {enemy.name}.")
  134.  
  135. if enemy.health <= 0:
  136. print_slowly(f"You have defeated the {enemy.name}!")
  137. reward_exp = enemy.exp_reward
  138. reward_gold = enemy.gold_reward
  139. player.exp += reward_exp
  140. player.gold += reward_gold
  141. print_slowly(f"You gain {reward_exp} EXP and {reward_gold} gold!")
  142. level_up(player)
  143. update_quests(player, enemy.name)
  144. return
  145.  
  146. enemy_damage = max(1, enemy.attack - player.defense + random.randint(-2, 2))
  147. player.health -= enemy_damage
  148. print_slowly(f"The {enemy.name} deals {enemy_damage} damage to you.")
  149. elif action == 'i':
  150. use_item(player)
  151. elif action == 'r':
  152. if random.random() < 0.5:
  153. print_slowly("You successfully flee from the battle!")
  154. return
  155. else:
  156. print_slowly("You failed to escape!")
  157. enemy_damage = max(1, enemy.attack - player.defense + random.randint(-2, 2))
  158. player.health -= enemy_damage
  159. print_slowly(f"The {enemy.name} deals {enemy_damage} damage to you.")
  160. else:
  161. print_slowly("Invalid action. You hesitate and lose your turn!")
  162. enemy_damage = max(1, enemy.attack - player.defense + random.randint(-2, 2))
  163. player.health -= enemy_damage
  164. print_slowly(f"The {enemy
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement