丧心病狂编一个400多行的游戏
程序员文章站
2022-07-01 20:30:40
我最近在python编了一个文字游戏大家可以来指点指点代码如下:print(“一定要输入对”)print(“不然程序会混乱”)name = input(“你叫什么名字?”)message = input(“1.向左走 2.向右走”)if message == ‘1’:print(“有一个人站在那”)print(“他数着数”)print(“1……2……3……4……5”)message = input("想上去问问吗")if message == '想': print("你去了"...
我最近在python编了一个文字游戏
大家可以来指点指点
代码如下:
print(“一定要输入对”)
print(“不然程序会混乱”)
name = input(“你叫什么名字?”)
message = input(“1.向左走 2.向右走”)
if message == ‘1’:
print(“有一个人站在那”)
print(“他数着数”)
print(“1……2……3……4……5”)
message = input("想上去问问吗")
if message == '想':
print("你去了")
print("他看见你了,立刻和你打起来")
print("他立刻掏出一把刀")
print("…………")
print("你掏出了一把手枪")
message = input("打他吗?")
if message == '打':
print("他跑了")
message = input("追吗?")
if message == '追':
print("你追他")
print("他向你扔刀子")
print("你躲开了")
print("并把他杀了")
print("GAME OVER")
elif message == '不追':
print("你没有追")
print("你回了家")
print("GANE OVER")
else:
print("你选了别的")
print("你不能选别的")
elif message == '不打':
print("你没有打他")
print("但把他吓死了")
print("你犯罪了")
print("被判了20年才出*")
else:
print("你不应该选这个的")
print("ok?")
elif message == '不想':
print("你没有问他")
print("平安无事")
print("GAME OVER")
else:
print("请你不要这样")
elif message == ‘2’:
print(“你来到一家游戏厅”)
message = input(“玩游戏吗?”)
if message == '玩':
print("玩什么游戏")
message = input("1.3v3决斗 2.猜拳 3.对打")
if message == '1':
import time, random
class Role():
def __init__(self, name='|角色|'):
self.name = name
self.life = random.randint(100, 150)
self.attack = random.randint(30, 50)
class Sains_knight(Role):
def __init__(self, name='|圣光骑士|'):
Role.__init__(self, name)
self.life = 5 * self.life
self.attack = 3 * self.attack
def fight_buff(self, enemy):
if enemy == '|暗影刺客|':
self.attack *= 1.5
else:
self.attack = self.attack
class Shadow_Assassin(Role):
def __init__(self, name='|暗影刺客|'):
Role.__init__(self, name)
self.life = 3 * self.life
self.attack = 5 * self.attack
def fight_buff(self, enemy):
if enemy == '|精灵弩手|':
self.attack *= 1.5
else:
self.attack = self.attack
class Faerie_Bowman(Role):
def __init__(self, name='|精灵弩手|'):
Role.__init__(self, name)
self.life = 4 * self.life
self.attack = 4 * self.attack
def fight_buff(self, enemy):
if enemy == '|圣光骑士|':
self.attack *= 1.5
else:
self.attack = self.attack
class GAME():
def __init__(self):
self.players = []
self.enemies = []
self.show_title()
self.show_role()
self.order_role()
self.pk_role()
# 随机生成角色的属性
def born_role(self):
for i in range(3):
self.players.append(random.choice([Sains_knight(), Shadow_Assassin(), Faerie_Bowman()]))
self.enemies.append(random.choice([Sains_knight(), Shadow_Assassin(), Faerie_Bowman()]))
# 生成和展示角色信息
def show_role(self):
self.born_role()
# 展示我方的3个角色
print('----------------- 角色信息 -----------------')
print('你的队伍:')
for i in range(3):
print('|我方|%s 血量:%s 攻击:%s'
% (self.players[i].name, self.players[i].life, self.players[i].attack))
print('--------------------------------------------')
print('敌人队伍:')
# 展示敌方的3个角色
for i in range(3):
print('|敌方|%s 血量:%s 攻击:%s'
% (self.enemies[i].name, self.enemies[i].life, self.enemies[i].attack))
print('--------------------------------------------')
input('请按回车键继续。') # 为了让玩家更有控制感,可以插入类似的代码来切分游戏进程。
# 角色排序,选择出场顺序。
def order_role(self):
order_dict = {}
for i in range(3):
order = int(input('你想让{}第几个上场?(输入数字1-3)'.format(self.players[i].name)))
order_dict[order] = self.players[i]
self.players = []
for i in range(1, 4):
self.players.append(order_dict[i])
print('\n我方角色的出场顺序是:%s、%s、%s' % (self.players[0].name, self.players[1].name, self.players[2].name))
print('敌方角色的出场顺序是:%s、%s、%s' % (self.enemies[0].name, self.enemies[1].name, self.enemies[2].name))
# 角色PK
def pk_role(self):
round = 1
score = 0
for i in range(3): # 一共要打三局
player_name = self.players[i].name
enemy_name = self.enemies[i].name
# 判断敌人是否对其有克制效果,有则进行攻击加成
self.players[i].fight_buff(enemy_name)
self.enemies[i].fight_buff(player_name)
player_life = self.players[i].life
player_attack = self.players[i].attack
enemy_life = self.enemies[i].life
enemy_attack = self.enemies[i].attack
# 每一局开战前展示战斗信息
print('\n----------------- 【第%s局】 -----------------' % round)
print('玩家角色:%s vs 敌方角色:%s ' % (player_name, enemy_name))
print('%s 血量:%s 攻击:%s' % (player_name, player_life, player_attack))
print('%s 血量:%s 攻击:%s' % (enemy_name, enemy_life, enemy_attack))
print('--------------------------------------------')
input('请按回车键继续。\n')
# 开始判断血量是否都大于零,然后互扣血量。
while player_life > 0 and enemy_life > 0:
enemy_life = enemy_life - player_attack
player_life = player_life - enemy_attack
print('%s发起了攻击,%s剩余血量%s' % (player_name, enemy_name, enemy_life))
print('%s发起了攻击,%s剩余血量%s' % (enemy_name, player_name, player_life))
print('--------------------------------------------')
time.sleep(1)
else: # 每局的战果展示,以及分数score和局数的变化。
# 调用show_result()函数,打印返回元组中的result。
print(self.show_result(player_life, enemy_life)[1])
# 调用show_result()函数,完成计分变动。
score += int(self.show_result(player_life, enemy_life)[0])
round += 1
input('\n点击回车,查看比赛的最终结果\n')
if score > 0:
print('【最终结果:你赢了!】\n')
elif score < 0:
print('【最终结果:你输了!】\n')
else:
print('【最终结果:平局!】\n')
# 返回单局战果和计分法所加分数。
def show_result(self, player_life, enemy_life): # 注意:该函数要设定参数,才能判断单局战果。
if player_life > 0 and enemy_life <= 0:
result = '\n敌人死翘翘了,你赢了!'
return 1, result # 返回元组(1,'\n敌人死翘翘了,你赢了!'),类似角色属性的传递。
elif player_life <= 0 and enemy_life > 0:
result = '\n悲催,敌人把你干掉了!'
return -1, result
else:
result = '\n哎呀,你和敌人同归于尽了!'
return 0, result
# 展示标题
def show_title(self):
print('''--------------欢迎来到炼狱角斗场-----------------
在昔日的黄昏山脉,陆奥帝国的北境边界上,有传说中的’炼狱角斗场’!
鲜血与战斗是角斗士的归宿,金钱与荣耀是角斗士的信仰!
今日,只要【你的队伍】能取得胜利,你将获得一笔够花一百万的财富!
即将随机生成【你的队伍】和【敌人队伍】!’’’)
input(’\n狭路相逢勇者胜,话不投机半句多(按任意键继续…)’)
GAME_START = GAME()
elif message == '2':
import random # 导入随机模块
num = 1
yin_num = 0
shu_num = 0
while num <= 3:
if shu_num == 2 or yin_num == 2:
break
user = int(input('请出拳 0(石头) 1(剪刀) 2(布)'))
if user > 2:
print('不能出大于2的值')
else:
data = ['石头', '剪刀', '布']
com = random.randint(0, 2)
print("您出的是{},电脑出的是{}".format(data[user], data[com]))
if user == com:
print('平局')
continue
elif (user == 0 and com == 1) or (user == 1 and com == 2) or (user == 2 and com == 0):
print('你赢了')
yin_num += 1
else:
print('你输了')
shu_num += 1
num += 1
elif message == '3':
import time
import random
lose_player = 0
lose_enemy = 0
for i in range(3):
print('-' * 10 + '第' + str(i + 1) + '局' + '-' * 10)
hp_player = random.randint(100, 181)
attack_player = random.randint(30, 51)
hp_enemy = random.randint(100, 181)
attack_enemy = random.randint(30, 51)
print('【玩家血量】:', hp_player, '【玩家战力】:', attack_player)
print('【敌人血量】:', hp_enemy, '【敌人战力】:', attack_enemy)
print('-' * 30)
time.sleep(1.5)
while hp_player > 0 and hp_enemy > 0:
hp_player = hp_player - attack_enemy
hp_enemy = hp_enemy - attack_player
print('你发起了攻击,【敌人】剩余血量:', hp_enemy)
print('敌人向你发起了攻击,【玩家】的血量剩余:', hp_player)
print('-' * 30)
time.sleep(1.5)
if hp_enemy <= 0 and hp_player < 0:
print('玩家和敌人同归于尽了!')
elif hp_enemy < 0 and hp_player >= 0:
print('欧耶!敌人被玩家干掉了!')
lose_enemy += 1
elif hp_player < 0 and hp_enemy > 0:
print('悲催,玩家被敌人干掉了!')
lose_player += 1
print('-' * 30)
time.sleep(1.5)
if lose_enemy == 2:
print('【最终结果:玩家获胜!】')
break
elif lose_player == 2:
print('【最终结果:你输了!】')
break
else:
if lose_enemy > lose_player:
print('【最终结果:玩家获胜!】')
elif lose_player > lose_enemy:
print('【最终结果:玩家输了!】')
else:
print('【最终结果:平局】')
else:
print("你是脑残吗?")
message = input("1.是 2.是")
if message == '1':
print("好的")
print("脑残!")
print("看来真傻")
print("说自己是脑残")
print("·……·")
elif message == '2':
print("好吧")
print("我承认你是脑残")
else:
print("你好,脑残!")
print("想退出游戏?")
print("没门")
print("······")
message = input("我好笑吗?")
message = input("你真的很傻")
message = input("你好,傻冒")
message = input("来回答我问题,好吗?")
message = input("你 这 样 的 人 ,就 应 该 让 程 序 员 马 死!!!")
print("……")
print("……")
print("认输了吗?")
print("(可回复“认输了” 和 “不认输”)")
message = input("认了吗?")
if message == '认输了':
print("好吧")
print("祝你好自为之吧,s——")
elif message == '不认输':
print("********")
print("祖安场地")
print("********")
print("专")
print("为")
print("不")
print("守")
print("规")
print("的")
print("人")
print("打")
print("造")
print("你真知道 祖 安 吗")
print("————————————————————————————")
print(" 头条 ")
print( name + "的一家老小死于曹死")
print(" 原因: 找曹 ")
print("———————————————————————————")
print(" 复条 ")
print( name + "一家在医院被J死")
print(" 原因: 想")
print("你好" + name )
print("想好了吗")
print("请 你 好 好 玩 游 戏 !!")
else:
print("你 真 想 玩 程 序 员?")
print("GAME OVER")
print("**"
"**"
"**"
"**"
"**"
"**"
"**"
"**"
"**"
"**"
"**")
print("OVER 个屁!")
print("你个孤儿")
print("你个没妈的孩子")
print("你想啥呢")
print("你要干嘛?")
print("疯了是吗")
print("连个要饭的都不是")
print("nmd")
print("cnm")
print("rn*")
print("s*")
print("二百五")
print("sm")
print("Tmd")
print("你妈怎么教你的你知道吗")
print("不会?")
print("先拖了衣服在大街上跑几圈")
print("想结束游戏")
print("你配吗")
print("您不能做回人?")
print("好吧")
print("我不说了")
elif message == '不玩':
print("GAME OVER")
else:
print("你不应该选别的")
message = input("知道了吗?")
if message == '知道':
message = input("真的知道了吗?")
if message == '知道了':
print("好吧")
print("看来你知道了")
print("重玩游戏吧")
elif message == '不知道':
print("???")
print("玩我呢?")
print("你真行")
print("傻逼")
else:
print("真是一个傻逼")
print("不听劝啊")
print("还选别的")
elif message == '不知道':
print("好吧")
print("真傻X")
print("就 是 不 要 选 别 的!")
else:
print("还……")
print("不要选别的")
print("说你呢")
print("对,就是你这个傻逼")
else:
print(“你不应该选别的”)
print(“ok?”)
还有上面几个代码呢!
内有彩蛋,要有不正确的输入才能激活
本文地址:https://blog.csdn.net/weixin_44665460/article/details/107660881
上一篇: Pygame 外星人入侵(1)
下一篇: 风口中社交电商的社交陷阱