【Turtle合集】火遍抖音的五款魔法阵终于被我找到了(初代萌王,童年的小樱回来了)

149 篇文章 19 订阅
33 篇文章 27 订阅

导语

小编在昨天看了一个非常好玩的充电器,就是魔法阵充电器。这种感觉,完全是满满的中二气

息啊。魔法阵开启!哈哈哈(感觉有点儿幼稚,但是还挺有趣的)

魔法阵一直都出现在小说、动漫、电影、电视剧中,是能够施展强大咒力的神圣空间,也是能

承受更多魔法的阵法。阵法不同作用不同,我们看过的常见的一般都是释放魔法、召唤某些圣

兽、魔物、时空转移等等,看起来都非常酷炫。其中,有一部动漫记忆深刻《魔法小樱》,嘻

嘻,有多少人是和我一样,看着《魔法小樱》长大的呢?(感觉暴露了年龄)

那今天小编就带大家来看看各种不一样的《百变魔法阵》这是一个合集(多份源码)啦!

正文

”隐藏着星星力量的钥匙啊,在我面前显示你真正的力量。曾与你定下约定的小樱命令你,解除

封印!“噗~少女心+中二气息扑面而来。

一、零级魔法阵

1)效果展示

2)代码展示

import turtle as tr
import numpy as np
import math

__radiusBig = 360  # 大圆
__radiusSmall = 340  # 小圆


def circle():
    """
    绘制外圈的两个圆,半径分别为__radiusBig,__radiusSmall
    """
    # 修改画笔粗细
    tr.pensize(2)

    # 画大圆
    tr.penup()
    tr.right(90)
    tr.forward(__radiusBig)
    tr.left(90)
    tr.pendown()  # 将圆形放置于画布中心
    tr.circle(__radiusBig)
    # 画小圆
    tr.penup()
    tr.right(90)
    tr.backward(__radiusBig - __radiusSmall)
    tr.left(90)
    tr.pendown()  # 将圆形放置于画布中心
    tr.circle(__radiusSmall)


def repeat(repeatNum):
    """
    绘制重复部分
    """
    # 修改画笔粗细
    tr.penup()
    tr.right(90)
    tr.backward(__radiusSmall * 2)
    tr.right(90)
    tr.pendown()
    radius = __radiusSmall
    for num in range(repeatNum):

        tr.pensize(2 / (num + 1))

        # 计算五角星边长(np.square:取平方,math.radians:度转弧度)
        pentagramLen = np.sqrt(
            np.square(radius) * 2 - np.square(radius) * 2 * math.cos(math.radians(144)))

        # 计算缩小值
        shrink = np.sqrt(np.square(radius) + np.square(radius * math.sin(math.radians(144))) -
                         2 * radius * radius * math.sin(math.radians(144)) * math.cos(
            math.radians(54)))

        # 从顶部开始绘制五边形
        tr.circle(radius, steps=5)  # 半径为radius圆的内切正steps边形

        # 绘制五角星
        tr.penup()
        tr.right(108)
        tr.pendown()
        for i in range(5):
            tr.right(144)
            tr.forward(pentagramLen)

        # 画圆
        tr.penup()
        tr.left(18)
        tr.backward(radius - shrink)
        tr.left(90)
        tr.pendown()  # 将圆形放置于画布中心
        tr.circle(shrink, extent=396)  # 绘制半径为shrink,角度为396的圆

        radius = shrink


def main():
    """
    主函数
    """
    tr.screensize(bg="#262626")  # 设置背景颜色
    tr.pencolor('#F8F8FF')  # 修改画笔颜色
    tr.speed(10)  # 加快绘制速度
    tr.hideturtle()  # 隐藏画笔形状
    # 画圆
    circle()
    # 画圆里面的部分
    repeat(15)
    tr.exitonclick()  # 点击画布退出


if __name__ == '__main__':
    """
    程序入口
    """
    main()

3)壁纸合集(1)

二、初级魔法阵

1)效果展示

2)代码展示

import turtle as t
import math

t.screensize(400, 300, 'black')
t.tracer(False)
t.color("yellow")

