## 点击气球消失的游戏
from turtle import * ## 海龟绘图
from random import randrange,choice
####### 定义变量
balloons = []
# aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, orange, purple, red, silver, teal, white, yellow。
color_option = ['red','blue','aqua','pink','black','green','purple','yellow','orange','silver']
size = 50
####### 自定义函数
def squre(x,y,size,color_name):
up()
goto(x,y)
down()
color(color_name)
begin_fill()
forward(size)
left(90)
forward(size)
left(90)
forward(size)
left(90)
forward(size)
left(90)
end_fill()
# 画绳子的函数
def line(x,y,a,b,line_width=1,color_name='black'):
up()
goto(x,y)
down()
color(color_name)
width(line_width)
goto(a,b)
def draw():
clear()
for n in range(1,len(balloons)+1): # 倒序遍历,这样点击的时候在上面的气球才能消失
#先画线 气球可以盖住圆心
line(balloons[-n][0],balloons[-n][1] , balloons[-n][0],balloons[-n][1]-size*2, 2,'black')
up() #抬起笔开始
goto(balloons[-n][0],balloons[-n][1])
dot(size,balloons[-n][2]) #直径颜色
balloons[-n][1] = balloons[-n][1]+1 #气球上升 y坐标+1
update()
def gameLoop():
#五十分之一的概率被生成气球
if randrange(0,50) == 1:
#气球的x坐标
x = randrange(-200 +size,200-size)
c = choice(color_option) #choice从队列中随机选择一个
balloons.append([x,-200-size,c])
draw()
ontimer(gameLoop,20)
def distance(x,y,a,b):
#勾股定理 计算鼠标位置和圆心的距离 0.5 表示开个根号
return ((x-a)**2 + (b-y)**2) ** 0.5
def tap(x,y):
#鼠标的位置 和每个气球进行比较
for n in range(len(balloons)):
if distance(x,y,balloons[n][0],balloons[n][1]) < (size/2): # 是否小于半径
balloons.pop(n)
return
####### 主程序
setup(420,420,0,0) # 创建画布
hideturtle() ## 隐藏箭头 路径
tracer(False) ## 不延时
listen()
onscreenclick(tap)
gameLoop()
done()
python简单游戏——打气球
最新推荐文章于 2024-07-16 17:30:00 发布
这是一个使用Python和turtle库编写的简单游戏,玩家通过点击屏幕上的气球,气球会随之消失。游戏每20毫秒随机生成一个气球,颜色和位置各异,并会上升。当鼠标点击到气球时,该气球将从屏幕上移除。游戏循环不断进行,直至所有气球被消除。
摘要由CSDN通过智能技术生成