您的位置:首页 > 编程语言 > Python开发

python实现回合制对战小游戏

2020-03-25 07:35 399 查看

回合制对战游戏
1.创建角色:姓名、性别
2.创建房间:
角色可加入房间
房间内的人可互打
房间上限3人
3.战斗:
装备、默认血量、被正常攻击掉血与有装备掉血不同

#回合制对战游戏
#角色,房间,战斗
import random
class Role(object):
def __init__(self,name,sex,blood=100):
self.name = name
self.sex = sex
self.blood = blood
self.room = None
def attach(self,other):
fight = {10:"物理攻击",20:"魔法攻击"}
if self == other:
print("不能攻击自己")
else:
if self.room and self.room == other.room:
if self.blood <= 0:
print("您的血量低于0,不能进行攻击")
else:
if random.choice([0,1]) == 0:
lost_blood = random.choice([10,20])
print(f"{other.name}没有装备")
else:
lost_blood = random.choice([10,20])
print(f"{other.name}使用了装备")
other.blood = other.blood - lost_blood
print(f"{self.name}使用{fight[lost_blood]}攻击了{other.name}{lost_blood}点血量,当前血量{other.blood}")
if other.blood <= 0:
print(f"{other.name}已阵亡,不能再进行攻击")
exit()
else:
print("不在同一个房间不能攻击")
class Room(object):
#	MAX = 2
def __init__(self,name):
self.name = name
self.member_list = []
def add_member(self,role):
if role.room == None:
if len(self.member_list) < 2:
self.member_list.append(role)
role.room = self
print(f"{role.name}成功加入{self.name}房间")
else:
print(f"{role.name}已加入{role.room.name}房间")
print('''################
1.创建角色
2.创建房间
3.加入房间
4.开始战斗
5.退出
################''')
roles = dict()
rooms = dict()
while True:
enter_number = input("请输入您的操作:\n")
if enter_number.isdigit():
enter_number = int(enter_number)
if 1 <= enter_number <= 5:
if enter_number == 1:
name,sex = input("请输入角色的姓名与性别,空格分隔:\n").split()
roles[name] = Role(name,sex)
elif enter_number == 2:
room = input("请输入房间的名字:\n")
rooms[room] = Room(room)
elif enter_number == 3:
print(f"当前角色有{roles.keys()},当前房间有{rooms.keys()}")
role_name,room_name = input("请输入您要加入的角色和房间名,空格分隔:\n").split()
rooms[room_name].add_member(roles[role_name])
elif enter_number == 4:
while True:
enter = random.choice([0,1])
if enter == 0:
rooms[room_name].member_list[0].attach(rooms[room_name].member_list[1])
else:
rooms[room_name].member_list[1].attach(rooms[room_name].member_list[0])
else:
print("输入错误!请输入1-5选择操作!")
else:
print("输入有误!请重新输入!")
  • 点赞
  • 收藏
  • 分享
  • 文章举报
Dooriyayu 发布了20 篇原创文章 · 获赞 0 · 访问量 642 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: