猫史档案馆


【Python作品分享】躲避(按上键)【作品秀】

用户:VerymanVeryman查看:0 回复:1 评论:0 创建时间:2022-08-10T16:36:10


【作品展示】

center_image

 

【作品介绍】

感谢观看

 

【作品源代码】

import turtle
from threading import *
import time
global heart

heart=100
def newWorld():
    a=turtle.Turtle() #五角星玩偶
    turtle.tracer(False)
    a.hideturtle()
    a.begin_poly()
    for i in range(5):
        a.forward(50)
        a.left(72)
    a.end_poly()
    a.clear()
    turtle.register_shape('wjx',a.get_poly())
    if heart <=0:
            print('you died,game over!!!')
    aa=turtle.Turtle() #滚动障碍物
    turtle.tracer(False)
    aa.hideturtle()
    aa.begin_poly()
    for i in range(5):
        aa.circle(20)
        aa.left(144)
    aa.end_poly()
    aa.clear()
    turtle.register_shape('mount',aa.get_poly())

def mountRun(): #障碍物自动滚动,左右滚动
    f=1 #方向
    s=True
    turtle.tracer(True)
    while True:
        for i in range(100):
            mt.forward(4*f)
            if mt.distance(c) < 42:
                print('game over!!')
                if heart <=0:
                    print('you died,game over!!!')
                    break
                s = False
                break
        if not s:
            break
        f*=-1

def mountRunLeft(): #障碍物自动滚动,从右向左
    global heart
    s=True
    turtle.tracer(True)
    while True:
        mt.showturtle()
        for i in range(100):
            mt.forward(4)
            if mt.distance(c) < 42:
                if heart <=0:
                    print('you died,game over!!!')
                    break
                else:
                    heart -= 1
                    print('you injured,remaining blood volume:', heart)
                    #s=False
                    #break
        if not s:
            break
        mt.hideturtle()
        mt.goto(-200,-20)

def onUp(): #玩偶跳动

    turtle.tracer(True)
    c.penup()
    c.forward(200)
    c.forward(-200)
    #threadOnUp.join()
def thread_onUp(): #开启玩偶跳动线程
    Thread(target=onUp).start()
    if heart <=0:
        print('you died,game over!!!')

def thread_mountRun(): #开启障碍物滚动线程
    #Thread(target=mountRun).start()
    Thread(target=mountRunLeft).start()
    if heart <=0:
        print('you died,game over!!!')

if __name__=='__main__':
    
    newWorld() #初始化

    c=turtle.Turtle()
    c.shape('wjx')
    c.speed(2)
    c.left(90)
    

    mt=turtle.Turtle()
    mt.shape('mount')
    mt.penup()
    mt.speed(1)
    mt.goto(-200,-20)
        
    ##threadMountRun=Thread(target=mountRun)
    ##threadOnUp=Thread(target=onUp)
    thread_mountRun()

    win = turtle.Screen()    
    win.onkey(thread_onUp, "Up")

    win.listen() # 监听
    win.mainloop()
    if heart <=0:
            print('you died,game over!!!')
            
while True:
    if heart <=0:
            print('you died,game over!!!')
            break

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
星河非昨夜星河非昨夜

我被图片深深吸引到了

点赞0


评论