猫史档案馆


【Python作品分享】自定义图标+线程【求助帖】

用户:VerymanVeryman查看:0 回复:0 评论:0 创建时间:2022-07-17T14:45:04


【作品展示】

center_image

 

【作品介绍】

改编小恐龙

 

【作品源代码】

import turtle
from threading import *
import time
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())

    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!!')
                s = False
                break
        if not s:
            break
        f*=-1

def mountRunLeft(): #障碍物自动滚动,从右向左
    s=True
    turtle.tracer(True)
    while True:
        mt.showturtle()
        for i in range(100):
            mt.forward(4)
            if mt.distance(c) < 42:
                 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()
    

def thread_mountRun(): #开启障碍物滚动线程
    #Thread(target=mountRun).start()
    Thread(target=mountRunLeft).start()

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()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页