def a(d=0):
    t.up()
    t.speed(10)
    t.goto(0, -200)
    t.down()
    t.circle(200)
    t.up()

    t.home()

    t.goto(0, -300)
    t.down()
    t.circle(300)
    t.up()

    t.home()

    t.right(90)


    t.left(90)

    n = 0
    while n < 12:
        #print(30*n+d)
        t.right(30*n+d)
        t.forward(200)
        t.down()
        t.forward(100)

        t.up()
        t.home()
        n += 1

    t.home()
    t.left(90)
    t.left(d)
    t.forward(200)

    #六边形
    t.down()
    t.left(180)
    t.left(30) #-------------
    t.forward(345)

    t.right(30)
    t.right(90)
    t.forward(345)

    t.right(90)
    t.right(30) #-------------
    t.forward(345)

    t.up()
    t.home()
    t.right(90) #-------------
    t.forward(200)


    t.home()
    t.left(90)
    t.left(d)
    t.left(180)
    t.forward(200)

    t.right(180)
    
    t.down()
    t.left(30) #-------------
    t.forward(345)

    t.right(30)
    t.right(90) #-------------
    t.forward(345)

    t.right(90)
    t.right(30) #-------------
    t.forward(345)
    t.up()

    t.home()
    t.left(90)
    t.left(d)
    t.left(90)
    t.forward(200)

    t.right(180)
    t.down()
    t.left(30)
    t.forward(345)
    t.right(30)
    t.right(90)
    t.forward(345)
    t.right(30)
    t.right(90)
    t.forward(345)
    t.up()

    t.home()
    t.left(90)
    t.left(d)
    t.left(180+90)
    t.forward(200)
    t.right(180)
    t.down()
    t.left(30)
    t.forward(345)
    t.right(30)
    t.right(90)
    t.forward(345)
    t.right(30)
    t.right(90)
    t.forward(345)
    t.up()
    
    
    t.home()

    t.backward(30)
    t.down()
    t.write("*  *", font=("Microsoft JhengHei", 24))
    t.up()
    

def g():
    n = 0
    while 1:
        if n == 361:
            n = 0
        a(n)
        n+= 1
        t.clear()

g()

3)壁纸合集(2)

三、一级魔法阵

1)效果展示

2)代码展示

import turtle as p
import os
import time as t

p.setup(800,800,0,0)
p.bgcolor(0,0,0)
p.color((0,1,1),(1,1,1))
i=0
p.speed(1)

p.penup()
p.goto(15,0)
p.left(90)
p.pendown()
p.circle(15)

t.sleep(1)

while i<12 :
 p.circle(15,30)
 p.right(90)
 p.fd(5)
 p.bk(5)
 p.left(90)
 i+=1

i=0

t.sleep(1)

p.goto(20,0)
p.circle(20)

t.sleep(1)

p.penup()

p.goto(200,0)
p.pendown()
p.circle(200)
p.goto(195,0)

t.sleep(1)

while i<12 :
 p.circle(195,30)
 p.right(90)
 p.fd(5)
 p.bk(5)
 p.left(90)
 i+=1

i=0

t.sleep(1)

p.penup()
p.goto(0,195)
p.pendown()
p.left(90)

while i<12 :
 p.left(60)
 p.fd(337.7)
 p.bk(337.7)
 p.right(60)
 p.circle(195,30)
 i+=1
i=0

p.penup()
p.goto(0,195/2)

t.sleep(1)

p.pendown()

p.circle(195/2)

p.penup()

p.goto(-160,300)
p.pendown()
p.write('* *',font=('NLXJT',15,'normal'))
p.penup()

p.color((0,0,0),(0,0,0))

3)壁纸合集(3)

​四、二级魔法阵

1)效果展示

2)代码展示

import turtle as t
def tcyuan(x,y,r):
    t.fillcolor("black")
    t.begin_fill()
    t.seth(0)
    y = y - r
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.circle(r)
    t.end_fill()
def yuan(x,y,r):
    t.seth(0)
    y=y-r
    t.penup()
    t.goto(x,y)
    t.pendown()
    t.circle(r)
def yueliang():
    R = 110 -1
 
    r = R - 22 -1
 
    # 月亮填充
    t.penup()
    t.goto(-350+2*R,0)
    t.seth(90)
    t.fillcolor("black")
    t.begin_fill()
    t.circle(R,359)
    t.left(90)
    t.fd(2)
    t.left(90)
    t.circle(-r,359)
    t.left(90)
    t.fd(2)
    t.pendown()
    t.end_fill()
    #轮廓
    yuan(-350 + R, 0, R)
    yuan(-350 + 44 + r - 2, 0, r - 2)
def zhixian(R,r,count,jiaodu):
    t.seth(90+jiaodu)
