猫史档案馆


【Python作品分享】消灭阿飘

用户:不入了一不入了一查看:0 回复:0 评论:0 创建时间:2022-04-24T09:22:38


【作品展示】

center_image

 

【作品介绍】

随便写写

 

【作品源代码】

import pgzrun,random
#coding=utf-8

WIDTH = 喵0
HEIGHT = 420

bj = 1 #背景
quangko = 'no' #是否有窗口
czzt = 0  #充值状态
jinbi = 120 #金币
kjzt = 'no' #氪金状态
oqs = 'no' #-|
tqs = 'no' # |
sqs = 'no' # |-商店购买状态
fqs = 'no' # |
wqs = 'no' #-|
otsfw = 'no'
喵bz = 'no'
shz = 1 #你的伤害
a = 0
qbg = 'no' #判断钱够不够
player = 0 #玩家人数
gdcsx = 2000 #鬼的初始血量
gx = gdcsx #鬼的血量
gs = 5 #鬼的伤害
xl = 4#你的血量
bxzt = 'no' #补血的状态
yxzt = 'yun' #游戏状态

bg = Actor('背景1.png')
start = Actor('开始.png',[200,325])
shop = Actor('商店.png',[190,200])
sos = Actor('帮助.png',[620,24])
gongao = Actor('公告.png',[620,74])
kejin = Actor('充值.png',[620,125])
fanhui = Actor('返回.png',[560,380])
czmk = Actor('充值摸框.png',[320,210])  
tc = Actor('退出.png',[475,115])
gg1 = Actor('公告1.png',[320,210])  
tc2 = Actor('退出2.png',[475,115])
onep = Actor('1p.png',[320,140])
twop = Actor('2p.png',[320,280])
ycz = Actor("已充值.png",[320,210])
dz = Actor('点赞.png',[240,210])
one = Actor('1.png',[360,210])
oq = Actor('喵1.png',[100,200])
tq = Actor('喵2.png',[320,200])
sq = Actor('喵3.png',[540,200])
fq = Actor('喵4.png',[100,350])
wq = Actor('喵5.png',[320,350])
gui = Actor('鬼.png',[350,185])
xlt = Actor('血量4.png',[540,350])
喵 = Actor('喵.png',[300,370])
xb = Actor('血包.png',[90,360])
oneplayer = Actor('准心一.png',[350,185])
sl = Actor('胜利.png',[320,180])
喵 = Actor('失败.png',[320,180])
twpplayer = Actor('准星二.png',[350,185])

def draw():
    bg.draw()
    if bj == 1:
        start.draw()
        shop.draw()
        sos.draw()
        gongao.draw()
        kejin.draw()
        
    if bj == 4:
        onep.draw()
        twop.draw()
    if bj == 5:
        if yxzt =='yun':
            gui.draw()
            xlt.draw()
            喵.draw()
            fanhui.pos = [600,400]
            fanhui.draw()
            xb.draw()
            oneplayer.draw()
            
            screen.draw.text('The ghost of UP:' + str(gx),
                        center=[540, 20],
                        fontsize=25)
            if player == 2:
                twpplayer.draw()
    if yxzt == 'sl':
        sl.draw()
    if yxzt == '喵':
        喵.draw()
        
    if bj == 2:
        if oqs == 'no':
            oq.draw()
        if tqs == 'no':
            tq.draw()
        if sqs == 'no':
            sq.draw()
        if fqs == 'no':
            fq.draw()
        if wqs == 'no':
            wq.draw()
    if a == 1:
        screen.draw.text('System prompt:The store has been refreshed',
                    center=[270, 200],
                    fontsize=50)
    if qbg == 'yes' :
        screen.draw.text('System prompt:Dont have enough money',
                         center=[300, 200],
                    fontsize=50)
    if bxzt == 'yes':
        screen.draw.text('System prompt:Blood is filling up',
                         center=[300, 200],
                    fontsize=50)
    if bj != 1:
        fanhui.draw()
        if bj != 5:
            fanhui.pos = [560,380]
        if bj == 2 or bj == 5:
            screen.draw.text('Number of gold COINS:'+str(jinbi),
                             center=[100, 20],
                        fontsize=25)
            screen.draw.text('The current damage:'+str(shz),
                             center=[340, 20],
                        fontsize=25)
        
    if quangko == 'yes':
        if czzt == 1:
            czmk.draw()
            tc.draw()
            if kjzt == 'no':
                dz.draw()
                one.draw()
            if kjzt == 'yes':
                ycz.draw()
                
        if czzt == 2:
            gg1.draw()
            tc2.draw()
  
