Python宠物养成系统3.0
class Pet():
def __init__(self, name, weight, height, satiety, mood, numeggs, balance, warehouse):
self.name = name
self.weight = weight
self.height = height
self.satiety = satiety
self.mood = mood
self.numeggs = numeggs
self.balance = balance
self.warehouse = warehouse
self.show()
def eat(self):
self.satiety += 1
print('你喂了一袋零食给'+str(self.name))
print()
print(str(self.name)+"开吃啦biajibiaji...")
print()
print(str(self.name)+'的体重增加了1kg')
print()
print(str(self.name)+'的身高增加了1cm')
print()
print(str(self.name)+'的心情增加了1')
print()
self.weight += 1
self.height += 1
self.mood += 1
self.show()
if self.satiety == 5:
self.egg()
self.satiety = 0
def bark(self):
print(str(self.name)+"要开始叫了...")
print()
print(str(self.name)+'的心情增加了1')
print()
if self.satiety >= 1:
print(str(self.name)+'的饱腹度减1')
print()
self.satiety -= 1
self.mood += 1
self.show()
def play(self,ans):
self.ans = ans
print(str(self.name)+'要开始玩啦!')
print()
if ans == '糖豆游戏':
import random
print("-- -- -- -- 糖豆游戏 -- -- -- --")
print("游戏规则:n桌上有20颗糖果。每次只准拿其中的1颗、2颗,最多3颗。n"+str(self.name)+"和你轮流拿,谁拿到了最后一颗,谁就获得了胜利!")
order = input("请选择谁先开始拿:(输入你或者"+str(self.name)+',输入错误/游戏结束后 将自动退出):')
count = 20
if order == "我":
while True:
userNum = int(input("请输入你拿的数量:"))
count = count - userNum
if count <= 0:
print("你拿到了最后一颗哦,你获胜了")
break
computerNum = random.randint(1, 3)
count = count - computerNum
if count == 0:
print(str(self.name)+"拿到了最后一颗哦,"+str(self.name)+"获胜")
break
print("你拿了"+str(userNum)+"颗糖豆,"+str(self.name)+"拿了{}颗,现在还剩下{}颗".format(computerNum, count))
elif order == str(self.name):
while True:
computerNum = random.randint(1, 3)
count = count - computerNum
if count == 0:
print(str(self.name)+"拿到了最后一颗哦,"+str(self.name)+"获胜")
break
else:
print(str(self.name)+"拿了{}颗,现在还剩下{}颗".format(computerNum, count))
userNum = int(input("请输入你拿的数量:"))
count = count - userNum
if count <= 0:
print("你拿到了最后一颗哦,你获胜了")
break
else:
print("你拿了{}颗,现在还剩下{}颗".format(userNum, count))
else:
print('已成功退出')
print()
elif self.ans == '林中探险':
scenes = {
'起点': {
'描述': '你来到了一个神秘的起点,四周围绕着一片茂密的森林.',
'命令': {'向东': '东边的路口', '向南': '南边的山洞', '向西': '西边的湖泊'}
},
'东边的路口': {
'描述': '你来到了一条崎岖的山路,路的尽头有一座古老的城堡.',
'命令': {'前往城堡': '城堡', '向西': '起点'}
},
'南边的山洞': {
'描述': '你来到了一个幽深的山洞,洞内传出阵阵奇怪的声音.',
'命令': {'探索山洞': '山洞', '向北': '起点', '向东': '神秘的洞穴'}
},
'西边的湖泊': {
'描述': '你来到了一个美丽的湖泊,湖水清澈见底,湖边有一座小木屋.',
'命令': {'进入小木屋': '小木屋', '向东': '起点'}
},
'神秘的洞穴': {
'描述': '你来到了一个神秘的洞穴,这里有着传说中的宝藏.',
'命令': {'寻找宝藏': '宝藏', '向西': '南边的山洞'}
},
'城堡': {
'描述': '你来到了一座古老的城堡,城堡里有一件神秘的宝藏.',
'命令': {'打开宝藏': '宝藏', '向南': '东边的路口', '向西': '起点'}
},
'山洞': {
'描述': '你来到了一个幽深的山洞,洞内藏着一份珍贵的地图.',
'命令': {'拿起地图': '地图是一张白纸,游戏结束', '向北': '起点'}
},
'小木屋': {
'描述': '你进入了一座小木屋,里面有一位神秘的老人.',
'命令': {'与老人交谈': '秘密', '离开小木屋': '西边的湖泊'}
},
'秘密': {
'描述': '老人告诉你,只有在特定的时间和地点,才能找到真正的宝藏.',
'命令': {'相信老人': '特定的地点', '不相信老人': '老人很生气,把你们赶走了,游戏结束'}
},
'特定的地点': {
'描述': '你来到了一处神秘的地点,地面上有一些奇怪的符号.',
'命令': {'破解符号': '宝藏', '向南': '起点'}
},
'宝藏': {
'描述': '你找到了宝藏,里面是一箱宝藏.',
'命令': {'离开洞穴': '祝贺你!!!你离开了洞穴,成功获得了宝藏,游戏结束', '向西': '神秘的洞穴'}
}
}
current_scene = '起点'
while True:
if '游戏结束' in current_scene:
print(current_scene)
break
else:
print(scenes[current_scene]['描述'])
print('可用命令:', list(scenes[current_scene]['命令'].keys()))
command = input('请输入命令:')
next_scene = scenes[current_scene]['命令'].get(command, None)
if next_scene is None:
print('命令不可用,请重新输入!')
continue
if next_scene == '游戏结束':
print('游戏结束!')
break
elif next_scene == '相信老人':
current_scene = '特定的地点'
continue
else:
current_scene = next_scene
print(str(self.name)+'的心情增加了1')
print()
if self.satiety >= 1:
print(str(self.name)+'的饱腹度减1')
print()
self.satiety -= 1
self.mood += 1
self.show()
def egg(self):
print(str(self.name)+'的饱腹度已满5,'+str(self.name)+'下了一个蛋,饱腹度清零')
print()
self.numeggs += 1
self.show()
def walk(self,xyz):
self.xyz = xyz
if xyz == '银行':
print('你们来到了银行')
print()
class Accout():
def __init__ (self,name,password,balance,operration):
self.name = name
self.password = password
self.balance = balance
self.operration = operration
print("账户创建成功")
def check(self):
print("当前余额:",self.balance)
def save(self,money):
self.balance += money
self.operration = "存入" + str(money)
def withdraw(self,money):
if self.balance < money:
print("余额不足")
else:
self.balance -= money
self.operration = "取钱" + str(money)
def record(self):
f = open(self.name + ".txt","a")
text = self.name + "," + self.password + "," + str(self.balance) + "," + self.operration + "n"
f.write(text)
f.close()
name = input("请输入账户名称:")
password = input("请输入账户密码:")
balance = int(input("请输入账户余额:"))
user = Accout(name,password,balance,"创建账户")
user.record()
while True:
print("""
1.查询余额
2.存钱
3.取钱
exit退出
""")
num = input()
if num == 'exit':
print('已成功退出')
break
elif num == "1":
user.check()
elif num == "2":
money = int(input("请输入想存的钱数"))
user.save(money)
user.record()
elif num == "3":
money = int(input("请输入想取的钱数"))
user.withdraw(money)
user.record()
else:
print("请输入1,2,3")
elif self.xyz == '茶馆':
print('你们到茶馆去听了一会儿相声')
print()
import random
names = ["西门庆", "吴承恩", "贾宝玉", "武松", "潘金莲", "林黛玉", "唐僧", "孙悟空", "猪八戒", "沙和尚",'罗贯中','曹雪芹','白龙马']
places = ["黄鹤楼", "凤凰山", "西湖", "大观园", "狮子林", "灵感观", "五台山", "雷峰塔", "青城山",'黄山','泰山','华山','定军山','八宝金殿','午门']
weapons = ['长剑','长枪','长弓','金箍棒','禅杖','锄头','铲子','戒尺']
talks = ['拿命来','我投降','放肆','大胆','且慢']
sentence = "在{}的{}, {}和{}相遇. {}的{}遭遇了{}的入侵, {}的{}遭遇了{}的入侵. {}与{}正在打架, 打得两败俱伤, 最后反倒被{}捡了个便宜. 没想到{}趁火打劫, 把{}的{}给拆了, 这使{}非常震怒, 二话不说就把{}的{}夷为平地. 在{}的比武招亲大会上, {}{}一摆, 一个力劈华山, 朝{}当头劈下, {}大喝一声:'{}!', {}一举,就朝{}的眉心点去.".format(random.choice(places), random.choice(places), random.choice(names), random.choice(names), random.choice(names),random.choice(places),random.choice(names), random.choice(names), random.choice(places), random.choice(names), random.choice(names),random.choice(names),random.choice(names),random.choice(names),random.choice(names),random.choice(places),random.choice(names),random.choice(names),random.choice(places),random.choice(names),random.choice(names),random.choice(weapons),random.choice(names),random.choice(names),random.choice(talks),random.choice(weapons),random.choice(names),)
print(sentence)
print()
else:
print('你们逛了一圈就回来了')
print()
print(str(self.name)+'的心情增加了1')
print()
if self.satiety >= 1:
print(str(self.name)+'的饱腹度减1')
print()
self.satiety -= 1
self.mood += 1
self.show()
def shop(self):
print('欢迎光临宠物商城,祝您购物愉快!')
print()
while True:
print('您可以购买道具,美食等物品,请问您需要购买什么呢(道具 / 美食 输入exit退出)?')
print()
a = input()
if a == 'exit':
print('欢迎下次光临,拜拜!')
print()
self.show()
break
elif a == '道具':
print('请问您要购买什么道具呢?(输入数字,提示:部分道具只在工具店里有供应!)')
print()
print('1、宠物蛋')
print()
print('2、心情提升器')
print()
s = input()
if s == '1':
print('已成功购买宠物蛋!')
self.warehouse.append('宠物蛋')
continue
elif s == '2':
print('已成功购买心情提升器')
self.warehouse.append('心情提升器')
continue
elif a == '美食':
print('请问您要购买什么美食呢?(输入数字,提示:部分美食只在餐厅里有供应!)')
print()
print('1、普通零食')
print()
print('2、神秘的零食')
print()
print('3、营养膏')
print()
s = input()
if s == '1':
print('已成功购买普通零食!')
self.warehouse.append('普通零食')
continue
if s == '2':
print('已成功购买神秘的零食!')
self.warehouse.append('神秘的零食')
continue
if s == '3':
print('已成功购买营养膏!')
self.warehouse.append('营养膏')
continue
else:
print('输入方式不正确,请重新输入!')
continue
def show(self):
print(f"宠物的名字是:{self.name},体重:{self.weight}kg,身高:{self.height}cm,饱腹度:{self.satiety},心情:{self.mood},蛋的数量:{self.numeggs},宠物币余额:{self.balance}",end='')
print(',仓库:',self.warehouse)
print()
n = input('宠物的名字:')
print()
w = int(input('宠物的体重:'))
print()
h = int(input('宠物的身高:'))
print()
p = Pet(n, w, h, 0, 0, 0, 0, [])
while True:
print('提示:有吃,叫,玩,散步,购物,宠物面板六种输入方式.输入exit退出')
print()
ans = input()
print()
if ans == 'exit':
print('再见')
print()
break
elif ans == '吃':
p.eat()
elif ans == '叫':
p.bark()
elif ans == '玩':
ans = input('你要玩什么(糖豆游戏,林中探险):')
p.play(ans)
elif ans == '散步':
ans = input('你要去哪里散步(银行,茶馆):')
p.walk(ans)
elif ans == '购物':
p.shop()
elif ans == '宠物面板':
p.show()
else:
print('输入方式不正确,请重新输入!')
print()
continue
来句套话
这段Python代码实现了一个简单的宠物养成系统,允许用户与一个虚拟宠物进行互动。宠物具有多种属性,包括名字、体重、身高、饱腹度、心情、蛋的数量、宠物币余额和仓库(存放物品的地方)。
用户可以通过以下方式与宠物互动:
喂食:增加宠物的饱腹度、体重、身高和心情,当饱腹度达到5时,宠物会下蛋。叫:模拟宠物叫的动作,增加宠物的心情,如果饱腹度足够,还会减少饱腹度。玩耍:提供两种游戏供用户选择,一种是“糖豆游戏”,另一种是“林中探险”。在“糖豆游戏”中,用户与宠物轮流拿糖豆,谁拿到最后一颗谁就获胜。在“林中探险”中,用户通过输入命令来探索不同的场景,寻找宝藏。散步:用户可以选择带宠物去银行或茶馆。在银行,用户可以进行账户操作,如查询余额、存钱和取钱。在茶馆,用户可以听到一段随机生成的相声。购物:用户可以在宠物商城购买道具和美食,如宠物蛋、心情提升器、普通零食、神秘的零食和营养膏。宠物面板:显示宠物的当前状态,包括所有属性。整个系统通过命令行界面与用户交互,用户通过输入不同的命令来执行相应的操作。代码中还包含了一些基本的输入验证和错误处理,以确保用户输入有效。
这个宠物养成系统是一个有趣的项目,适合初学者练习Python编程和理解面向对象编程的概念。
_____________________________________________________________________________
这次更新了了仓库和宠物面板。道具和美食的作用会在4.0版本出现,更多设施会在5.0版本出现。
最近开学了,时间不太够,敬请谅解。
对我这段代码的发展方向有想法的在评论区写出来!
相关知识
Python宠物养成系统3.0
基于Python的猫狗宠物展示系统
计算机毕业设计基于Python的猫狗宠物展示系统
(开题)flask框架宠物领养系统(程序+论文+python)
(开题)flask框架宠物寄养系统(程序+论文+python)
(开题)flask框架宠物咖啡店管理系统(程序+论文+python)
(开题)flask框架宠物医院预约系统(程序+论文+python)
[附开题]flask框架宠物领养系统tusw9(源码+论文+python)
(开题)flask框架宠物领养系统宠物管理子系统(程序+论文+python)
Python宠物美容项目预约服务管理系统设计与实现
网址: Python宠物养成系统3.0 https://www.mcbbbk.com/newsview367594.html
上一篇: 一宏一谈第19期 |
下一篇: [宏提问] 请问,正式服宠物姿态 |
推荐分享

- 1我的狗老公李淑敏33——如何 5096
- 2南京宠物粮食薄荷饼宠物食品包 4363
- 3家养水獭多少钱一只正常 3825
- 4豆柴犬为什么不建议养?可爱的 3668
- 5自制狗狗辅食:棉花面纱犬的美 3615
- 6狗交配为什么会锁住?从狗狗生 3601
- 7广州哪里卖宠物猫狗的选择性多 3535
- 8湖南隆飞尔动物药业有限公司宠 3477
- 9黄金蟒的价格 3396
- 10益和 MATCHWELL 狗 3352