芮瑶学编程-绘制红绿灯

import turtle

turtle.speed(0)
# 绘制灯箱
turtle.pensize(5)
turtle.forward(100)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(200)
turtle.left(90)

# 绘制第一个灯,红灯
turtle.penup()
turtle.goto(50,200-35)
turtle.pendown()
turtle.dot(50,"red")

# 绘制第二个灯,黄灯
turtle.penup()
turtle.goto(50,200-95)
turtle.pendown()
turtle.dot(50,"yellow")

# 绘制第三个灯,绿灯
turtle.penup()
turtle.goto(50,200-155)
turtle.pendown()
turtle.dot(50,"green")

# 写字
turtle.penup()
turtle.goto(0,-60)
turtle.pendown()
turtle.write("交通灯",font=("Arial",20,"normal"))

turtle.hideturtle()

turtle.done()

 

继续优化,可以加上倒计时,模拟十字路口,红灯停绿灯行黄灯等一等的效果

import turtle
import time

turtle.speed(0)
turtle.hideturtle()

# 写字
turtle.penup()
turtle.goto(0,-60)
turtle.pendown()
turtle.write("交通灯",font=("Arial",20,"normal"))
turtle.penup()
turtle.goto(0,0)
turtle.pendown()



# 绘制灯箱
turtle.pensize(5)
turtle.forward(100)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(200)
turtle.left(90)

# 绘制第一个灯,红灯
turtle.penup()
turtle.goto(50,200-35)
turtle.pendown()
turtle.dot(50,"red")

# 等待5秒,红灯灭
time.sleep(5)
turtle.penup()
turtle.goto(50,200-35)
turtle.pendown()
turtle.dot(50,"white")


# 绘制第二个灯,黄灯
turtle.penup()
turtle.goto(50,200-95)
turtle.pendown()
turtle.dot(50,"yellow")

# 等待2秒,黄灯灭
time.sleep(3)
turtle.penup()
turtle.goto(50,200-95)
turtle.pendown()
turtle.dot(50,"white")


# 绘制第三个灯,绿灯
turtle.penup()
turtle.goto(50,200-155)
turtle.pendown()
turtle.dot(50,"green")



turtle.done()

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是一个简单的Python代码,可以绘制一个根据时间变化的红绿灯图像: ``` import pygame from pygame.locals import * # 初始化Pygame pygame.init() # 设置窗口尺寸 window_size = (200, 400) screen = pygame.display.set_mode(window_size) # 定义红绿灯颜色 red = (255, 0, 0) yellow = (255, 255, 0) green = (0, 255, 0) # 定义灯的半径和间隔 radius = 50 gap = 20 # 定义当前灯的状态,0为绿灯,1为黄灯,2为红灯 light_state = 0 # 定义计时器 timer = 0 # 游戏循环 while True: # 处理事件 for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() # 计时器增加 timer += 1 # 根据时间变化改变灯的状态 if timer < 60: light_state = 0 elif timer < 80: light_state = 1 else: light_state = 2 timer = 0 # 填充背景色 screen.fill((255, 255, 255)) # 绘制红灯 if light_state == 2: pygame.draw.circle(screen, red, (window_size[0] // 2, radius + gap), radius) else: pygame.draw.circle(screen, (128, 0, 0), (window_size[0] // 2, radius + gap), radius) # 绘制黄灯 if light_state == 1: pygame.draw.circle(screen, yellow, (window_size[0] // 2, radius * 2 + gap * 2), radius) else: pygame.draw.circle(screen, (128, 128, 0), (window_size[0] // 2, radius * 2 + gap * 2), radius) # 绘制绿灯 if light_state == 0: pygame.draw.circle(screen, green, (window_size[0] // 2, radius * 3 + gap * 3), radius) else: pygame.draw.circle(screen, (0, 128, 0), (window_size[0] // 2, radius * 3 + gap * 3), radius) # 更新屏幕 pygame.display.update() ``` 这个代码使用了Pygame库来进行窗口绘制,根据计时器的变化来改变灯的状态,并且绘制不同颜色的圆形来表示红、黄、绿灯的状态。你可以根据需要进行调整,比如改变计时器的时间间隔,改变灯的尺寸和颜色等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子龙烜

坦克大战系列,手把手带你实现

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值