def gaomai(a,s):
    global jinbi,shz,喵bz,喵zzz
    if jinbi > a or jinbi == a:
        jinbi -= a
        shz += s
        喵bz = 'yes'
        a = 1
 

def on_mouse_down(pos):
    global bj,quangko,czzt,kjzt,jinbi,oqs,tqs,sqs,fqs,wqs,qbg,player,xl,bxzt,yxzt,gx,gdcsx
    if quangko != 'yes':
        if shop.collidepoint(pos):
            if bj == 1:
                bg.image = '背景2.png'
                bj = 2
        if start.collidepoint(pos):
            if bj == 1:
                bg.image = '背景4.png'
                bj = 4
        if fanhui.collidepoint(pos):
            bg.image = '背景1.png'
            bj = 1
            yxzt = 'yun'
        if sos.collidepoint(pos):
            if bj == 1:
                bg.image = '背景3.png'
                bj = 3 
                
    if czzt == 0:
        if bj == 1:
            if kejin.collidepoint(pos):
                quangko = 'yes' 
                czzt = 1
                
            if gongao.collidepoint(pos):
                quangko = 'yes' 
                czzt = 2
                
    if tc2.collidepoint(pos):
        quangko = 'no'
        czzt = 0
    if tc.collidepoint(pos):
        quangko = 'no'
        czzt = 0
        
    if quangko == 'yes':
        if czzt == 1:
            if dz.collidepoint(pos):
                kjzt = 'yes'
                jinbi += 1000
                
    
    if bj == 2:
        if oq.collidepoint(pos):
            if oqs == 'no':
                if jinbi >= 120:
                    gaomai(120,10)
                    oqs = 'yes'
                else :
                    qbg = 'yes'
                    
        if tq.collidepoint(pos):
            if tqs == 'no':
                if jinbi >= 300:
                    gaomai(300,30)
                    tqs = 'yes'
                else :
                    qbg = 'yes'
        if sq.collidepoint(pos):
            if sqs == 'no':
                if jinbi >= 400:
                    gaomai(400,50)
                    sqs = 'yes'
                else :
                    qbg = 'yes'
        if fq.collidepoint(pos):
            if fqs == 'no':
                if jinbi >= 1000:
                    gaomai(1000,100)
                    fqs = 'yes'
                else :
                    qbg = 'yes'
                    
        if wq.collidepoint(pos):
            if wqs == 'no':
                if jinbi >= 1200:
                    gaomai(1200,120)
                    wqs = 'yes'
                else :
                    qbg = 'yes'
                    
    if bj == 4:
        if onep.collidepoint(pos):
            bg.image = '背景5.png'
            bj = 5
            player = 1
        if twop.collidepoint(pos):
            bg.image = '背景5.png'
            bj = 5
            player = 2
            
    if bj == 5:
        gx = gdcsx
        xlt.image == '血量4.png'
        xl = 5 
        if xb.collidepoint(pos):
            if jinbi >= 20:
                jinbi -= 20
                xlt.image = '血量4.png'
                bxzt = 'yes'
        oneplayer.pos = [350,185]
        喵.image = '喵.png'
        yxzt = 'yun'
        
