網站首頁 編程語言 正文
一年一度的元宵節剛剛過去,由于時間關系,在元宵節當天晚上11點多才完成本文燈籠的繪制。這兩天又在忙著別的事情,所以現在才跟大家分享。
一、效果展示
在介紹代碼之前,先來看下本文的實現效果。
二、代碼展示
接下來展示繪制燈籠的全量源代碼
import os import pygame import turtle as t ##畫外輪廓 t.title('元宵節字謎燈籠') t.setup(startx=0, starty = 0) #畫燈籠提線 t.penup() t.goto(-50, 180) t.pendown() t.left(100) t.pensize(2) t.color('orangered') t.circle(-15, 80) t.right(140) t.forward(20) #畫燈籠蓋 t.penup() t.goto(-57, 179) t.pendown() t.left(120) t.pensize(1) #t.pencolor('gold') t.pencolor('#fedf08') t.fillcolor('#fedf08') #t.pencolor('orange') t.begin_fill() t.forward(14) t.right(15) t.forward(20) t.right(165) t.forward(52) t.goto(-57, 179) t.end_fill() t.penup() t.goto(-78, 174) t.pendown() t.left(135) t.pencolor('#feb209') t.fillcolor('#feb209') t.begin_fill() t.forward(5) t.left(45) t.forward(47) t.goto(-22, 174) t.end_fill() #紅色的柱子 t.penup() t.goto(-70, 170) t.pendown() t.color('red') t.begin_fill() t.right(90) t.forward(10) t.left(90) t.forward(40) t.left(90) t.forward(10) t.end_fill() def zz(x): t.penup() t.color('#feb209') t.pensize(1) t.begin_fill() t.goto(x, 160) t.forward(10) t.right(90) t.forward(3) t.right(90) t.forward(10) t.right(90) t.forward(3) t.end_fill() t.right(90) zz(-64) #第一根柱子 zz(-55) #第二根柱子 zz(-45) #第三根柱子 zz(-37) #第四根柱子 #棕色的柱子 t.penup() t.goto(-74, 160) t.pendown() t.color('#7f4e1e') t.left(90) t.begin_fill() t.circle(2, 90) t.forward(5) t.left(90) t.forward(52) t.left(90) t.forward(5) t.circle(2, 90) t.forward(50) t.end_fill() #燈籠外殼 t.penup() t.goto(-76, 153) t.pendown() t.begin_fill() t.color('orangered') t.circle(30, 90) t.forward(70) t.circle(30,90) t.forward(52) t.circle(30, 90) t.forward(70) t.circle(30, 90) t.end_fill() #棕色的柱子 t.penup() t.goto(-74, 23) t.pendown() t.color('#7f4e1e') #t.left(90) t.begin_fill() t.circle(2, 90) t.forward(5) t.left(90) t.forward(52) t.left(90) t.forward(5) t.circle(2, 90) t.forward(50) t.end_fill() #黃色的線 t.penup() t.goto(-50, 15) t.pendown() t.left(90) t.color('yellow') t.pensize(1) t.forward(25) #玫紅色的球 t.right(90) t.color('red') t.begin_fill() t.circle(8, 360) t.end_fill() #畫流蘇 t.penup() t.goto(-50, -26) t.pendown() t.begin_fill() t.color('orangered') t.circle(9, 90) t.forward(80) t.left(90) t.forward(18) t.left(90) t.forward(80) t.circle(9, 90) t.end_fill() #畫流蘇中黃色的圈 t.penup() t.goto(-59, -42) t.left(90) t.pendown() t.begin_fill() t.color('#fedf08') t.forward(10) t.left(90) t.forward(18) t.left(90) t.forward(10) t.left(90) t.forward(18) t.end_fill() #中文 t.hideturtle() t.penup() t.goto(-72, 120) t.pendown() t.pencolor('black') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('猜燈謎', font=('Comic Sans', 11, 'normal')) t.penup() t.goto(-87, 91) t.pendown() t.pencolor('black') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('云 蓋 中 秋 月', font=('Times New Roman', 10, 'normal')) t.penup() t.goto(-87, 65) t.pendown() t.pencolor('black') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('雨 淋 元 宵 燈', font=('Times New Roman', 10, 'normal')) t.penup() t.goto(-84, 40) t.pendown() t.pencolor('black') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('(打 一 成 語)', font=('Times New Roman', 10, 'normal')) t.delay(50) def write_1(): #元 t.penup() t.goto(90, 150) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('共', font=('Times New Roman', 18, 'normal')) #宵 t.penup() t.goto(90, 120) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('飲', font=('Times New Roman', 18, 'normal')) #節 t.penup() t.goto(90, 90) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('太', font=('Times New Roman', 18, 'normal')) #快 t.penup() t.goto(90, 60) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('平', font=('Times New Roman', 18, 'normal')) #樂 t.penup() t.goto(90, 30) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('酒', font=('Times New Roman', 18, 'normal')) def write_2(): #元 t.penup() t.goto(150, 150) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('同', font=('Times New Roman', 18, 'normal')) #宵 t.penup() t.goto(150, 120) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('猜', font=('Times New Roman', 18, 'normal')) #節 t.penup() t.goto(150, 90) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('元', font=('Times New Roman', 18, 'normal')) #快 t.penup() t.goto(150, 60) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('宵', font=('Times New Roman', 18, 'normal')) #樂 t.penup() t.goto(150, 30) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('謎', font=('Times New Roman', 18, 'normal')) write_1() write_1() write_1() write_2() write_2() write_2() t.penup() t.goto(-280, -200) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('Happy Lantern Festival !', font=('Times New Roman', 15, 'normal'))
三、拓展
下面將展示帶有背景音樂的繪制燈籠的示例代碼,有需要的可以參考一下
import os import pygame import turtle as t #播放音樂 pygame.mixer.init() pygame.mixer.music.load(r"F:\公眾號\48.元宵節快樂\Sing, R. Sing! - おばちゃ!.mp3") pygame.mixer.music.set_volume(0.5) pygame.mixer.music.play() ##畫外輪廓 t.title('元宵節字謎燈籠') t.setup(startx=0, starty = 0) #畫燈籠提線 t.penup() t.goto(-50, 180) t.pendown() t.left(100) t.pensize(2) t.color('orangered') t.circle(-15, 80) t.right(140) t.forward(20) #畫燈籠蓋 t.penup() t.goto(-57, 179) t.pendown() t.left(120) t.pensize(1) #t.pencolor('gold') t.pencolor('#fedf08') t.fillcolor('#fedf08') #t.pencolor('orange') t.begin_fill() t.forward(14) t.right(15) t.forward(20) t.right(165) t.forward(52) t.goto(-57, 179) t.end_fill() t.penup() t.goto(-78, 174) t.pendown() t.left(135) t.pencolor('#feb209') t.fillcolor('#feb209') t.begin_fill() t.forward(5) t.left(45) t.forward(47) t.goto(-22, 174) t.end_fill() #紅色的柱子 t.penup() t.goto(-70, 170) t.pendown() t.color('red') t.begin_fill() t.right(90) t.forward(10) t.left(90) t.forward(40) t.left(90) t.forward(10) t.end_fill() def zz(x): t.penup() t.color('#feb209') t.pensize(1) t.begin_fill() t.goto(x, 160) t.forward(10) t.right(90) t.forward(3) t.right(90) t.forward(10) t.right(90) t.forward(3) t.end_fill() t.right(90) zz(-64) #第一根柱子 zz(-55) #第二根柱子 zz(-45) #第三根柱子 zz(-37) #第四根柱子 #棕色的柱子 t.penup() t.goto(-74, 160) t.pendown() t.color('#7f4e1e') t.left(90) t.begin_fill() t.circle(2, 90) t.forward(5) t.left(90) t.forward(52) t.left(90) t.forward(5) t.circle(2, 90) t.forward(50) t.end_fill() #燈籠外殼 t.penup() t.goto(-76, 153) t.pendown() t.begin_fill() t.color('orangered') t.circle(30, 90) t.forward(70) t.circle(30,90) t.forward(52) t.circle(30, 90) t.forward(70) t.circle(30, 90) t.end_fill() #棕色的柱子 t.penup() t.goto(-74, 23) t.pendown() t.color('#7f4e1e') #t.left(90) t.begin_fill() t.circle(2, 90) t.forward(5) t.left(90) t.forward(52) t.left(90) t.forward(5) t.circle(2, 90) t.forward(50) t.end_fill() #黃色的線 t.penup() t.goto(-50, 15) t.pendown() t.left(90) t.color('yellow') t.pensize(1) t.forward(25) #玫紅色的球 t.right(90) t.color('red') t.begin_fill() t.circle(8, 360) t.end_fill() #畫流蘇 t.penup() t.goto(-50, -26) t.pendown() t.begin_fill() t.color('orangered') t.circle(9, 90) t.forward(80) t.left(90) t.forward(18) t.left(90) t.forward(80) t.circle(9, 90) t.end_fill() #畫流蘇中黃色的圈 t.penup() t.goto(-59, -42) t.left(90) t.pendown() t.begin_fill() t.color('#fedf08') t.forward(10) t.left(90) t.forward(18) t.left(90) t.forward(10) t.left(90) t.forward(18) t.end_fill() #中文 t.hideturtle() t.penup() t.goto(-72, 120) t.pendown() t.pencolor('black') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('猜燈謎', font=('Comic Sans', 11, 'normal')) t.penup() t.goto(-87, 91) t.pendown() t.pencolor('black') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('云 蓋 中 秋 月', font=('Times New Roman', 10, 'normal')) t.penup() t.goto(-87, 65) t.pendown() t.pencolor('black') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('雨 淋 元 宵 燈', font=('Times New Roman', 10, 'normal')) t.penup() t.goto(-84, 40) t.pendown() t.pencolor('black') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('(打 一 成 語)', font=('Times New Roman', 10, 'normal')) t.delay(50) def write_1(): #元 t.penup() t.goto(90, 150) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('共', font=('Times New Roman', 18, 'normal')) #宵 t.penup() t.goto(90, 120) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('飲', font=('Times New Roman', 18, 'normal')) #節 t.penup() t.goto(90, 90) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('太', font=('Times New Roman', 18, 'normal')) #快 t.penup() t.goto(90, 60) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('平', font=('Times New Roman', 18, 'normal')) #樂 t.penup() t.goto(90, 30) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('酒', font=('Times New Roman', 18, 'normal')) def write_2(): #元 t.penup() t.goto(150, 150) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('同', font=('Times New Roman', 18, 'normal')) #宵 t.penup() t.goto(150, 120) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('猜', font=('Times New Roman', 18, 'normal')) #節 t.penup() t.goto(150, 90) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('元', font=('Times New Roman', 18, 'normal')) #快 t.penup() t.goto(150, 60) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('宵', font=('Times New Roman', 18, 'normal')) #樂 t.penup() t.goto(150, 30) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('謎', font=('Times New Roman', 18, 'normal')) write_1() write_1() write_1() write_2() write_2() write_2() t.penup() t.goto(-280, -200) t.pendown() t.pensize(8) t.pencolor('red') #t.write('猜謎語', font=('Times New Roman', 12, 'normal')) t.write('Happy Lantern Festival !', font=('Times New Roman', 15, 'normal'))
原文鏈接:https://blog.csdn.net/qq_32532663/article/details/122991441
相關推薦
- 2022-09-05 Verilog 之并行,數據類型,操作符號等相關基礎歸納
- 2022-07-29 cypress測試本地web應用_web2.0
- 2022-04-18 python字符串格式化(%格式符和format方式)_python
- 2022-01-10 修改代碼后,刷新頁面沒有更新的解決辦法。Disable cache禁止
- 2022-06-17 Android啟動頁設置及動態權限跳轉問題解決_Android
- 2022-06-04 C++求解二叉樹的下一個結點問題_C 語言
- 2022-03-26 正則表達式詳析+常用示例_正則表達式
- 2022-08-13 從源碼理解SpringBootServletInitializer的作用
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支