#    t.goto(0, 0)
    for i in range(count):
        t.penup()
        t.goto(0, 0)
        t.fd(r)
        t.pendown()
        t.fd(R-r)
        t.left(360/count)
def zfx(R,r):
    jiange = 10
#    t.pensize(jiange)
    t.seth(90)
    big = pow((R**2)*2,0.5)
    small = big-2*jiange
    for i in range(13):
        #大线
        t.penup()
        t.goto(0,0)
        t.fd(R)
        t.pendown()
        t.right(135)
        t.fd(big)
        #小线
        t.left(135)
        t.penup()
        t.goto(0, 0)
        t.fd(pow((small**2)/2,0.5))
        t.pendown()
        t.right(135)
        t.fd(small)
        #粗线
        t.pensize(8)
        t.pencolor("black")
        t.left(135)
        t.penup()
        t.goto(0, 0)
        t.fd((R+pow((small ** 2) / 2, 0.5))/2)
        t.pendown()
        t.right(135)
        t.fd((big+small)/2)
        t.pensize(2)
        t.pencolor("yellow")
        t.seth(90+i*30)
    else:
        # 大线
        t.penup()
        t.goto(0, 0)
        t.fd(R)
        t.right(135)
        t.fd(big / 2)
        t.pendown()
        t.fd(big / 2)
        # 小线
        t.left(135)
        t.penup()
        t.goto(0, 0)
        t.fd(pow((small ** 2) / 2, 0.5))
        t.right(135)
        t.fd(small/2)
        t.pendown()
        t.fd(small/2)
        # 粗线
        t.pensize(8)
        t.pencolor("black")
        t.left(135)
        t.penup()
        t.goto(0, 0)
        t.fd((R + pow((small ** 2) / 2, 0.5)) / 2)
        t.right(135)
        t.fd((big + small) / 2/2)
        t.pendown()
        t.fd((big + small) / 2/2)
        t.pensize(2)
        t.pencolor("yellow")
        t.seth(90 + i * 30)
def wjx(r,jiaodu):
    t.fillcolor("black")
    t.penup()
    t.goto(0,0)
    t.seth(90+jiaodu)
    t.fd(r)
    t.pendown()
    t.right(18)
    t.begin_fill()
    for i in range(5):
        t.right(144)
        t.forward(144)
        t.left(72)
        t.forward(144)
    t.end_fill()
    if jiaodu!=0:
        t.seth(90 + jiaodu)
        for i in range(1,6):
            t.penup()
            t.goto(0, 0)
            t.left(72)
            t.pendown()
            t.fd(r)
def xingzuo():
    r = 250
    t.penup()
    t.goto(20,-35)
    t.seth(-45)
    t.fd(r)
    t.pendown()
    xz=['♒','♓','♈','♉','♌','♍','♎','♏']
    for i in range(4):
        t.write(xz[i],font=("", 20, ""))
        t.penup()
        t.right(90)
        t.circle(-300, 30)
        t.left(90)
        t.pendown()
    t.penup()
    t.goto(-r/4+10, 5)
    t.seth(135)
    t.fd(r)
    for i in range(4,8):
        t.write(xz[i],font=("", 20, ""))
        t.penup()
        t.right(90)
        t.circle(-300, 30)
        t.left(90)
        t.pendown()
def dxnb(s):
    t.penup()
    t.fd(-19)
    t.left(90)
    t.fd(2)
    t.pendown()
    t.write(s, font=["KaiTi", 30, "bold"])
