用Python编写一个简单的文字游戏
发布时间:2023-12-04 11:11:56
以下是一个简单的文字游戏的Python代码。这个游戏是一个冒险游戏,玩家需要选择不同的选项来决定游戏的进展。游戏包含了一些基本的角色、道具和战斗等元素。以下是一个使用例子:
import random
class Player:
def __init__(self, name, attack, defense, health):
self.name = name
self.attack = attack
self.defense = defense
self.health = health
def take_damage(self, damage):
self.health -= damage
if self.health <= 0:
print(f"{self.name} has been defeated!")
def attack_enemy(self, enemy):
damage = self.attack - enemy.defense
if damage > 0:
print(f"{self.name} attacks {enemy.name}!")
enemy.take_damage(damage)
else:
print(f"{self.name}'s attack has no effect on {enemy.name}!")
class Enemy:
def __init__(self, name, attack, defense, health):
self.name = name
self.attack = attack
self.defense = defense
self.health = health
def take_damage(self, damage):
self.health -= damage
if self.health <= 0:
print(f"{self.name} has been defeated!")
def attack_player(self, player):
damage = self.attack - player.defense
if damage > 0:
print(f"{self.name} attacks {player.name}!")
player.take_damage(damage)
else:
print(f"{self.name}'s attack has no effect on {player.name}!")
def fight(player, enemy):
while player.health > 0 and enemy.health > 0:
player.attack_enemy(enemy)
if enemy.health > 0:
enemy.attack_player(player)
print(f"Player: {player.health} HP / Enemy: {enemy.health} HP")
print()
def start_game():
print("Welcome to the Adventure Game!")
player_name = input("Enter your name: ")
player = Player(player_name, attack=10, defense=5, health=50)
enemies = [
Enemy("Goblin", attack=7, defense=2, health=20),
Enemy("Dragon", attack=15, defense=10, health=50),
Enemy("Witch", attack=12, defense=8, health=40)
]
random_enemy = random.choice(enemies)
print(f"A wild {random_enemy.name} appears!")
print()
fight(player, random_enemy)
if player.health > 0:
print("Congratulations! You have defeated the enemy and completed the game.")
else:
print("Game Over. Better luck next time!")
start_game()
运行以上代码后,游戏会首先要求玩家输入一个名字,然后随机选择一个敌人与玩家进行战斗。战斗过程中,玩家和敌人会轮流攻击对方,直到一方的生命值降至0或以下。最后根据玩家的生命值判断游戏的结局。
这只是一个简单的文字游戏示例,可以根据自己的需求添加更多功能,例如增加更多的角色、道具、地图和敌人等。
