python游戏程序中游戏对象是什么_python 面向对象编程 - 小游戏

class Omnicience:

camp = 'Omniscience'

def __init__(self,

name,

atk=100,

hp=1000,

mp=500,

power=500,

lever=1,

atk_growth=2.0,

hp_growth=1.9,

mp_growth=1.2,

power_growth=1.3,

money=1000

):

self.name = name

self.atk = atk * atk_growth ** lever

self.hp = hp * hp_growth ** lever

self.mp = mp * mp_growth ** lever

self.power = power * power_growth ** lever

self.lever = lever

self.money = money

def attack(self, enemy): # 普通攻击技能,enemy是敌人;

damage_value = self.atk - enemy.power*0.05 # 根据自己的攻击力,攻击敌人就减掉敌人的生命值。

enemy.hp -= damage_value

def Sword(self, enemy):

self.mp -= 200

enemy.hp -= 300 * self.lever

class Offscum:

camp = 'offscum'

def __init__(self,

name,

atk=100,

hp=1000,

mp=500,

power=500,

lever=1,

atk_growth=1.3,

hp_growth=1.6,

mp_growth=1.2,

power_growth=2.0,

money=1000

):

self.name = name

self.atk = atk * atk_growth ** lever

self.hp = hp * hp_growth ** lever

self.mp = mp * mp_growth ** lever

self.power = power * power_growth ** lever

self.lever = lever

self.money = money

def attack(self, enemy): # 普通攻击技能,enemy是敌人;

damage_value = self.atk - enemy.power*0.05 # 根据自己的攻击力,攻击敌人就减掉敌人的生命值。

enemy.hp -= damage_value

def xianglong_zhang(self, enemy):

self.mp -= 200

enemy.hp -= 200 * self.lever

class Critters:

camp = 'Critters'

def __init__(self,

name,

atk=10,

hp=100,

mp=50,

power=50,

lever=1,

atk_growth=1.3,

hp_growth=1.6,

mp_growth=1.2,

power_growth=2.0,

money=100):

self.name = name

self.atk = atk * atk_growth ** lever

self.hp = hp * hp_growth ** lever

self.mp = mp * mp_growth ** lever

self.power = power * power_growth ** lever

self.lever = lever

self.money = money

def attack(self, enemy): # 普通攻击技能,enemy是敌人;

damage_value = self.atk - enemy.power # 根据自己的攻击力,攻击敌人就减掉敌人的生命值。

enemy.hp -= damage_value

def xianglong_zhang(self, enemy):

self.mp -= 20

enemy.hp -= 20 * self.lever

class Dagger:

def __init__(self, name='dagger', price=475, atk=9, hp=100, lever=10):

self.name = name

self.price = price

self.atk = atk

self.hp = hp

self.lever = lever

def update(self, obj):

if obj.lever >= self.lever and obj.money >= self.price:

obj.money -= self.price # 减钱

obj.atk += self.atk # 加攻击

obj.hp += self.hp # 加生命值

import random

import time

p_1 = Omnicience('ywy')

boos = Offscum('wq',lever=random.randint(1,10))

npc = Critters('nick')

equipment = Dagger()

while True:

print(f'name:{p_1.name}')

print(f'lever:{p_1.lever}')

print(f'money:{p_1.money}')

print(f'hp:{p_1.hp}')

print(f'mp:{p_1.mp}')

print(f'atk:{p_1.atk}')

print(f'power:{p_1.power}')

print('旅行中..........')

time.sleep(random.random()*10)

meet = random.choice(('boos', 'npc', 'equipment'))

if meet == 'boos':

print('BOOS出现了')

print(f'name:{boos.name}')

print(f'lever:{boos.lever}')

print(f'money:{boos.money}')

print(f'hp:{boos.hp}')

print(f'mp:{boos.mp}')

print(f'atk:{boos.atk}')

print(f'power:{boos.power}')

while boos.hp > 0 and p_1.hp > 0:

print('请选择')

p_1_chiose = input('普通攻击,六脉神剑\n')

if p_1_chiose == '普通攻击':

p_1.attack(boos)

print(f'{p_1.name}使用了{p_1_chiose}攻击了boos')

print(f'boos剩余{boos.hp}hp')

boos_chiose = random.choice(('普通攻击','降龙十八掌'))

print(boos_chiose)

if boos.hp <= 0:

print('boos临死也不放过你')

if boos_chiose == '普通攻击':

boos.attack(p_1)

print(f'{boos.name}使用了{boos_chiose}攻击了{p_1.name}')

print(f'你剩余{p_1.hp}hp')