def taiyang():
 
    def haicao(r,i):
        # 海藻
        t.fillcolor("black")
 
        t.penup()
        if i==0:
            t.goto(256, r)
        elif i==1:
            t.goto(256-r, 0)
        else:
            t.goto(256, -r)
        t.pendown()
        t.begin_fill()
        t.seth(2+i*90)
        t.circle(r / 2, 105)
        t.left(10)
        t.circle(-r / 3, 90)
        t.circle(r / 3, 60)
        t.left(20)
        t.circle(r / 3, -80)
        t.left(50)
        t.circle(-r + 10, -40)
        t.right(30)
        t.circle(r / 2 + 10, -50)
        t.penup()
        if i == 0:
            t.goto(256, r)
        elif i == 1:
            t.goto(256 - r, 0)
        else:
            t.goto(256, -r)
        t.pendown()
        t.end_fill()
 
 
        t.seth(2 + i * 90)
        t.circle(r / 2, 105)
        t.left(10)
        t.circle(-r / 3, 90)
        t.begin_fill()
        t.circle(r / 3, 60)
        t.left(20)
        t.circle(r / 3, -80)
        t.left(50)
        t.circle(-r + 10, -40)
        t.right(30)
        t.circle(r / 2 + 10, -50)
        t.right(30)
        t.circle(r / 2 - 2, 110)
        t.circle(-r / 3, 70)
        t.left(7)
        t.circle(r / 3, 85)
        t.end_fill()
 
 
        t.penup()
        if i == 0:
            t.goto(256, r)
            t.pendown()
            t.seth(180 - (2 + i * 90))
            t.circle(-(r / 2), 105)
        elif i == 1:
            t.goto(256 - r, 0)
            t.pendown()
            t.seth(- (2 + i * 90))
            t.circle(-(r / 2), 105)
        else:
            t.goto(256, -r)
            t.pendown()
            t.seth(180 - (2 + i * 90))
            t.circle(-(r / 2), 105)
        t.begin_fill()
        t.left(-10)
        t.circle(-(-r / 3), 90)
        t.circle(-(r / 3), 60)
        t.left(-20)
        t.circle(-(r / 3), -80)
        t.left(-50)
        t.circle(-(-r + 10), -40)
        t.right(-30)
        t.circle(-(r / 2 + 10), -50)
        t.end_fill()
 
        t.penup()
        if i == 0:
            t.goto(256, r)
            t.pendown()
            t.seth(180 - (2 + i * 90))
            t.circle(-(r / 2), 105)
        elif i == 1:
            t.goto(256 - r, 0)
            t.pendown()
            t.seth(- (2 + i * 90))
            t.circle(-(r / 2), 105)
        else:
            t.goto(256, -r)
            t.pendown()
            t.seth(180 - (2 + i * 90))
            t.circle(-(r / 2), 105)
        t.pendown()
 
        t.left(-10)
        t.circle(-(-r / 3), 90)
        t.circle(-(r / 3), 60)
        t.left(-20)
        t.begin_fill()
        t.circle(-(r / 3), -80)
        t.left(-50)
        t.circle(-(-r + 10), -40)
        t.right(-30)
        t.circle(-(r / 2 + 10), -50)
        t.right(-30)
        t.circle(-(r / 2 - 2), 110)
        t.circle(-(-r / 3), 70)
        t.left(-7)
        t.circle(-(r / 3), 85)
        t.end_fill()
    def xhaicao(r,i):
        t.penup()
        t.goto(256 + r, 0)
        t.seth(-90)
        t.circle(-r,20)
        t.pendown()
        t.begin_fill()
        t.seth(30)
        t.circle(-r/3,100)
        t.circle(r/6,140)
        t.circle(-r/11,100)
        t.left(80)
        t.circle(-r/2,-30)
        t.circle(r/4,-140)
        t.circle(-r/3,-60)
        t.end_fill()
        t.penup()
        t.goto(256 + r, 0)
        t.seth(-90)
        t.circle(-r, 30)
        t.pendown()
        t.seth(45)
        t.circle(-r / 4, 100)
        t.right(20)
        t.circle(r / 4, 140)
        t.right(10)
        t.circle(-r / 11, 90)
 
        t.penup()
        t.goto(256 + r, 0)
        t.seth(90)
        t.circle(r, 20)
        t.pendown()
        t.begin_fill()
        t.seth(-30)
        t.circle(-(-r / 3), 100)
        t.circle(-(r / 6), 140)
        t.circle(-(-r / 11), 100)
        t.left(-80)
        t.circle(-(-r / 2), -30)
        t.circle(-(r / 4), -140)
        t.circle(-(-r / 3), -60)
        t.end_fill()
        t.penup()
        t.goto(256 + r, 0)
        t.seth(90)
        t.circle(r, 30)
        t.pendown()
        t.seth(-45)
        t.circle(-(-r / 4), 100)
        t.right(-25)
        t.circle(-(r / 4), 140)
        t.right(-10)
        t.circle(-(-r / 11), 90)
    r = 50
    # 海藻
    haicao(r, 0)
    haicao(r, 1)
    haicao(r, 2)
    xhaicao(r,3)
 
    #大三角形
    t.fillcolor("black")
 
    for i in range(1,4):
        temp = 3
        t.penup()
        t.goto(256, 0)
        t.seth(i * 90)
        t.pendown()
        t.begin_fill()
        t.right(22.5)
        t.fd(r)
        if i==1:
            t.goto(256,3*r-temp)
            t.goto(256,0)
            t.seth(i*90+22.5)
            t.fd(r)
            t.goto(256,3*r-temp)
        elif i==2:
            t.goto(256- 3 * r+temp,0)
            t.goto(256, 0)
            t.seth(i * 90 + 22.5)
            t.fd(r)
            t.goto(256-3 * r+temp,0)
        else:
            t.goto(256, -3 * r+temp)
            t.goto(256, 0)
            t.seth(i * 90 + 22.5)
            t.fd(r)
            t.goto(256, -3 * r+temp)
        t.end_fill()
    # 小三角形
    x = pow(((2 * r) ** 2) / 2, 0.5)-8
    for i in range(1,5):
        t.penup()
        t.goto(256, 0)
        t.seth(i * 90)
        t.pendown()
        t.begin_fill()
        t.right(22.5)
        t.fd(r)
        if i==1:
            t.goto(256+x,x)
            t.goto(256,0)
            t.right(45)
            t.fd(r)
            t.goto(256+x,x)
        elif i==2:
            t.goto(256 - x, x)
            t.goto(256, 0)
            t.right(45)
            t.fd(r)
            t.goto(256 - x, x)
        elif i==3:
            t.goto(256 - x, -x)
            t.goto(256, 0)
            t.right(45)
            t.fd(r)
            t.goto(256 - x, -x)
        else:
            t.goto(256 + x, -x)
            t.goto(256, 0)
            t.right(45)
            t.fd(r)
            t.goto(256 + x, -x)
        t.end_fill()
 
    #圆
#    t.begin_fill()
    tcyuan(256,0,r)
#初始化
t.setup(1500,800,0,0)
t.speed(0)
t.bgcolor("black")
t.pencolor("yellow")
t.pensize(2)
#最大的圆
yuan(0,0,350)
yuan(0,0,325)
yuan(0,0,321)
yuan(0,0,306)
zhixian(321,306,72,0)
#小圆
yuan(0,0,204)
yuan(0,0,200)
yuan(0,0,186)
zhixian(200,186,72,0)
#正方形边框以及直线
zhixian(290,213,12,0)
zhixian(248,205,12,15)
zfx(306,204)
#里五角星
wjx(200,36)
#月亮
yueliang()
#太阳
taiyang()
#最小圆
tcyuan(0,328,22)
dxn("北")
tcyuan(0,-328,22)
dxnb("南")
tcyuan(-328,0,22)
dxnb("西")
tcyuan(328,0,22)
dxnb("東")
 
#外五角星
wjx(200,0)
#星座
xingzuo()
t.penup()
t.goto(-500,-500)
t.pendown()
t.done()
 

3)壁纸合集(4)

五、终极魔法阵

这里仅展示效果撒,代码超多滴,需要的文末找我拿哈👇👇

壁纸合集(5)

总结

每日精选各种编程小代码,我们只发精品,拒绝糟粕!嘿嘿,随便给大家分享一些有意思的文

案高以及高清无码的好看的壁纸啦~嗯哼,上面的五款魔法阵绘制完成啦,需要全部的代码滴滴

我撒,都是老规矩,免费给大家滴,然后给我凑个人头撒——记得关注我哦~

老规矩,木子的文章汇总可以看到分类好的各种不同类型的文章,滴滴我大部分源码都在滴。

🎯完整的免费源码领取处:找我吖!文末公众hao可自行领取,滴滴我也可!

🔨推荐往期文章——

项目1.0  玫瑰花(内含多份源码)

【Turtle玫瑰汇总】温柔且浪漫至极——“玫瑰的花期到了“

项目1.1  雪花(内含多份源码)

Turtle系列:下雪了,下雪了、最漂亮的雪景在这里....太美了

项目1.3  魔法少女

我见过的Turtle天花板:居然还能画出魔法少女?我惊了【附源码】

项目 2.1  樱花将灿,冬尽风暖

漫天樱花表白小程序:“樱花将灿,冬尽风暖“一樱花和你我都想念~(内含多份源码)

项目 2.2  源码合集(表白)

Turtle系列:小人发射爱心、文字表白、一箭穿心你想要的都在这个小程序哦~(超值)

🎄文章汇总——

汇总合集  Python—2022 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在✨文章汇总哦!!欢迎阅读喜欢的文章🎉~)

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

顾木子吖

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值