turtle做滚动游戏
时间: 2023-08-24 18:06:06 浏览: 88
可以使用Python自带的turtle库来制作滚动游戏。以下是一个简单的滚动游戏的示例代码:
```python
import turtle
import random
# 设置窗口大小
WINDOW_WIDTH = 500
WINDOW_HEIGHT = 500
turtle.setup(WINDOW_WIDTH, WINDOW_HEIGHT)
# 创建玩家角色
player = turtle.Turtle()
player.shape("turtle")
player.penup()
player.goto(-200, 0)
# 创建障碍物
obstacles = []
for i in range(10):
obstacle = turtle.Turtle()
obstacle.shape("square")
obstacle.shapesize(2, 2)
obstacle.color("red")
obstacle.penup()
obstacle.goto(random.randint(300, 800), random.randint(-200, 200))
obstacles.append(obstacle)
# 设置滚动速度
scroll_speed = 5
# 定义移动函数
def move_left():
player.setheading(180)
player.forward(10)
def move_right():
player.setheading(0)
player.forward(10)
# 注册按键事件
turtle.listen()
turtle.onkey(move_left, "Left")
turtle.onkey(move_right, "Right")
# 游戏循环
while True:
# 移动障碍物
for obstacle in obstacles:
obstacle.goto(obstacle.xcor() - scroll_speed, obstacle.ycor())
# 判断碰撞
if player.distance(obstacle) < 40:
print("Game over")
turtle.done()
# 滚动背景
if player.xcor() > WINDOW_WIDTH / 2:
player.goto(-WINDOW_WIDTH / 2, player.ycor())
for obstacle in obstacles:
obstacle.goto(random.randint(300, 800), random.randint(-200, 200))
# 更新画面
turtle.update()
```
在这个示例中,玩家控制一只乌龟,通过左右箭头键移动,避免撞到从右侧不断移动过来的障碍物。当玩家到达窗口的右侧时,背景会滚动,同时障碍物会重新随机生成。
你可以根据需要修改游戏元素的大小、颜色和移动速度等参数,以及添加得分、生命值等功能。
阅读全文