用户:失落的星查看:5 回复:4 评论:5 创建时间:2022-12-04T16:21:52
【作品展示】

【作品介绍】
之前我发了一个【求助贴】有些人说需要完整版代码,现在请各位大神帮忙看看!
【作品源代码】
import random
import time
#通用函数:
suiji = random.randint
def deng(n):
time.sleep(n)
def kong(n):
for i in range(n):
print('\n')
#文字RPG冒险 代码如下:
def wenRPG():
deng(1)
kong(1)
print('你好')
deng(1)
print('玩家')
deng(1)
print('欢迎来到这个游戏')
deng(1)
print('\n')
deng(1)
print('正在加载游戏地图......')
deng(3)
print('加载成功')
deng(1)
print('正在加载玩家信息......')
deng(3)
print('加载成功')
deng(1)
print('正在加载地点信息......(请耐心等待)')
deng(5)
print('加载成功')
deng(1)
print('正在加载自主意识......')
deng(1)
print('aa加 @& !失^败')
deng(1)
print('正在检查错误......')
deng(1)
print('发现一个错误,是否修复?(y/n)')
a = input('>>')
if a == 'y':
c1 = 0
elif a == 'n':
c1 = 1
else:
print('输入错误,默认不修复')
c1 = 1
deng(1)
print('发现一个错误,是否修复?(y/n)')
a = input('>>')
if a == 'y':
c2 = 0
elif a == 'n':
c2 = 1
else:
print('输入错误,默认不修复')
c2 = 1
kong(1)
print('你好,玩家')
print('请问你是否进入新手教程?(y/n)')
a = input('>>')
if a == 'y':
print('好的,玩家,我现在将会把这个游戏的基本规则告诉你:')
input('(按Enter继续)>>')
for i in range(10):
kexuan = ['木剑', '苹果', '医疗包', '面包', '喵子', '粗制衣服']#可选物品
a = 0 # 玩家选择
wupinlan = []#物品栏
beibao = []#背包
baoshi = 100#饱食
shengming = 100#生命
sudu = 10#速度
hujia = 10#护甲
gongji = 22 # 攻击力
zhiye = 0#职业
food = []#食物
dengji = 1#等级
jingli = 10#精力
guai = 0#打怪数量
ditu = '''
——————————————------------------------------
| 地图 \\
/ |家| |怪物森林| \\
| \ / \\
\ \ | ----|勇者峡谷| /
/ ----- \ / \\
| \ | / \\
| \---------|小 镇|---- /
| / \ |
\ |盗贼基地|-------| -------\ |
| / \--|喵| /
/ |教堂| \\
| |
——————————————------------------------------------
'''
difang = ['家','小镇','怪物森林','勇者峡谷','盗贼基地','教堂','喵']#可去地方
suozaidi = '家'#所在地
n = 1#当前经验
m = 2#目标经验
p = 0#存档码
def kaitou ():
global x
global beibao
global food
global kexuan
beibao = []
food = []
print('你好!新来的!你叫什么名字呢?')
x = input('>>')
str(x)
print('哈,所以'+x+'是你的名字啊!')
deng(1)
print('还挺有品味的嘛!')
deng(1)
kong(1)
print('对了,你需要一些东西吗?我这里有一些东西可以给你')
deng(0.6)
kexuan = ['木剑', '苹果', '医疗包', '面包','喵子','粗制衣服']
while True:
kong(1)
print(kexuan)
a = input('(空为结束)>>')
if a in kexuan:
kexuan.remove(a)
if a == '苹果' or a == '医疗包' or a == '面包':
food.append(a)
else:
beibao.append(a)
elif a == ' ':
break
else:
print('请再规定东西里选择!')
continue
print('你选择了'+a)
deng(1)
print('好的,'+x+',是时候踏上你的文字冒险之路啦!')
deng(1)
return
def dadou(name,xie,gong):
global shengming
global hujia
global dengji
global gongji
global beibao
global food
global guaidengji
global beibao
global n
global m
guaidengji = dengji
while True:
kong(1)
deng(0.3)
print(name)
print('血量:'+str(xie))
print('攻击:'+str(gong))
print('等级:'+str(guaidengji))
kong(1)
print('-'*10)
print('|名字:'+x)
xinxi()
kong(1)
if shengming <= 0 or xie <= 0:
break
print('(按Enter键继续)')
input('>>')
print(name+'受到了'+str(gongji)+'点伤害!')
xie -= gongji
print('(按Enter键继续)')
input('>>')
print(name+'打出了'+str(gong)+'点伤害!')
if hujia >= gong:
hujia -= gong
print('你的护甲减少了'+str(gong)+'点!')
elif hujia < gong:
print('你的护甲减少了'+str(hujia)+'点!')
hujia == 0
shengming -= gong-hujia
print('你的生命减少了'+str(gong-hujia)+'点!')
else:
pass
if shengming <= 0:
si()
elif xie <= 0:
kong(1)
print(name,'die掉了!')
deng(1)
if name in '树藤怪坚石怪小野兽':
print('你获得了1点经验!')
n += 1
elif name == '小Boss':
print('你获得了3点经验!')
n += 3
if n >= m:
print('你升级了!你の生命值增加了10点!你の攻击力增加了10点!你获得了一本攻击秘籍!')
n = 0
m += 1
dengji += 1
shengming += 10
gongji += 10
beibao.append('攻击秘籍')
else:
print('距离升级还有'+str(m-n)+'点经验')
kong(1)
def suiji(y,n,su,xiel,ji):
deng(0.3)
kong(1)
print(y+n)
deng(0.5)
print('不好,它发现你了')
print('你要‘逃跑’还是‘锤爆它’?')
a = input('>>')
if a == '逃跑':
if sudu >= su:
print('你成功逃跑了')
deng(1)
return 0
else:
print('你被'+n+'追上了,大战开始')
dadou(n,xiel,ji)
else:
print('看来必须爆发一场恶战了!')
dadou(n,xiel,ji)
def guaiwu():
c = random.randint(1,6)
guaidengji = dengji
if c == 1:
suiji('看,前面出现了一只', '树藤怪', 14*guaidengji, 150*guaidengji, 50*guaidengji)
elif c == 2:
suiji('看,前面出现了一只', '小野兽', 13*guaidengji, 100*guaidengji, 40*guaidengji)
elif c == 3:
suiji('看,前面出现了一只', '坚石怪', 11*guaidengji, 210*guaidengji, 20*guaidengji)
elif c == 4:
suiji('看,前面出现了一只', '小Boss', 20*guaidengji, 200*guaidengji, 40*guaidengji)
else:
pass
def kanditu():
global suozaidi
print(ditu)
deng(0.5)
print('你的地点是:'+suozaidi)
print('你想去哪个地方?')
a = input('>>')
if a not in difang:
print('不存在这个地方!')
elif a == suozaidi:
print('别想了,你就在这呢!')
else:
print('%25--->============')
deng(1)
print('%50------->========')
deng(1)
guaiwu()
print('%75----------->====')
deng(1)
print('%99-------------->=')
deng(1)
print('%100--------------->')
print(x+'已到达目的地')
suozaidi = a
def xinxi():
print('|生命:'+str(shengming))
print('|攻击:'+str(gongji))
print('|速度:'+str(sudu))
print('|护甲:'+str(hujia))
print('|等级:'+str(dengji))
print('|杀敌:'+str(guai))
print('-'*10)
def zhuangtai():
kong(1)
deng(0.3)
print('通过灵魂的透视,你的身体信息是:')
deng(0.5)
print('-'*10)
print('|名字:'+x)
xinxi()
def zhuangbei():
global gongji
global wupinlan
global hujia
global beibao
while True:
deng(0.6)
kong(1)
print('你的背包',beibao)
print('你要装备什么?')
a = input('(空为结束)>>')
if a == ' ':
break
elif a not in beibao:
print('请在背包里选择!')
continue
else:
beibao.remove(a)
wupinlan.append(a)
if a == '木剑':
gongji += 15
elif a == '喵子':
hujia += 20
elif a == '粗制衣服':
hujia += 20
elif a == '防御秘籍':
hujia += 30
elif a == '攻击秘籍':
gongji += 20
elif a == 'Joker+(扑克牌)':
gongji += 10
elif a == 'Joker-(扑克牌)':
hujia += 10
print(x+'装备了'+a)
print(x+'的物品栏:',wupinlan)
def eat():
global shengming
global baoshi
global food
while True:
kong(1)
print('你有',food,'可以吃')
a = input('(空为结束)>>')
if a == ' ':
break
elif a not in food:
print('请在规定食物内食用!')
continue
else:
food.remove(a)
if a == '面包':
baoshi += 40
print(x+'食用了面包')
print(x+'恢复了40点饱食度!')
elif a == '苹果':
baoshi += 20
print(x+'食用了苹果')
print(x+'恢复了20点饱食度!')
elif a == '医疗包':
shengming += 30
print(x+'使用了医疗包')
print(x+'恢复了30点生命值!')
def guang():
global shengming
global zhiye
global sudu
global gongji
global hujia
global jingli
global guai
kong(1)
if suozaidi == '家':
print('家里有一张床,是否睡觉?(y/n)')
a = input('>>')
if a not in 'yn' or len(a) != 1:
print('输入错误')
return
elif a == 'y':
if jingli == 10:
print('你现在不想睡觉......')
return
else:
print('小憩一会儿,补充精力')
deng(1)
print('你现在精神不错,+2点血量!')
shengming += 2
jingli += 1
return
else:
return
elif suozaidi == '小镇':
c = random.randint(1,4)
if c == 1:
kong(1)
print('你走进了村子,看见很多人都围着一个地方,')
print('你很好奇,走近一看,是一块告示牌,上面写')
print('着:只要kill掉10只怪物或以上,就可获得')
print('一本随机秘籍(攻击秘籍、防御秘籍)')
kong(1)
print('你杀喵了'+str(guai)+'只怪物')
if guai >= 10:
c = random.randint(1,2)
if c == 1:
beibao.append('攻击秘籍')
print(x+'获得了一本攻击秘籍!')
elif c == 2:
beibao.append('防御秘籍')
print(x+'获得了一本防御秘籍!')
print(x+'的kill怪物数量-10')
guai -= 10
else:
print('你kill掉的怪物不足')
elif c == 2:
kong(1)
print('你看到了')
def caozuo():
while True:
kong(1)
print('现在你要:')
print('看地图\n出发\n查看信息\n装备\n吃东西\n逛一逛这个地方\n存档\n读档\n')
a = input('>>')
if a not in '看地图出发查看信息装备吃东西逛一逛这个地方存档读档':
print('不要乱选!')
continue
break
if a == '出发':
print('你现在的所在地是:'+suozaidi+'真的要出发吗?(y/n)')
a = input('>>')
if a == 'y':
kanditu()
else:
return
elif a == '查看信息':
zhuangtai()
elif a == '装备':
zhuangbei()
elif a == '吃东西':
eat()
elif a == '逛一逛这个地方':
print('你现在的所在地是:'+suozaidi+'真的要逛一逛这个地方吗?(y/n)')
a = input('>>')
if a == 'y':
guang()
else:
return
elif a == '看地图':
kong(1)
print(ditu)
kong(1)
elif a == '存档':
p = 0
for i in beibao:
pass
elif a == '读档':
pass
def si():
global x
deng(2)
print(x)
deng(2)
print('挂')
deng(2)
print('了')
deng(5)
exit()
kaitou()
while True:
caozuo()
#数字喵游戏 代码如下:
def zhadan():
play = 0#玩家选择
b = 0#最小范围
c = 100#最大范围
com = 0#计算机选择
z = -10#喵1号位置
x = -10#喵2号位置
v = -10#喵3号位置
m = 0#难度
dijilun = 0#第几轮
kong(1)
print('数字喵')
print('---------------------------')
print('规则如下:')
print('你和机器人在0~100的数字中选择')
print('一个编号,如果机器人选择的编号')
print('是喵编号,玩家赢;反之,机器人')
print('赢。如果两个人都没选择到喵,')
print('编号范围缩小,直到两个人中有一')
print('选到喵编号。')
print('---------------------------')
kong(1)
print('请选择难度:简单/普通/困难')
a = input('>>')
if a == '简单':
m = 1
elif a == '普通':
m = 2
elif a == '困难':
m = 3
else:
print('输入错误,游戏结束')
return 0
while True:
if c - b == 10:
print('范围过小!结束游戏!')
return
kong(1)
print('喵生成中......共有'+str(m)+'个喵')
if m == 1:
z = random.randint(b, c)
elif m == 2:
z = random.randint(b, c)
x = random.randint(b, c)
elif m == 3:
z = random.randint(b, c)
x = random.randint(b, c)
v = random.randint(b, c)
deng(3)
kong(1)
dijilun += 1
print('第'+str(dijilun)+'轮')
while True:
print('请输入你选择的编号【'+str(b)+'~'+str(c)+'】')
play = int(input('>>'))
if play >= b and play <= c:
break
else:
print('输入错误!')
continue
print('【玩家】选择了'+str(play)+'号编号')
print('【电脑】正在选择......')
deng(random.randint(1,4))
com = random.randint(b,c)
print('【电脑】选择了'+str(com)+'号编号')
deng(3)
if play == z or play == x or play == v:
print('BOOOOOOOM!【玩家】引爆了喵,【电脑】获胜了')
exit()
elif com == z or com == x or com == v:
print('BOOOOOOOM!【电脑】引爆了喵,【玩家】获胜了!')
exit()
else:
print('好险,两个人都没有选到喵!')
print('缩小范围!')
b += 5
c -= 5
continue
#直线版飞行器游戏 代码如下:
def feixingqi():
p = 0#玩家本回合移动步数
c = 0#电脑本回合移动步数
a = 0#玩家移动步数
a_1 = 40#玩家剩余步数
b = 0#电脑移动步数
b_1 = 40#玩家剩余步数
play = 1#玩家骰子
com = 1#电脑骰子
play_j = 0#玩家奖励
com_j = 0#电脑奖励
kong(1)
print('''直线版飞行棋 规则如下:
-----------------------------
先由玩家投骰子,玩家便会随机获得
一项奖励,之后玩家将前进投出的骰
子点数加上奖励步数前进,再显示地
图,如下:
【玩家】:====-------------
【电脑】:-----------------
(上图是地图的缩减版)
再由电脑进行相同的操作。
-----------------------------''')
kong(1)
a = input('请选择路线长度:30格/40格/50格/60格/100格!\n>>')
if a == '30格':
a_1 = 30
b_1 = 30
elif a == '40格':
a_1 = 40
b_1 = 40
elif a == '50格':
a_1 = 50
b_1 = 50
elif a == '60格':
a_1 = 60
b_1 = 60
elif a == '100格!' or a == '100格':
a_1 = 100
b_1 = 100
else:
print('输入错误,再见')
kong(1)
return
kong(1)
a = 0
while True:
p = 0
c = 0
input('(投骰子)(按Enter)>>')
print('【玩家】正在投骰子......')
deng(2)
play = suiji(1,6)
p += play
print('【玩家】投到了'+str(play))
play_j = suiji(1,12)
if play_j == 1:
print('【玩家】奖励前进3步!')
p += 3
elif play_j == 2:
print('【玩家】奖励前进4步!')
p += 4
elif play_j == 3:
print('【玩家】奖励前进5步!')
p += 5
elif play_j == 4:
print('【玩家】奖励前进6步!')
p += 6
elif play_j == 5:
print('【玩家】“奖励”后退2步!')
p -= 2
elif play_j == 6:
print('【玩家】“奖励”后退3步!')
p -= 3
elif play_j == 7:
print('【玩家】“奖励”后退4步!')
p -= 4
else:
print('啥奖励也没有......')
a += p
if a <= 0:
a = 0
deng(1)
kong(1)
print('地图:')
x = a_1 - a
y = b_1 - b
print('【玩家】:', end='')
print('='*a, end='')
print('-'*x)
print('【电脑】:', end='')
print('='*b, end='')
print('-'*y)
if a_1 <= 0:
kong(1)
print('【玩家】胜利!')
break
kong(1)
deng(2)
print('【电脑】正在投骰子......')
deng(2)
com = suiji(1, 6)
c += com
print('【电脑】投到了'+str(com))
com_j = suiji(1, 12)
if com_j == 1:
print('【电脑】奖励前进3步!')
c += 3
elif com_j == 2:
print('【电脑】奖励前进4步!')
c += 4
elif com_j == 3:
print('【电脑】奖励前进5步!')
c += 5
elif com_j == 4:
print('【电脑】奖励前进6步!')
c += 6
elif com_j == 5:
print('【电脑】“奖励”后退2步!')
c -= 2
elif com_j == 6:
print('【电脑】“奖励”后退3步!')
c -= 3
elif com_j == 7:
print('【电脑】“奖励”后退4步!')
c -= 4
else:
print('啥奖励也没有......')
b += c
if b <= 0:
b = 0
deng(1)
print('地图:')
x = a_1 - a
y = b_1 - b
print('【玩家】:',end='')
print('='*a,end='')
print('-'*x)
print('【电脑】:',end='')
print('='*b, end='')
print('-'*y)
if b_1 <= 0:
kong(1)
print('【电脑】胜利!')
break
kong(1)
#敌对关系游戏 代码如下:
def didui():
p1_shai = 0#玩家1骰子
p2_shai = 0#玩家2骰子
p1_xie = 100#玩家1血量
p2_xie = 100#玩家2血量
p1_wuqi = 0#玩家1武器
p1_wuqi = 0#玩家2武器
p1_g = 10#玩家1攻击力
p2_g = 10#玩家2攻击力
kong(1)
print('''敌对关系 规则如下:
----------------------------
两个玩家会出生在两条不同的道路上,
并且每一回合两人会投一次骰子:如
果投到1,则啥也不会发生。如果投到2,
则会遇到一个装备补给站,会随机获得
一件武器,可以选择装备或丢弃。如果
投到3,会遇到一个盾牌补给站,会随机
获得一件盾牌,可以选择装备或丢弃。
如果投到4,会找到一个物品,可以选择
使用或者丢弃。如果一个人投到3-4,另
一个人投到5-6,两人将会相遇。如果
一个人投到六,则啥事没有。
----------------------------''')
#游戏开始:
while True:
print('='*10+'文字游戏'+'='*10)
print('''
1.文字冒险游戏
2.玩玩小游戏''')
a = input('>>')
if a == '1':
kong(1)
print('='*10+'文字冒险游戏'+'='*10)
print('''
1.文字RPG游戏
2.部落与首领''')
a = input('>>')
if a == '1':
wenRPG()
elif a == '2':
print('抱歉,目前此游戏尚未开发')
continue
else:
print('输入错误!')
continue
elif a == '2':
kong(1)
print('='*10+'玩玩小游戏'+'='*10)
print('''
1.数字喵
2.直线版飞行棋
3.敌对关系''')
a = input('>>')
if a == '1':
zhadan()
elif a == '2':
feixingqi()
elif a == '3':
didui()
else:
print('输入错误!')
continue
else:
print('输入错误!')
kong(1)
continue
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn