以下是一个使用Python编写的大型游戏示例 - "迷失之城":

import random

class Game:
    def __init__(self):
        self.player = None
        self.enemies = []
        self.treasures = []
        self.current_room = None
        self.rooms = []

    def start(self):
        print("欢迎来到迷失之城!")
        self.create_rooms()
        self.create_player()
        self.create_enemies()
        self.create_treasures()
        self.current_room = self.rooms[0]
        self.play()

    def create_rooms(self):
        room1 = Room("大厅")
        room2 = Room("走廊")
        room3 = Room("密室")
        room4 = Room("宝藏室")
        room5 = Room("地下室")
        room1.add_neighbor(room2)
        room2.add_neighbor(room1)
        room2.add_neighbor(room3)
        room2.add_neighbor(room4)
        room3.add_neighbor(room2)
        room4.add_neighbor(room2)
        room4.add_neighbor(room5)
        room5.add_neighbor(room4)
        self.rooms.extend([room1, room2, room3, room4, room5])

    def create_player(self):
        name = input("请输入您的角色名称:")
        self.player = Player(name)

    def create_enemies(self):
        for _ in range(3):
            name = random.choice(["巨魔", "恶魔", "僵尸"])
            enemy = Enemy(name)
            room = random.choice(self.rooms)
            room.add_enemy(enemy)
            self.enemies.append(enemy)

    def create_treasures(self):
        for _ in range(3):
            name = random.choice(["黄金", "钻石", "宝剑"])
            treasure = Treasure(name)
            room = random.choice(self.rooms)
            room.add_treasure(treasure)
            self.treasures.append(treasure)

    def play(self):
        while True:
            self.current_room.print_info()
            self.player.print_info()

            action = input("请选择要进行的操作:1-前进,2-后退,3-攻击,4-退出游戏\n")
            
            if action == "1":
                self.move_forward()
            elif action == "2":
                self.move_backward()
            elif action == "3":
                self.attack()
            elif action == "4":
                print("游戏结束!")
                break
            else:
                print("无效的操作,请重新选择!")

            if self.player.hp <= 0:
                print("您的角色已被击败!游戏结束!")
                break

            if self.current_room.has_treasure():
                self.player.add_treasure(self.current_room.get_treasure())
                print("恭喜您获得宝藏!")

            if len(self.enemies) == 0:
                print("您成功击败所有敌人!恭喜您完成游戏!")
                break

    def move_forward(self):
        next_room = self.current_room.get_random_neighbor()
        if next_room:
            self.current_room = next_room
        else:
            print("无法前进!")

    def move_backward(self):
        prev_room = self.current_room.get_previous_room()
        if prev_room:
            self.current_room = prev_room
        else:
            print("无法后退!")

    def attack(self):
        enemy = self.current_room.get_random_enemy()
        if enemy:
            print("您攻击了敌人!")
            self.player.attack(enemy)
            if enemy.hp <= 0:
                self.current_room.remove_enemy(enemy)
                self.enemies.remove(enemy)
                print("您击败了敌人!")
        else:
            print("房间里没有敌人!")


class Room:
    def __init__(self, name):
        self.name = name
        self.neighbors = []
        self.enemies = []
        self.treasures = []

    def add_neighbor(self, room):
        self.neighbors.append(room)

    def get_random_neighbor(self):
        return random.choice(self.neighbors)

    def get_previous_room(self):
        return self.neighbors[0] if len(self.neighbors) > 0 else None

    def add_enemy(self, enemy):
        self.enemies.append(enemy)

    def remove_enemy(self, enemy):
        self.enemies.remove(enemy)

    def get_random_enemy(self):
        return random.choice(self.enemies) if len(self.enemies) > 0 else None

    def add_treasure(self, treasure):
        self.treasures.append(treasure)

    def get_treasure(self):
        return random.choice(self.treasures) if len(self.treasures) > 0 else None

    def has_treasure(self):
        return len(self.treasures) > 0

    def print_info(self):
        print(f"您现在在{name},房间里有{len(self.enemies)}个敌人和{len(self.treasures)}个宝藏。")


class Player:
    def __init__(self, name):
        self.name = name
        self.hp = 100
        self.attack_power = 20
        self.treasures = []

    def attack(self, enemy):
        enemy.hp -= self.attack_power

    def add_treasure(self, treasure):
        self.treasures.append(treasure)

    def print_info(self):
        print(f"角色:{self.name},生命值:{self.hp},攻击力:{self.attack_power},宝藏:{len(self.treasures)}个。")


class Enemy:
    def __init__(self, name):
        self.name = name
        self.hp = random.randint(50, 100)
        self.attack_power = random.randint(10, 20)


class Treasure:
    def __init__(self, name):
        self.name = name


game = Game()
game.start()

注意:这只是一个简单的示例,可以根据需求进行修改和扩展。这个游戏的目标是击败所有敌人并收集宝藏。玩家可以在不同的房间之间移动,并与敌人战斗。战斗中,玩家和敌人的攻击力和生命值是随机生成的。收集到的宝藏数量将记录在玩家信息中

任意制作一个python的大型游戏

原文地址: https://www.cveoy.top/t/topic/iHXW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录