elif boos_chiose == '降龙十八掌':

if boos.mp >= 200:

boos.xianglong_zhang(p_1)

print(f'{boos.name}使用了{boos_chiose}攻击了{p_1.name}')

print(f'你剩余{p_1.hp}hp')

else:

print(f'傻子boos{boos.name}没有蓝没法使用{boos_chiose}你躲过一劫')

print(f'你剩余{p_1.hp}hp')

elif p_1_chiose == '六脉神剑':

if p_1.mp >= 200:

p_1.Sword(boos)

print(f'boos剩余{boos.hp}hp')

if boos.hp <= 0:

print('boos临死也不放过你')

boos_chiose = random.choice(('普通攻击','降龙十八掌'))

if boos_chiose == '普通攻击':

boos.attack(p_1)

print(f'{boos.name}使用了{boos_chiose}攻击了{p_1.name}')

print(f'你剩余{p_1.hp}hp')

elif boos_chiose == '降龙十八掌':

if boos.mp >= 200:

boos.xianglong_zhang(p_1)

print(f'{boos.name}使用了{boos_chiose}攻击了{p_1.name}')

print(f'你剩余{p_1.hp}hp')

else:

print(f'傻子boos{boos.name}没有蓝没法使用{boos_chiose}你躲过一劫')

print(f'你剩余{p_1.hp}hp')

else:

print('蓝不够')

continue

if p_1.hp <= 0 and boos.hp <= 0:

print('你和boos同归于尽了')

break

elif p_1.hp <= 0:

print('你死了boos赢了')

break

elif boos.hp <= 0:

print('恭喜你通过了')

break

if meet == 'npc':

print('npc出现了')

print(f'name:{npc.name}')

print(f'lever:{npc.lever}')

print(f'money:{npc.money}')

print(f'hp:{npc.hp}')

print(f'mp:{npc.mp}')

print(f'atk:{npc.atk}')

print(f'power:{npc.power}')

while npc.hp > 0 and p_1.hp > 0:

print('请选择')

p_1_chiose = input('普通攻击,六脉神剑\n')

if p_1_chiose == '普通攻击':

p_1.attack(npc)

print(f'{p_1.name}使用了{p_1_chiose}攻击了npc')

print(f'npc剩余{npc.hp}hp')

if npc.hp <=0:

print('nike临死也不放过你')

npc_chiose = random.choice(('普通攻击','鲤鱼打滚'))

if npc_chiose == '普通攻击':

npc.attack(p_1)

print(f'{npc.name}使用了{npc_chiose}攻击了{p_1.name}')

print(f'你剩余{p_1.hp}hp')

elif npc_chiose == '鲤鱼打滚':

if npc.mp >= 200:

npc.xianglong_zhang(p_1)

print(f'{npc.name}使用了{npc_chiose}攻击了{p_1.name}')

print(f'你剩余{p_1.hp}hp')

else:

print(f'傻子npc{npc.name}没有蓝没法使用{npc_chiose}你躲过一劫')

print(f'你剩余{p_1.hp}hp')

elif p_1_chiose == '六脉神剑':

if p_1.mp >= 200:

p_1.Sword(npc)

print(f'npc剩余{npc.hp}hp')

if npc.hp <= 0:

print('nike临死也不放过你')

npc_chiose = random.choice(('普通攻击','鲤鱼打滚'))

if npc_chiose == '普通攻击':

npc.attack(p_1)

print(f'{npc}使用了{npc_chiose}攻击了{p_1.name}')

print(f'你剩余{p_1.hp}hp')

if npc_chiose == '鲤鱼打滚':

if npc.mp >= 200:

npc.xianglong_zhang(p_1)

print(f'{npc}使用了{npc_chiose}攻击了{p_1.name}')

print(f'你剩余{p_1.hp}hp')

else:

print(f'傻子npc{npc.name}没有蓝没法使用{npc_chiose}你躲过一劫')

print(f'你剩余{p_1.hp}hp')

else:

print('蓝不够')

continue

if p_1.hp <= 0 and npc.hp <= 0:

print('你和npc同归于尽了')

break

elif p_1.hp <= 0:

print('你死了npc赢了')

break

elif npc.hp <= 0:

print('你打死了npc')

print('升级1级')

p_1.lever += 1

npc.lever = random.randint(1,100)

p_1 = Omnicience('ywy',lever=p_1.lever)

npc = Critters('nick',lever=npc.lever)

elif meet == 'equipment':

if p_1.lever >= equipment.lever and p_1.money >= equipment.price:

print('碰到装备装备成功')

else:

print('等级不够或者钱不够你与装备有缘无分')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值