def huaxin():
    global  喵bz,sxt,oqs,tqs,sqs,fqs,wqs,a
    oqs = 'no'
    tqs = 'no'
    sqs = 'no'
    fqs = 'no'
    wqs = 'no'
    喵bz= 'no'
    a = 1
    
def acs():
    global a
    a = 0
    
def pc():
    global qbg
    qbg = 'no'

ac = 0
b = 0
def aaa():
    global ac,b
    ac = random.randint(1,8)
    b = random.randint(1,10)
    
def guiyidong():
    global ac,b
    clock.schedule(aaa,0.5)
    if ac == 1:
        for i in range(b):
            if gui.bottom <= 300:
                gui.bottom += 5
                
    if ac == 2:
        for i in range(b):
            if gui.y <= 320 and gui.y >= 30:
                gui.y -= 5
                
    if ac == 3:
        for i in range(b):
            if gui.x >= 30:
                gui.x -= 5
    if ac == 4:
        for i in range(b):
            if gui.x <= 600:
                gui.x += 5

def couxie():
    global xl,yxzt
    if bj == 5:
        yxzt == 'yun'
        xl -= 1
        if xl >= 0:
            xlt.image = '血量' + str(xl) + '.png'

clock.schedule_interval(couxie,25)
def czbx():
    global bxzt
    bxzt = 'no'

def opyd():
    if keyboard.K_W :
        if oneplayer.y >= 10:
            oneplayer.y -= 10
    if keyboard.K_S:
        if oneplayer.y <= 280:
            oneplayer.y += 10
    if keyboard.K_A:
        if oneplayer.x >= 10:
            oneplayer.x -= 10
    if keyboard.K_D:
        if oneplayer.x <= 630:
            oneplayer.x += 10

def tpyd():
    if keyboard.K_UP :
        if twpplayer.y >= 10:
            twpplayer.y -= 10
    if keyboard.K_DOWN:
        if twpplayer.y <= 280:
            twpplayer.y += 10
    if keyboard.K_LEFT:
        if twpplayer.x >= 10:
            twpplayer.x -= 10
    if keyboard.K_RIGHT:
        if twpplayer.x <= 630:
            twpplayer.x += 10
    
 

def sheiji():
    global shz,gx,yxzt
    喵.image = '喵.png'
    a = 1
    if yxzt == 'yun':
        if keyboard.K_SPACE:
            a += 1 
            if a > 2:
                a = 1
            if a == 2:
                喵.image = '开火.png'
            else :
                喵.image = '喵.png'
            if gui.colliderect(oneplayer) and a == 2:
                gx -= shz
                
        if keyboard.K_1:
            a += 1 
            if a > 2:
                a = 1
            if a == 2:
                喵.image = '开火.png'
            else :
                喵.image = '喵.png'
            if gui.colliderect(twpplayer) and a == 0:
                gx -= shz
  
clock.schedule_interval(sheiji,0.3)

def sfxs():
    global xl,gx,yxzt,jinbi,gdcsx
    if gx <= 0:
       yxzt  = 'sl'
       jinbi += 300
       gdcsx *= 1.2
    if xl <= 0:
        yxzt = '喵'
def sfxsno():
    global yxzt
    if yxzt != 'yun':
        clock.unschedule(sfxs)
        
clock.schedule_interval(sfxs,0.08)
clock.schedule_interval(sfxsno,0.08)
        
    
    
def update(): 
    global 喵bz,a,qbg,bj,xl,gs
    if 喵bz != 'no':
        clock.schedule(huaxin,120)
        clock.schedule(acs,3)
    if qbg == 'yes':
        clock.schedule(pc,3)
    if bxzt == 'yes':
        clock.schedule(czbx,3)
    if bj == 5:
        clock.schedule(guiyidong,0.3)
        opyd()
        喵.angle = oneplayer.y - oneplayer.x 
        tpyd()
        

pgzrun.go()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页