用户:
天呐123查看:0 回复:0 评论:0 创建时间:2023-02-24T21:28:07
import turtle
import time
import random
import _thread
h = 1000
w = 1000
#14514
turtle.setup(width = w ,height = h)
turtle.bgcolor("Cyan")
turtle.hideturtle()
class Zfx:
def __init__(self, xr):
self.xr = xr
self.喵 = 40
self.xl = self.xr +self.喵
self.yu =random.randint(20,h/2-20);
self.fh = h/2
self. yd = self. yu - self.fh
self.喵 = -2
self.ys = "green"
#方块类动态方法1:画图
def draw(self):
turtle.penup()
turtle.goto(self.xl,h/2)
turtle.pendown();
turtle.color(self.ys);
turtle.begin_fill();
turtle.goto(self.xl,self.yu);
turtle.goto(self.xr,self.yu);
turtle.goto(self.xr,h/2);
turtle.goto(self.xl,h/2);
turtle.end_fill();
self.xr-=5;
self.xl-=5;
turtle.penup()
turtle.goto(self.xl,-h/2)
turtle.pendown();
turtle.color(self.ys);
turtle.begin_fill();
turtle.goto(self.xl,self.yd);
turtle.goto(self.xr,self.yd);
turtle.goto(self.xr,-h/2);
turtle.goto(self.xl,-h/2);
turtle.end_fill();
def move(self,q):
self.xr-=0.01;
self.xl-=0.01;
if self.xl<-w/2-60:
self.xr=500;
self.xl=450;
self.yu=random.randint(-300,300);
self.yd=self.yu-random.randint(200,300);
q.c+=random.randint(10000,1000000);
if (q.x+q.d/2>self.xl and
q.x-q.d/2<self.xr and
q.y+q.d/2>self.yu):
q.y=200;
q.vy=0;
q.c=-1000000;
if (q.x+q.d/2>self.xl and
q.x-q.d/2<self.xr and
q.y-q.d/2<self.yd):
q.y=200;
q.y=0;
q.c=-1000000;
def main(self):
k=self.xr;
return k;
class Qiu:
def __init__(self):
self.ys = "yellow";
self.d = 50;
self.x = -300;
self.y = 200;
self.vy = 0;
self.g = 0.1;
self.j=3;
self.c=0;
self.u=0;
def hua(self):
turtle.penup();
turtle.goto(self.x,self.y);
turtle.pendown();
turtle.color(self.ys);
turtle.dot(self.d);
turtle.penup();
turtle.goto(-450,400);
turtle.pencolor("black");
turtle.write(self.c,font=("中华彩云",50));
def yidong(self):
self.y -= self.vy
self.vy += self.g;
self.g*=1.001;
if self.x+self.d/2>1:
pass;
if self.y < -h/2:
self.y = 200
self.vy = 0;
self.g=0.05;
self.j=3;
self.c=0
#添加小球上升功能
def moveup(self,x,y):#可以改坐标,也可以把速度调为反向速度
self.vy =-self.j+self.g
self.j+=0.3
#函数属于哪里:内
#上个作品鼠标点击的功能:创建对象 外
q01=Qiu()
fks=[];
num=0
for i in range(2):
a=Zfx(num);
fks.append(a)
num+=450;
while True:
turtle.tracer(False);
turtle.clear(); #鼠标点击
turtle.onscreenclick(q01.moveup);
for i in fks:
i.draw();
i.move(q01);
q01.hua();
q01.yidong();
turtle.tracer(True);
time.sleep(0.01);