交互小游戏一个,操作小海龟赶快逃跑吧,要不然被追上就没命了。下面是部分代码预览:
""" 海龟快跑! turtle碰撞检测小游戏。 本程序主要演示如何对两只海龟进行碰撞检测。 """ from turtle import Turtle, Screen screen = Screen() screen.screensize(250, 250) # 调整画布尺寸 screen.bgcolor("black") screen.title("海龟快跑,turtle碰撞检测示例") screen.delay(0) player = Turtle("turtle") player.color("blue") player.penup() player.setposition(250, 250) catcher = Turtle("turtle") catcher.color("red") catcher.penup() catcher.setposition(-250, -250) def k1(): player.forward(10) def k2(): player.left(10) def k3(): player.right(10) def k4(): player.backward(10) def close_window(): screen.bye() def is_collided_with(a, b): """两只海龟的水平和垂直距离都小于10,则认为它们发生了碰撞""" return abs(a.xcor() - b.xcor()) < 10 and abs(a.ycor() - b.ycor()) < 10 def catch_player(): """去“抓“玩家,每隔10毫秒重设方向。""" catcher.setheading(catcher.towards(player)) catcher.forward(min(catcher.distance(player), 1)) if is_collided_with(catcher, player): print('追到你了!(发生了碰撞)') close_window() else: screen.ontimer(catch_player, 10) screen.onkey(k1, "Up") # 按上移方向箭头调用k1函数 screen.onkey(k2, "Left") # 按下移方向箭头调用k2函数 screen.onkey(k3, "Right") # 按右移方向箭头调用k3函数 screen.onkey(k4, "Down") # 按左移方向箭头调用k4函数 screen.listen() # 监听键盘按键 catch_player() screen.mainloop()
如需要查看完整源代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)