用户:
光影炫查看:0 回复:1 评论:0 创建时间:2021-03-01T13:35:29
【作品展示】

【作品介绍】
↑↓→←操控红球,如果比别的球大可以吞噬它,否则要躲别的球
【作品源代码】
#导入turtle库
import turtle
import time
import random
#创建窗口工具
ms=turtle.Screen()
ms.title('球球对决')
ms.setup(1200,800)
ms.bgcolor('black')
ms.tracer(0)
#绘制角色
sam = turtle.Pen()
sam.shape('circle')
a=0.8
sam.shapesize(a)
sam.fillcolor('red')
sam.pencolor('orange')
sam.penup()
sam.goto(-250, 250)
sun = turtle.Pen()
sun.shape('circle')
b=1.8
sun.shapesize(b)
sun.fillcolor('yellow')
sun.pencolor('lightgreen')
sun.penup()
sun.goto(-50, 119)
ball = turtle.Pen()
ball.shape('circle')
c=2
ball.shapesize(c)
ball.fillcolor('pink')
ball.pencolor('purple')
ball.penup()
ball.goto(265, -54)
snow = turtle.Pen()
snow.shape('circle')
d=0.7
snow.shapesize(d)
snow.fillcolor('white')
snow.pencolor('white')
snow.penup()
snow.goto(-120, 21)
ms.update()
writer = turtle.Pen()
writer.penup()
writer.goto(-450, 350)
o=ms.numinput('难度选择','1.普通 2.简单 3.困难 4.超难 5.炼狱 6.即将开启',maxval=5,minval=1)
#设置player的值为True
player=True
#开始喵循环
while player:
def left():#角色用↑←↓→控制
sam.setheading(180)
sam.forward(o+1)
ms.listen()
ms.onkeypress(left,'Left')
def right():
sam.setheading(0)
sam.forward(o+1)
ms.listen()
ms.onkeypress(right,'Right')
def up():
sam.setheading(90)
sam.forward(o+1)
ms.listen()
ms.onkeypress(up,'Up')
def down():
sam.setheading(270)
sam.forward(o+1)
ms.listen()
ms.onkeypress(down,'Down')
#除自己的角色外,其他角色开始追自己角色
sun.setheading(sun.towards(sam))
sun.forward(o -0.6)
ball.setheading(ball.towards(sam))
ball.forward(o - 0.7)
snow.setheading(snow.towards(sam))
snow.forward(o-0.4)
ms.update()
time.sleep(0.01)
#当球碰到一起时,大的球会把小球吃掉
sam.shapesize(a)
sun.shapesize(b)
ball.shapesize(c)
snow.shapesize(d)
#自然增加重量
a=a+o - 0.9999*o
b=b+o - 0.99995*o
c=c+o - 0.99992*o
d=d+o - 0.99996*o
#在屏幕上写出自己的重量
q=round(a) #四舍五入a
writer.pencolor('red')
writer.hideturtle()
writer.write(f'重量:{q}公斤',font=('思源黑体',25))
time.sleep(0.01)
writer.clear()
#判断条件
if sam.distance(snow.xcor(),snow.ycor())<5:
snow.goto(random.randint(-600,600),random.randint(-400,400))
d=a - 0.1
a=a+(0.1)
if sam.distance(sun.xcor(),sun.ycor())<5 and a>b:
sun.goto(random.randint(-600, 600), random.randint(-400, 400))
b = a+1
a=a+(0.3)
if sam.distance(sun.xcor(), sun.ycor()) < 5 and a < b:
player=False
writer.write(f'你输了,你的重量是{q}公斤',font=('思源黑体',25))
if sam.distance(ball.xcor(), ball.ycor()) < 5 and a > c:
ball.goto(random.randint(-600, 600), random.randint(-400, 400))
c = a+1.3
a = a+(1)
if sam.distance(ball.xcor(), ball.ycor()) < 5 and a < b:
player = False
writer.write(f'你输了,你的重量是{q}公斤', font=('思源黑体', 25))
if ball.distance(sun.xcor(), sun.ycor()) < 5 and b > c:
ball.goto(random.randint(-600, 600), random.randint(-400, 400))
c = a+1.3
if ball.distance(sun.xcor(), sun.ycor()) < 5 and b < c:
sun.goto(random.randint(-600, 600), random.randint(-400, 400))
b = a+1
if ball.distance(snow.xcor(), snow.ycor()) < 5 and c > d:
snow.goto(random.randint(-600, 600), random.randint(-400, 400))
d = a - 0.1
if ball.distance(snow.xcor(), snow.ycor()) < 5 and c < d:
ball.goto(random.randint(-600, 600), random.randint(-400, 400))
c = a+1.3
#结束程序
turtle.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn