欢迎访问宙启技术站
智能推送

用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或以下。最后根据玩家的生命值判断游戏的结局。

这只是一个简单的文字游戏示例,可以根据自己的需求添加更多功能,例如增加更多的角色、道具、地图和敌人等。