Commit 9bf9454f by BellCodeEditor

save project

parent 1d46395a
apple.png

2.05 KB

bg.png

22.5 KB

body.png

1.4 KB

down.png

2.01 KB

left.png

2.07 KB

File added
import random
class Pokemon:
def __init__(self,name,hp,attack,defense,speed,SA,SD,skill):
self.level = 1
self.name = name
self.hp = hp
self.attack = attack
self.defense = defense
self.max_hp = self.hp
self.speed = speed
self.SA = SA
self.SD = SD
print('玩家您好,您选择的宝可梦是'+str(self.name))
print('宝可梦的血量值为'+str(self.hp))
print('宝可梦的攻击力为'+str(self.attack))
print('宝可梦的防御值为'+str(self.defense))
print('-----------------------------------------------------------')
def combat(self,enemy):
info1 = self.name + '对' +enemy.name + '发动了抓击!'
info2 = enemy.name + '收到了' + str(self.attack*0.25) + '点伤害!'+'防御减免'+ str(enemy.defense*0.2)+'点伤害。'
enemy.hp = enemy.hp - self.attack*0.25 + enemy.defense*0.2
if enemy.hp > 0:
info3 = enemy.name+'剩余'+str(enemy.hp)+'血量!'
info = info1 + info2 + info3
print(info)
else:
info3 = enemy.name+'的hp不足,进入濒死状态.'+self.name+'胜利'
print(info3)
def cure(self,enemy):
self.hp=self.hp+self.hp*0.3
if self.hp > self.max_hp:
self.hp = self.max_hp
print(self.name + '使用了hp药水!hp增加了'+str(self.hp*0.3)+'点,目前的血量为:'+str(self.hp))
def skill1(self,enemy):
for skill1 in range(2):
enemy.hp = enemy.hp - self.SA*0.15 + enemy.SD*0.1
self.hp = self.hp + self.SA*0.05
print(self.name+'使用了技能:寄生种子!'+enemy.name+'被寄生了!')
print('寄生状态生效,'+enemy.name+'受到'+str(self.SA*0.15-enemy.SD*0.1)+'点伤害!'+self.name+'恢复了'+str(self.SA*0.05)+'点hp!')
if enemy.hp > 0:
info = enemy.name+'剩余'+str(enemy.hp)+'血量!'
print(info)
else:
info1 = enemy.name+'的hp不足,进入濒死状态.'+self.name+'胜利'
print(info1)
def skill2(self,enemy):
for skill2 in range(2):
enemy.SD = enemy.SD - self.SA*0.25
enemy.defense = enemy.defense - self.SA*0.25
enemy.hp = enemy.hp - self.SA*0.25 + enemy.SD*0.2
print(self.name+'使用了技能:火花!'+enemy.name+'受到'+str(self.SA*0.25)+'点伤害!'+enemy.name+'减免了'+str(enemy.SD*0.2)+'点伤害!')
print('燃烧状态生效,'+enemy.name+'受到破甲效果,减少'+str(self.SA*0.25)+'点SD和defense属性!')
if enemy.hp > 0:
info = enemy.name+'剩余'+str(enemy.hp)+'血量!'
print(info)
else:
info1 = enemy.name+'的hp不足,进入濒死状态.'+self.name+'胜利'
print(info1)
def skill3(self,enemy):
for skill3 in range(3):
enemy.attack = enemy.attack - self.SA*0.2
enemy.speed = enemy.speed - self.SA*0.3
print(self.name+'使用了技能:水沫'+enemy.name+'受到了虚弱状态!')
print('虚弱状态生效!'+enemy.name+'受到削减攻击和减速效果,减少'+str(self.SA*0.2)+'attack和'+str(self.SA*0.3)+'点速度!')
if enemy.hp > 0:
info = enemy.name+'剩余'+str(enemy.hp)+'血量!'
print(info)
else:
info1 = enemy.name+'的hp不足,进入濒死状态.'+self.name+'胜利'
print(info1)
a = Pokemon('妙蛙种子',45,49,49,45,65,65,'寄生种子')
b = Pokemon('杰尼龟',44,48,65,50,64,43,'水沫')
Cure_Time =0 #治疗次数初始化为0
Skill1_Time = 0
Skill2_Time = 0
Skill3_Time = 0
while True:
print('-'*30)
print(a.name+'hp'+str(a.hp)+b.name+'hp'+str(b.hp))
choice = input('请选择释放技能(1 抓击/2 hp药水/3 寄生种子/4 火花/5 水沫)')
if choice == 'q':
print('战斗结束')
break
elif choice == '1':
a.combat(b)
elif choice == '2':
Cure_Time +=1
if Cure_Time>5:
print('治疗次数用尽请重新选择技能')
continue
else:
a.cure(a)
elif choice == '3':
Skill1_Time += 1
if Skill1_Time > 1:
print('寄生种子次数用尽请重新选择技能')
continue
else:
a.skill1(b)
elif choice == '4':
Skill2_Time+=1
if Skill2_Time > 1:
print('火花技能次数用尽请重新选择技能')
continue
else:
a.skill2(b)
elif choice == '5':
Skill3_Time+=1
if Skill3_Time > 1:
print('水沫技能次数用尽请重新选择技能')
continue
else:
a.skill3(b)
else:
print('请重新输入')
continue
status = random.randint(1,6)
if status == 1:
b.combat(a)
elif choice == 2:
a.cure()
elif choice == 3:
a.skill1(b)
elif choice == 4:
a.skill2(b)
else:
a.skill3(b)
right.png

2.05 KB

import pygame
from pygame import locals
pygame.init()
screen = pygame.display.set_mode((660,480))
background = pygame.image.load('bg.png')
left = pygame.image.load('left.png')
right = pygame.image.load('right.png')
up = pygame.image.load('up.png')
down = pygame.image.load('down.png')
body = pygame.image.load('body.png')
food = pygame.image.load('apple.png')
while True:
for event in pygame.event.get():
if event.type == locals.QUIT:
exit()
screen.blit(background,(0,0))
screen.blit(right,(240,120))
screen.blit(body,(180,120))
screen.blit(body,(180,90))
screen.blit(body,(210,120))
screen.blit(food,(360,300))
pygame.display.update()
\ No newline at end of file
up.png

2.05 KB

Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment